CS161 is designed to introduce students to object-oriented programming. As with CS160, the course interleaves theory, programming, and architecture concepts as needed to motivate and explain problem solving using object-oriented programming.
The core of the course is explaining objects: how they represent data and how they are defined and used in Java. Fundamental concepts such as inheritance and polymorphism are introduced and explained in the context of programming assignments. Another major programming topic is recursion and its relationship to mathematical induction.
A student completing this course should be able to:
implement object-oriented programs and understand the underlying principles such as encapsulation, abstraction and reuse;
design and build more complex programs (multiple files and multiple objects) by dividing problems into parts that are easily solvable;
and relate concepts from theory to programming and architecture, such as how recursion is programmed and implemented.
This course is essential for majors and other students who intend to use object-oriented programming to solve problems and who intend to write complex software. The course would be useful to any student intending to pursue Computer Science or Information Technology as a career.
|
CS160 or CS153 with a C or better; M124, M126 (both with a C or better).
What | Days | Time | Who | Where |
---|---|---|---|---|
Recitation (L01) | Mon | 11:00am - 12:40am | Thad | COMSC 215 |
Recitation (L02) | Wed | 11:00am - 12:40am | Thad | COMSC 215 |
Recitation (L03) | Wed | 4:00pm - 5:40pm | Rahul | COMSC 215 |
Recitation (L04) | Thu | 2:00pm - 3:40pm | Rahul | COMSC 215 |
Recitation (L05) | Thu | 4:00pm - 5:40pm | Thad | COMSC 215 |
Recitation (L06) | Fri | 10:00am - 11:40am | Thad | COMSC 215 |
Recitation (L07) | Fri | 12:00pm - 1:40am | Rahul | COMSC 215 |
Days | Time | Who | Where |
---|---|---|---|
Mon. | 10:00am - 12:00pm | TBD | COMSC 120 |
Activity | Weight | Description |
---|---|---|
Assignments | 30% | Programming and Theory Homework |
Recitations | 10% | Lab Attendance and Completion |
Quizzes and participation | 10% | Quizzes and participation in class/online |
Midterm 1 | 15% | First Midterm |
Midterm 2 | 15% | Second Midterm |
Final Exam | 20% | Comprehensive Exam |
Letter Grade | Points |
---|---|
A | ≥90% |
B | ≥80% |
C | ≥70% |
D | ≥60% |
F | <60% |
Midterm and Finals: Make-up exams are only given for extraordinary circumstances (e.g., illness, death of family member). Students must consult with the instructor as soon as possible. Examination dates are listed in the syllabus; be aware of them and plan accordingly.
Quizzes: No make-ups will be given for missed quizzes. We drop your lowest score to accommodate excuses.
Recitations: No make-ups will be given for missed recitations. We drop your lowest score to accommodate excuses.
Programming assignments: Programs are submitted electronically. Details of how this is done appears with the first assignment. Always check the schedule page for due dates. The due date will include a day and time. Each assignment starting from assignment 2 will have a regrade period in which you can obtain up to 80% of the total grade for the assignment. This serves instead of a late period.
Written assignments: Written assignments are submitted in class on the due date. There is no late period for written assignments. Handwritten submissions are acceptable, but the handwriting must be legible. The instructors and TAs reserve the right to decide whether or not a paper is legible.
Date | Description |
---|---|
Last day to withdraw | March 25 |
First midterm | Week 6 in recitation |
Second midterm | April 4th (Section 2) April 5th (Section 1) |
Final Exam (Section 1) | May 15 9:40-11:40am |
Final Exam (Section 2) | May 13 9:40-11:40am |
Midterms and the final exam will be held in the same classroom as regular lectures. The final exam is comprehensive.
All students taking this course are expected to participate actively. This includes asking and responding to questions. Students are also expected to check the announcements on the home page of the course web site, and the schedule page every day for any updates.