diff --git a/README.md b/README.md index 7ed0bfc..d7ee617 100644 --- a/README.md +++ b/README.md @@ -334,6 +334,9 @@ Courses - Algorithms class covering recursion, randomization, amortization, graph algorithms, network flows and hardness. The lecture notes by Prof. Erikson are comprehensive enough to be a book by themselves. Highly recommended! - [Lecture Notes](http://web.engr.illinois.edu/~jeffe/teaching/algorithms/all-algorithms.pdf) - [Labs and Exams](http://web.engr.illinois.edu/~jeffe/teaching/algorithms/all-hwex.pdf) +- [CS 2102](http://web.cs.wpi.edu/~cs2102/b16/index.html) **Object-Oriented Design Concepts** *Worcester Polytechnic Institute* Assignments Lecture Notes Readings + - CS 2102 is an intermediate-level course on program design. CS1101/1102 (How to Design Programs) focused on designing single-task programs for correct behavior. In CS2102, we begin to consider multi-task programs, more complex data, and other design goals—such as maintainability and scalability—without sacrificing correct program behavior. The course examines interactions between data structures, algorithms, invariants, and object-oriented code structure in the pursuit of good program design. All programming in the course is in Java, but the course does not assume prior Java experience. While the course covers certain issues specific to Java and object-oriented programming, the general principles apply broadly to most programming languages. + - [Syllabus, Readings, Assignments, etc](http://web.cs.wpi.edu/~cs2102/b16/syllabus.html) - [CS 2150](https://github.com/aaronbloomfield/pdr) **Program & Data Representation** *University of Virginia* Assignments Lecture Notes - This data structures course introduces C++, linked-lists, stacks, queues, trees, numerical representation, hash tables, priority queues, heaps, huffman coding, graphs, and x86 assembly. - [Lectures](http://aaronbloomfield.github.io/pdr/slides/)