Comp 121 Syllabus
(Subject to change)
GRADING: The breakup of grades is as
follows
- 2 midterm exams: 2 x 15 = 30%
- Several (unannounced) in-class
pop quizzes: 15%
- Several programming assignments: 25%
- Final exam: 30%
In addition, you must obtain a passing grade in the programming
assignments in order to pass this course.
PROGRAMMING ASSIGNMENTS: Barring
documented tragedy, assignments will not be accepted after the due
date. You are not permitted to work in groups: all your work must be
your own, and you must attest to this by a signed statement upon the
cover sheet that must accompany each program submission.
TOPICS TO BE COVERED:
Features of C++, object-oriented programming principles, and features
of the Unix programming environment will be introduced concurrently
with the study of these topics, as appropriate.
- Review of C++
- Introduction to Unix
- Review of program performance
- time and space complexity
- asymptotic notation
- searching (linear vs binary) & sorting (insertion sort vs mergesort)
- the maximum subsequence sum problem
- Lists, stacks and queues
- Binary trees
- Priority queues
- Search trees
- Binary search trees
- balanced binary search trees – AVL trees
- Graphs
- representation
- traversal
- shortest paths