An intense review of the elementary aspects of computer programming using Java, and an introduction to large-scaled software development using top-down design and bottom-up implementation. Topics include dynamically allocated data, object-oriented programming, architecture of memory, inheritance and polymorphism, multi-threaded programming. Techniques for debugging, refactoring, and reviewing code.
Equivalent of one semester of prior programming experience.
Note that this course was recently renumbered from CS 214 to CS 514. Some resources will still use the old course number. Do not be alarmed! CS 214 and 514 are the same course.