_____________________________________________________________________________
CMSC
432 – Summer 2009
Object Oriented Programming Languages and Systems
Instructor: Shon
Vick
|
Times: TTh.......6-8:20 |
|
|
Email: vick@umbc.edu |
Classroom:
ITE-239
|
|
|
Office: ITE-226 |
|
|
|
Office Hours: |
After Class |
|
This
class will covers the concepts of object-oriented programming (OOP) languages
and systems including an introduction to fundamental abstraction, modularity and
encapsulation mechanisms in OOP from a software engineering and
representational perspective. Basic OOP concepts covered include: polymorphism
and operator overloading; message passing via generic functions; late versus
early binding times; and inheritance mechanisms and their relationship to the
type systems of programming languages. Other topics include: a survey of OOP
languages and systems; OOP languages versus imperative programming languages;
and contrasting pure OOP environments versus mixed paradigm languages. Concepts
are illustrated through both individual and group programming projects.
Prerequisite: CMSC 331 and CMSC 341
· The Introduction to
Object-Oriented Programming (3rd Edition)
by Timothy
A. Budd, Addison-Wesley, ISBN 0201760312
Optional:
You
may also want to acquire a good Java reference:
The Java Tutorial, Third
Edition,
by Mary Campione, Kathy et al, Addison-Wesley Pub Co;
ISBN: 0201485583, also available online
Core Java 2, Volume 1: Fundamentals (5th Edition) by Cay S. Horstmann,
Gary Cornell
Key Java and Object
Orientation: An Introduction, John Hunt et al ,
Springer Verlag , ISBN 3540762019
Exploring Java , Patrick Niemeyer &
Joshua Peck, O'Reilly & Associates , 1996
Java in a Nutshell , David Flanagan, O'Reilly
& Associates
The Java Programming Language ,
Ken Arnold and James Gosling , Addison-Wesley
Type
|
Component
|
Points
|
Notes
|
|
Online Quizzes
|
2
Online Quizzes
|
10
|
5 points each
|
|
Exams
|
Midterm
(example
from Summer 08)
|
20
|
Take home
|
|
Final
(example
from Summer 08)
|
25
|
Take Home
|
||
Programming
Project
|
P1
|
Group
|
10
|
UML Diagrams
|
P2
|
Group
|
35
|
Full Project
|
|
|
|
Unit |
Topic |
Readings/Notes |
|
|
|
|
1 (5/28) |
Introduction to OOP |
Budd
Chapters 1-2,4-5 |
||
|
2 (6/2) |
OOP Design |
Budd
Chapter 3 |
|||
|
3 (6/4) |
Inheritance |
Notes |
|||
|
Online Quiz #
1 (posted 6/11 due 6/16 ) ◄ |
|||||
|
4 (6/9) |
Reflection |
◊1st
Hybrid Lecture (Reflection)◄ |
Special Topics |
||
|
P1 |
|
||||
|
|
5 (6/11) |
Mechanics (Java) Budd
25 |
|
||
|
Exam
1 (Take Home – see example at link
Due 6/20) |
|
||||
|
6 6/16 |
Design Patterns |
◊ 2nd
Hybrid Lecture (Design Patterns) Budd
24 |
|
||
|
P1 Draft P2 |
7 6/18 |
Distributed
Objects |
Budd 26 |
||
|
Online
Quiz # 2 (posted 6/24) ◄ |
|||||
|
Exam
2 (Take Home – see example at link) |
|
||||
|
8 (6/23) |
Java 1.6 |
|
Advanced Topics |
||
|
9 (6/25) |
The
Difficulty of Black Box Abstraction |
In
class video (As Time Permits) |
|
||
|
P1 Final P2 |
(6/25) (7/2) |
Final / Demonstration |
|||