180 likes | 291 Views
Object Oriented Design. Alexander Repenning. Repenning’s Background. Programming: 25 years Built computer hardware & software End-user programming Worked for: Asea Brown Boveri, Hewlet Packard, Apple Computer Inc., Xerox PARC, Martin Marietta. Andri Ioannidou’s Background.
E N D
Object Oriented Design Alexander Repenning
Repenning’s Background • Programming: 25 years • Built computer hardware & software • End-user programming • Worked for: • Asea Brown Boveri, Hewlet Packard, Apple Computer Inc., Xerox PARC, Martin Marietta
Build simulations • Be able to express and communicate complex ideas • Education • History • Math • Music • Geology • Logic • Programming • Art
AgentSheets in India When the Jiva-Java Project started, its 20 secondary students had never used a mouse or seen the Web. Three weeks later, they had created applets (using Agentsheets authorware) and linked them to their own Web pages –Ed Gaible at the Jiva Institute Faridabad, Haryana , India
Out of this World(very distance education) NASA used AgentSheets to simulate an “E.coli in microgravity” experiment aboard the space shuttle Discovery with John Glenn
Real-time tracked buses Simulated person Stops Speech interface
Objectives • Develop sense of what objects are and how they interact with each other • Hands on experience of designing and implementing highly interactive systems (games). • Apply principles of Object Oriented Design • Learn to use UML to represent and communicate OO designs • Learn to work in group: presentation and communication skills • Evolve designs by presenting to larger group • Critique other people’s design • React to other people’s critique
Approach • Build games • WHY? Games… • contain complex interactions between objects and users
Structure of course • 1) Quick Introduction to OOD • What is an object/class/instance/method …? • UML basics • Prototyping • 2) Individual Weekly Game projects • Build simple game, turn in game and UML-based description • 3) Group Projects • Work in groups of 3-5 • Present progress weekly
What this course is not • No handholding about programming • Not very theoretical: the only way to learn about OOD is to build systems and to discuss them with others
Office Hours Instructor Office Hours • Tuesday: 9:30 - 10:30 am • Wednesday: 2:00 - 3:00 pm • Office Location: ECOT 737 TA Office Hours • Thursday 9:30 - 10:30 am • Monday 3:00 - 4:00 pm • Location: the computing lab next to CS-ops in the basement, across the hall from 1B06.
Tools • Rapid Prototyping 2D games: • AgentSheets for Windows/Mac • 3D Games / OpenGL • Java: GL4Java (Windows/Mac/Linux) • Lisp: OpenGL for MCL (Mac: OS9/OS X) • Design/Draw • UML draw OS X
About YOU! • Quick introduction • Name • Experience • Equipment • Have desktop/laptop • Mac/Windows/Unix?
Homework 1 • Send email to ralex@cs.colorado.edu and andri@cs.colorado.edu • Subject: MUST contain “4448” • Content: • Name • What do you want to get out of this course? • What is your background? • Programming languages • Experience (work, research, school)
Textbook • NO required textbook => we use online resources • Depending on projects selected we will recommend additional resources • Bookstore was overeager: PLEASE return the books - sorry