E-Book Overview
Course is actually three courses in one: • crash course in object-oriented programming • software design in the medium • studio course on team construction of software Emphasis is on design. Programming is included because it's a prerequisite; the project is included because you only really learn an idea when you try and use it. You will learn: • how to design software: powerful abstraction mechanisms; patterns that have been found to work well in practice; how to represent designs so you can communicate them and critique them • how to implement in Java • how to get it right: dependable, flexible software.
E-Book Content
Lecture : Introduction . What ’s About Course is actually three courses in one: · crash course in object-oriented programming · software design in the medium · studio course on team construction of software Emphasis is on design. Programming is included because it’s a prerequisite; the project is included because you only really learn an idea when you try and use it. You will learn: · how to design software: powerful abstraction mechanisms; patterns that have been found to work well in practice; how to represent designs so you can communicate them and critique them · how to implement in Java · how to get it right: dependable, flexible software. Not hacking · how to be an architect, not just a low-level coder · how to avoid spending time debugging . Admin & Policies Course staff intros: · Lecturers: Daniel Jackson and Rob Miller · TAs: you’ll meet in review session next week · LAs: you’ll meet in clusters · Hours: see website. Lecturers don’t have fixed office hours but happy to talk to students: just send email or drop by. Materials: · course text by Liskov; read according to schedule in general info handout · lecture notes: usually published the day of the lecture · ‘Gang of Four’ design patterns