150 likes | 153 Views
Introduction to CS2340. Objects and Design Spring 2001. This Semester. Instructor: Mark Guzdial, guzdial@cc.gatech.edu http://www.cc.gatech.edu/~mark.guzdial/. Computer Supported Collaborative Learning 2002. http://www.cscl2002.org. Books this Semester. Required Text
E N D
Introduction to CS2340 Objects and Design Spring 2001
This Semester • Instructor: Mark Guzdial, guzdial@cc.gatech.edu • http://www.cc.gatech.edu/~mark.guzdial/
Computer Supported Collaborative Learning 2002 http://www.cscl2002.org
Books this Semester • Required Text • Guzdial: Squeak: Object-oriented design with multimedia applications • Optional • Goldberg & Robson: Smalltalk-80: The Language (“Purple Book”) - Addison-Wesley • Guzdial & Rose (Eds): Squeak, Open Personal Computing and Multimedia
Content of Class • Focus on OOA, OOD, OOP • OOA: CRC Cards • OOD: UML Class Diagrams • OOP: Squeak • User interfaces: Building, design, evaluation • Cap of languages focus (follow-on to Languages and Translation)
Structure of Class • You have a major, team-based project • Spring 2001: Build a map of Georgia Tech, based on information harvested from the Web • Eventually, grow it so that you can provide a 3-D tour of an IMAGINARY campus with vocal instructions • Lectures are here to provide you with theory, examples, issues • BUT DO COME! Huge differences in grades…
Grading Policy • 25% Midterm • 10% Quizzes (4) - NEW • 35% Final • 30% Project Assignments (7 of them)
Resources • CoWeb: http://coweb.cc.gatech.edu/cs2340/ • That’s where I’ll be • Newsgroup: git.cc.class.2340 • TAs hang out there • Access when we can...
Where to get Squeak, lecture notes… • On the CoWeb… • We’ll be using Squeak 3.2 (latest version, not what’s on your CD, but what’s on your CD should work.) • Lecture notes are all on the book CD.
On the CoWeb… • Definition of project • Milestones (Turn-ins) - ALL OF THEM • Roughly every two weeks • First one is individualized, all others are team-based • First milestone: Jan 24, individualized • First quiz: Jan 17 • First team milestone: Feb 7 • FAQs, links to external resources, etc. • Strongly recommended: Who’s Who page
Project This Semester • Interactive Maps • P1 (individual): Draw a simple map with routes • P2 (team): Make it interactive with buildings • P3: Design everything • P4, P5: Whole campus and provide routes • P6: Make the map show up in Wonderland (3-D) with user-definable tours • P7: Provide a big tour for an imaginary campus
Philosophy of the Course • The course is on design, for novice designers • If you know UML, Corba, COM, and XP already, great. Most people here don’t. • But there’s a big focus on learning, not just lecturing at you. • So you have to implement your designs — live in them. Figure out where they’re bad • The course isn’t explicitly on programming in Squeak, but implicitly (to get you design feedback), it is. Quizzes will focus on Squeak programming
Why Squeak? • Why not Java? Why not C++? • Marvin Minsky: “If you only know something in one way, you don’t know it at all.” • Faculty agreed that you should see something not C-based • Other reasons: • Great for UI • Different model for programming: Can’t use emacs • All the sources are there for everything
Why this class can be aggravating • It’s not about job skills, per se • No Delphi or Visual Basic here • Few job postings for Squeak these days (but increasing number for Smalltalk) • It’s about ways of thinking that are core to CS, about ways of designing programs • About where the core ideas of computers today came from • It’s about designing, critiquing designs, making tradeoffs, and making choices
Approach of Book (and elsewhere) • Concrete before Abstract • Build things before design them • Learning involves testing and failure • You have to try things in Squeak • Generation and Inquiry, over Transmission • There is no Squeak API • But there are lots of great tools for poking through the system • We'll teach the tools to help you learn how to figure it out for yourself