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