RIT Department of Computer Science
Course Home Page · Syllabus · Resources

CSCI-603 Computational Problem Solving - Syllabus

Catalog Description

This course focuses on the application of computational thinking using a problem-centered approach. Specific topics include: expression of algorithms in pseudo-code and a programming language; elementary data structures such as lists, trees and graphs; problem solving using recursion; and debugging and testing. Assignments (both in class and homework) requiring a pseudo-code solution and implementation in a programming language are an integral part of the course.

Course Outcomes

Contact Information

Section Time and place InstructorOffice hourRoom
1 TR 5:00-6:15 — Zoom Meetings SorkunluTuTh 12:00-2:00pmGOL 3621

SectionSLIRIT emailSLI tutoring hoursRoom
1 Sreevatsa Vadiraj sv6829@g.rit.edu Tuesdays 3pm - 5pm Zoom Meetings

Course Policies


Please see the resources page, http://www.cs.rit.edu/csci603/resources.html for details of tutorials, references, textbooks and other resources.


Letter grades are based on the following scale.

Letter Percentage Range
A 92% or above
A- at least 89% but under 92%
B+ at least 85% but under 89%
B at least 82% but under 85%
B- at least 79% but under 82%
C+ at least 75% but under 79%
C at least 72% but under 75%
C- at least 69% but under 72%
D at least 60% but under 69%
F under 60%

Component Elements Weight Notes
Assignments Component
  Quizzes 20% A 10-minute quiz will be given at the beginning of the first class meeting each week, unless otherwise stated by your instructor. There are no makeup quizzes, but your lowest quiz grade will be dropped.
  Labs 30% Lab assignments will be due at 11:59 PM on Wednesdays unless otherwise stated in the course schedule.
Tests Component
  First Midterm Exam 15% Written (10%); In-lab practical (5%).
  Second Midterm Exam 15% Written (10%); In-lab practical (5%).
  Final Exam 20% 2 hour, comprehensive, written exam, given during the final exam period.

The Course Grade Limit Rule

Note: Your whole course grade may only be at most 10 points more than the average grade of the elements of your worse component.

As a matter of practice, this limit comes into play when the difference between your Assignments and Tests averages is more than about 20%. It has been the experience of the department that a student whose grade difference is this great is having more difficulty than meets the eye with regard to understanding and mastering the material.

Here is an example. Let's say you got a 71% average on the Tests Component elements and a 91% average on the Assignments Component elements. In this case, your course grade would be limited to 81% (a B-), which is 10% above your Tests component grade. (Without the course rule, your final weighted grade would be 71 * .45 + 91 * .55 = 82%, which is a B.)

Grade Appeals

A grade becomes permanent one week after you receive the grade. Grade appeals and questions must be raised in writing(email) within one week after the day on which the grade was received.

Course Format

This course meets for 150 minutes each week. In general, this will mean a 10 minute quiz, 90 minutes of lecture (including the possibility of some in-class exercises) and 50 minutes of group problem-solving. This may vary somewhat from week to week and section to section, so you should be sure to attend class and make sure you are aware of any scheduling changes.

The programming implementation portion of the Lab must be submitted electronically online via the try system. Only one member of each pair should submit the code, but both names must be given on all files submitted.

Lab assignments are due on Wednesday 11:59 PM of the following week. It is your responsibility to submit all work on time. Your lab grade is computed using the scaled sum of all the individual lab assignments.

There are no makeups on Labs that you do not submit, and no late submissions allowed.


The course has three exams: two midterms and one final. The midterm exams each include a written exam, and an individually-completed, in-lab problem-solving exam known as a practical exam. The final exam has only a written component.

The practical examination is a 75 minute, timed test of design, implementation and testing skills. The practical examination takes place in a computing lab. See your instructor for the details of the exam week schedule. Because of room conflicts, different sections may be scheduled differently during exam weeks.

A comprehensive and common final exam is given to all sections at the same time during the regularly scheduled final exam period. The date of the final is typically announced early in the term. You must take the final exam at the time scheduled for your section. Finals are not given early, and there is no makeup exam. The final is comprehensive and covers material from the entire course, including lectures and lab assignments.

Exam Rescheduling

Instructors will reschedule exams only in difficult situations for which there is formal documentation for the situation (e.g. a hospital record) and when the instructor is notified in advance. Sleeping through the exam, cars problems, and similar excuses are not valid reasons for missing an examination and requesting a make-up exam.

Final Exam Conflicts

RIT has several policies on rescheduling to handle final exam conflicts.

A student must submit a written request for final rescheduling to the head of their home department, with a copy of the request given to the instructor(s) affected by the request to provide a rescheduled final exam. We strongly recommend that students first discuss their finals situation with all instructors involved.

Of special relevance are these cases of exam conflicts:

  1. A student is scheduled for two final exams at the same day and time.
    The rules that determine which final exam takes precedence involve the conflicting exam subject and the student's home department. The student must work with both instructors and work with them to resolve the conflict.
  2. A student is scheduled for three or more final exams on the same day.
    In this case, a student may choose not to take three or more final exams in one day.

Getting Help

Students may obtain help from the following sources:

Academic Integrity and Academic Dishonesty

RIT's Academic Honesty Policy (section 18 of the RIT Students Rights and Responsibilities handbook) defines the basic forms of academic dishonesty (cheating, duplicate submission, and plagiarism) and explains the official RIT policy regarding academic dishonesty. Please see the above course policies as to what types of discussions are allowed in this course; all other forms of cooperation or submission of work that is not your own will be considered academic dishonesty.