4003-242: Data Structures for Problem Solving

RIT Department of Computer Science
4003-242: Data Structures for Problem Solving
Links:
[ Home ]--[ MyCourses ]--[ Project ]--[ Resources ]--[ Schedule ]--[ Syllabus ]--[ Sections ]--[ Recitations ]


Syllabus


Course Description

This is the second course in the problem solving sequence required for the undergraduate Computer Science major, and for other majors that require the Computer Science introductory sequence. Its primary goals are to continue students on their journey into problem solving, algorithmic/computational thinking, and basic computer programming and testing. The significant difference from the introductory course is that a larger, more open-ended problem is solved over the term. Solving the project problem will require greater effort from the student in all aspects of solution development and implementation.

Like its predecessor, course delivery will consist of both lectures, as well as problem-solving, studio sessions that provide students with (a) additional hands-on experience in solving problems on paper, individually and in small groups, and (b) guidance on implementing solutions on a computer using a simple high-level programming language.

Credit: 4, Prerequisites: 4003-241 A Problem Based Introduction to CS

Course Web Page: http://www.cs.rit.edu/~vcss242/

Required Text: None

Optional Text: Visual Quickstart Guide, Python, 2nd Ed. by Toby Donaldson. Peachpit Press, 2009.

Course Outcomes

At the end of this course, students will be able to:

Disability Services Office

If you have special needs for seating, tests, note-taking services or other matters such as a disability, please contact Disability Services(www.rit.edu/dso). If you receive approval for accommodation within the course, please contact the instructor as soon as possible so that they can make the necessary arrangements.

Grading Scheme

The grade for the course is based on the following work:

Component Weight Notes
Labs 20% Each of 4 labs is 5% of the course grade.  
Project 25% 5 parts, including both individual and team-based work.
Midterm Exam 25% of course grade 2 hour, written (16% of course grade), plus a 50 minute, in-lab practical (8% of course grade).
Final Exam 25% 2 hour, comprehensive, written final.
Instructor Discretion 5% Includes recitation attendance, class participation, etc. 

The final grade assigned is based on your total grade standing out of a maximum of 100%:
Letter Grade Numeric Range
A 90-100
B 80-89
C 70-79
D 60-69
F 0-59

Grade Appeals

Questions and appeals regarding an item of graded work must be raised within one week of the day on which the grade was received. Otherwise the grade becomes permanent one week after the student received the grade.

Course Format

This course meets for five hours each week. There are two hours of Lecture, two hours of Lab, and one hour of recitation each week.

The first class of the week is a 2 hour lecture with your lecture instructor and is held in a classroom with all students in the class. The lecture instructor is responsible for grading your exams and homework, as well as determining your final grade for the course.

During the first class your lecture instructor will split the class into two groups (A and B). Group A continues the week with a Lab for the next class period, and the last class period of Group A's week is a Recitation. Group B has a Recitation during its second class period and ends their week with a Lab. After the midterm the groups reverse their schedule for Lab and Recitation.

Recitation meets during the second scheduled hour in a classroom and is run by a CS Teaching Assistant (TA). This meeting is designed to reinforce the student's understanding of the material covered in lecture. The TA will normally review the previous week's assignments, provide exercises for practice, and answer questions related to the course.

Recitation is required for all students. The TA takes attendance at Recitation and provides it to the lecture instructor.

Labs meet for two hours each week. The first hour meets in a classroom where students participate in a team problem solving session using pen and paper (i.e. developing algorithms and pseudo code for a particular problem).

The in-lab portion is required for all students. The SLI takes attendance at the lab and provides it to the lecture instructor. Failure to attend the lab portion is subject to a 10 point lab grade reduction.

The second hour of lab may meet in a computer lab where students individually implement the algorithms from the pen and paper exercise. The lecture instructor runs the lab meeting with the assistance of the Student Lab Instructors (SLIs). The SLI is responsible for running and grading the lab portions of the work.

Labs

Labs have team and individual components. The first hour is a problem-solving, studio session where students work in teams to define solutions to problems using pen and paper. Teams present their solutions to one another and their instructor at the end of the hour.

In the second hour, students move to the computer labs to begin implementing solutions individually, with Student Lab Instructors on-hand to offer guidance and clarification. Weekly lab materials will be distributed to students during the problem-solving, studio portion of the lab. It is your responsibility to attend every lab on time. A portion of your grade for labs is based on the team problem-solving exercise.

Instructors will collect the team's pen-and-paper work at the end of the problem-solving, studio session. The programming portion of the lab must be submitted online through a drop box under MyCourses. It is your responsibility to make sure that you submit all work in a timely manner.

You will find the due date for each lab in the MyCourses calendar and on the relevant drop box under MyCourses. Usually a lab assignment has a deadline near the date of the next lab session. For example, a lab might be due at the 2 AM on the Tuesday of the following week. Occasionally there is a longer or shorter deadline. You are responsible for knowing the submission date and delivering the assignment on time.

If you submit a lab to the late lab dropbox, there is a late penalty of 20%. There are no makeups on problem-solving sessions that you miss, and no submissions will be accepted after the late submission date.

Project

Programming projects are a new activity for this course. Students will work in teams on a term-long project to solve a challenging, open-ended problem.

The project is given in parts over the course of the term. Project parts are administered during the lab periods of selected weeks. Like labs, there is a group problem-solving session in a classroom followed by a programming portion in a laboratory. Unlike labs, however, the project is team-based and requires each student to work in a team for the term.

The goal of the project is to have each team deliver their own solution to the problem that meets a certain minimum requirement for full credit. At the end of the term will be a tournament where each team's program competes against other teams' programs to determine an overall winner. The top teams will receive prizes. See the course schedule for the tournament.

Exams

The course has two exams, one midterm and one final. The midterm examination will include both a written exam, and an in-lab, individual problem-solving component (the 'practical'). The final exam has only a written component.

During midterm week there is no new lecture material, homework or lab. Instead, there is a 2 hour written test period, two 1 hour, practical examination periods, and one recitation review period. The practical examination periods are in a computer-based lab and last for 50 minutes. The first group takes the practical during the first scheduled practical period, and the second group takes it for the next scheduled practical period. The TA will conduct a review during the Recitation Session. See the schedule for the details of the exam week schedule.

A comprehensive, written final exam will be given to all sections at the same time during the regularly schedule final exam period. The date of the final is typically announced by the sixth week of the term. You must take the final exam at the time scheduled for your section. Finals are not given early, nor will there be a makeup exam. The final will cover material from the entire course, including lectures, labs and any assigned readings.

RIT recently announced new policies regarding final examinations. Of direct relevance are two cases: (1) a student is scheduled for two final exams at the same time and (2) a student is scheduled for three or more final exams on the same day. In case (1), there are several rules which determine which final exam takes precedence. In case (2), a student has the right to not take three or more final exams in one day. In both cases, by the last day of the sixth week of classes, a student must submit a written request for rescheduling to the head of their home department, with a copy of the request given to the instructor being asked to provide the rescheduled final exam. We strongly recommend that students first discuss their situation with all instructors involved.

Getting Help

Students may obtain help from the following sources:

Examination Rescheduling and Course Withdrawal

Exams will only be rescheduled in the case of difficult situations for which there is formal documentation (e.g. a doctor's note). Oversleeping, cars that don't start, and other, similar excuses are not valid reasons for missing an examination.

RIT policy allows you to withdraw from a course with a grade of W on or before the Friday of the eighth week in the term. After this date, your instructor cannot give you a W, but must assign you a grade based on your work. Incomplete grades will be given only in exceptional circumstances, and only where arrangements have been made with the lecture instructor before the end of the term.

Academic Dishonesty

Students may discuss assignments and projects with others, but all individually submitted writings and code must be created independently by the student and not copied from others or other sources (e.g. web pages).

Team-developed writings and code also must be created solely by the team members and not copied from others or other sources unless with prior instructor approval.

There will be random cheat checking of submitted work. Instructors will gather submitted work and analyze it for similarity. Cheating incidents will be based upon these analyses.

In cases where a student is suspected of cheating or copying material, the instructor will act in accordance with the Department of Computer Science Policy on Academic Integrity. (http://www.cs.rit.edu/programs/academicIntegrity)


updated: Mon Apr 29 09:00:44 EDT 2013