Objects and Design Summer 2002

Slides:



Advertisements
Similar presentations
Introduction to CS170. CS170 has multiple sections Each section has its own class websites URLs for different sections: Section 000:
Advertisements

Intro to CIT 594
1 Intro to CIT 594 ~matuszek/cit594.html.
General information CSE 230 : Introduction to Software Engineering
CMSC 132: Object-Oriented Programming II
CMSC 132: Object-Oriented Programming II Nelson Padua-Perez William Pugh Department of Computer Science University of Maryland, College Park.
CSE 322: Software Reliability Engineering Topics covered: Course outline and schedule Introduction, Motivation and Basic Concepts.
CSC 171 – FALL 2004 COMPUTER PROGRAMMING LECTURE 0 ADMINISTRATION.
Intro to CIT 594
Introduction COMP104: Fundamentals and Methodology.
Issues in Teaching Software Engineering Virendra C. Bhavsar Professor and Director, Advanced Computational Research Laboratory Faculty of Computer Science.
Welcome to CS 3260 Dennis A. Fairclough. Overview Course Canvas Web Site Course Materials Lab Assignments Homework Grading Exams Withdrawing from Class.
CSE 501N Fall ‘09 00: Introduction 27 August 2009 Nick Leidenfrost.
ITMS3101: Digital Media Introduction and Overview Eng. Mohanned M. Dawoud Software Engineering University of Palestine.
Objected Oriented Programming & Design JAVA Shishir Gupta (704) (704)
Selected Topics in Information Technology Programming Language - JAVA Semester 1/2554.
01 - Course Intro.CSC4071 CSC407S / 2103S Software Architecture & Design Prof. Penny Bahen 5228 Office hours: Wednesdays 10:00 – 11:00.
Lecture 1 Page 1 CS 111 Summer 2013 Introduction CS 111 Operating System Principles Peter Reiher.
Introduction to ECE 2401 Data Structure Fall 2005 Chapter 0 Chen, Chang-Sheng
Introducing Objects in Squeak Mark Guzdial Georgia Tech.
Introduction Fall Dr. Chuck Lillie – Oxendine 1219 – – –
CS-112 Object Oriented Concepts Course Syllabus. Outline  Instructor and Prerequisites  What this course is  Learning outcomes  Degree program outcomes.
Winter 2016CISC101 - Prof. McLeod1 CISC101 Elements of Computing Science I Course Web Site: The lecture outlines.
01 - Course Intro.CSC4071 CSC407S / 2103S ECE450S Software Architecture & Design (ECE: Software Engineering II) Prof. Penny LP396C
1 Computer Science 1021 Programming in Java Geoff Draper University of Utah.
Course Work 2: Critical Reflection GERALDINE DORAN B
Introduction to PAD2 Dr. Mark C. Lewis
Introduction to CSCI 1311 Dr. Mark C. Lewis
CSc 120 Introduction to Computer Programing II
Lecture 00: Introduction
電腦圖學 Computer Graphic with Programming
Course Overview - Database Systems
GRASP – Designing Objects with Responsibilities
CS6501 Advanced Topics in Information Retrieval Course Policy
CSc 1302 Principles of Computer Science II
CSc 020: Programming Concepts and Methodology II
It’s called “wifi”! Source: Somewhere on the Internet!
EECE 315: Operating Systems
Database Design and Implementation
Welcome to GC311 Database Concepts
CSC215 Lecture Orientation.
BIL 104E Introduction to Scientific and Engineering Computing
International Center for Computer Enhanced Learning,
September 27 – Course introductions; Adts; Stacks and Queues
Programming COMP104: Fundamentals and Methodology Introduction.
Ectropic Design: Support for Open Source Development
Welcome to GC311 Database Concepts
Course Overview - Database Systems
cs3724: Introduction to HCI
CSC215 Lecture Orientation.
Introduction to CS II Data Structures
Intro to CIT 594
Midterm Evaluations Results from CELT
Accelerated Introduction to Computer Science
CSC215 Lecture Orientation.
Tonga Institute of Higher Education IT 141: Information Systems
Welcome to Physics 1D03 !.
Course Overview CS 4640 Programming Languages for Web Applications
CS 2530 Intermediate Computing Dr. Schafer
Computer Programming (ECE 201)
Intro to CIT 594
Intro to CIT 594
Introduction To CPSC 233 James Tam Event driven software
Welcome to the First-Year Experience!
Welcome to Intro to C/C++ CISC 192
Tonga Institute of Higher Education IT 141: Information Systems
CS Problem Solving and Object Oriented Programming Spring 2019
Introduction To CPSC 233 James Tam Event driven software
Welcome to the First-Year Experience!
GSP 470/570 Advanced Geospatial Analysis and Modeling
Presentation transcript:

Objects and Design Summer 2002 Introduction to CS2340 Objects and Design Summer 2002

This Semester Instructor: Barbara Ericson, ericson@mindspring.com

Books this Semester Required Text Optional 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 Summer 2002: Build an objects-based drawing editor with ability to output and input a subset of Postscript Lectures are here to provide you with theory, examples, issues BUT DO COME! Huge differences in grades…

Grading Policy 25% Midterm 10% Quizzes (3) 30% Final In-class, open-book, 15-20 minutes 30% Final 35% Project Assignments (5 of them)

Resources CoWeb: http://coweb.cc.gatech.edu/cs2340/ Newsgroup: git.cc.class.2340 TAs hang out there No guarantee of 24-hour coverage, nor late night (nor early morning!) coverage

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 with updates loaded to CoWeb.

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: May 28 (DO IT YOURSELF!) First quiz: May 23 First team milestone: June 13 FAQs, links to external resources, etc. Cases page where any code can be reused without honor code violation! Strongly recommended: Who’s Who page

Project This Semester Drawing Editors M1 (individual): Build a simple drawing editor M2 (team): Make a more powerful drawing editor: More tools, move/erase/resize M3: Design everything M4: Generate and input Postscript M5: Make it a web service

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