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