The planned schedule of the course is shown in the table below. The detailed conduct of the course may vary from this plan. The dates of the midterm and final exams are, however, fixed.
Date(s) | Topic |
January 18 | Course Overview, Definition of computer science |
January 20-February 1 | State and Behavior |
February 3 – February 15 | Abstraction: Modeling perspective |
February 17 – February 24 | Relationships |
March 1 | Midterm exam |
March 3 | Return/Review of midterm exam |
March 8-10 | Spring Break |
March 15-17 | Concurrency |
March 23-24 | Abstraction: Engineering perspective |
March 29 – April 7 | Language concepts (lambda calculus) |
April 12-19 | Testing and debugging |
April 21-28 | Data structrures |
May 3 | Review, Course Evaluation |
May 6 (10:05AM-12:05PM) | Final Exam |
Some graded assignments will be clearly identified for completion by teams of, by default two, students. While students are strongly encouraged to work in teams when permitted, a student may complete a team assignment as an individual. All members of a team are expected to contribute equally to the submitted work and will be assigned the same score for the assignment. It should be reported to the instructor if a member of the team who does not fully participate in the team’s work. To increase the benefit of working with people having different perspectives, two individuals may not be on the same team more than three times during the course.
The answers to an assignment should generally be submitted electronically as a PDF document. The document should be sent to the instructor’s email address by the date and time indicated on the assignment. When submitted by a team, the names of all team members must be clearly given.