CSCI 102: Data Structures

Syllabus

Description Issues of the object oriented programming in the design of data structures using C++, with examples. To understand data structures correctly, we need to work on 3 topics at the beginning:

Prerequisites

Familiarity with C++ (at the level of CSCI 101)

Class Organization

The coursework is organized in a pyramid. The book is the base of the pyramid. It contains theoretical concepts, examples and usable code that will be very helpful to all your programming work in this course.

The labs are the next level of the pyramid. They are made to provide you with fundamental programming techniques that are very important to software engineers.

The homeworks will utilize the techniques, and in some cases the code, from the labs. You will use what you learned from the labs in the bigger homework programs. If you neglect to do the labs, you will find the homework assignments much harder to do. It will be difficult to succeed in this class without doing the weekly labs on time.

The tests are the top of the pyramid. You will be expected to know the material from the assigned readings in the book, the labs, and the homeworks.

Grading

5 Homeworks30%
14 Labs20%
3 Tests50%

Labs

Unless otherwise specified, each weekly lab will require a design writeup to be printed/written and turned in at the start of the lab for that week. These are worth 3 points. You cannot get the 3 points unless you turn in your writeup at the proper time.

If you don't finish your lab during your lab session, you can go to a later lab session (Friday 2-4pm is the last one) and demonstrate it to the TAs there. If you don't get your lab graded during the week it is assigned, you will receive a 50% deduction penalty. Labs will only be graded one week late. After that, you will get no points.

Homeworks

There is a deduction penalty for each day an assignment is submitted late. The penalty is:
Days LateTotal Penalty
1 day15%
2 days30%
3 days45%
More than 3 days late - zero points for the assignment.

Grading

Final grade will be as follows: above 95%: A, 90 - 95%: A-, 86 - 90%: B+, 82 - 86%: B, 78 - 82%: B-, 74 - 78%: C+, 70 - 74%: C, 66 - 70%: C-, 62 - 66%: D+, 58-62%: D, 54 - 58%: D-, below 54% is an F.

Examinations

Exams are closed book, and will cover the lectures, readings, labs and programming assignments. There are no makeup exams as they occur during class. Each exam is 1 hour and 20 minutes and is non-comprehensive. The last exam, which is during the scheduled final period for the class, is also not comprehensive.