critical thinking | Thinking like a computer scientist |
design | Understand how to design programs |
programming | Demonstrate the ability to implement these designs |
documentation | Produce accurately documented implementations |
examination | Demonstrate competence in basic programming concepts |
tool usage | Exposure to state-of-the-art development tools |
creativity | Use critical thinking skills and creativity to solve problems |
experimentation | Design scenarios to explain behaviors and demonstrate correctness of programs |
The course is broken into a sequence of modules, each of which has clearly-identified objectives that will be refined (as appropriate) to provide detailed instructions on the desired level of understanding that I am asking of all students.
Module | Dates | Range of Expectations |
Computation | 10/24 - 10/30 | Understand fundamental building
blocks of computations in Java Understand how to validate programs manually Understand how to debug/execute programs |
Composition I | 10/31 - 11/03 | Understand control flow Understand arrays [fixed] Understand how to decompose functions |
Exam 1 | 11/06 | Exam 1 |
Composition II | 11/07 - 11/10 | Understand basis for grouping units together into classes Understand linked lists [dynamic] Understand exceptions Understand JUnit testing standard |
Classification I | 11/13 - 11/20 | Understand inheritance Understand encapsulation Understand polymorphism Understand abstract classes Understand Map concept |
Exam 2 | 11/21 | Exam 2 |
Classification II Amida week |
11/27 - 12/01 | Understand interfaces
Identify key decisions from
requirements [time/space tradeoff] |
Gameboard Project |
12/04 - 12/08 | Identify key decisions from
requirements Select core abstractions and identify extensions via subclassing Develop framework designed to support core requirements Validate extensibility of framework Implement solution Validate solution through JUnit standard |
Big Picture Review | 12/11 - 12/12 | From Design Recipes to Design
Principles From Design Principles to Design Patterns |
Exam 3 | 12/14 | Exam 3 |
Another way to view the course material is shown in the Topic Map for the course now available.