Bernstein,
David
(2011)
The Design and Implementation of Multimedia Software, Jones and Bartlett Learning
, Sudbury, MA.
(Order from
amazon
, order from
Barnes and Noble
, compare at
bigwords
, compare at
CampusBooks4Less
, order from
Chegg
, or search
eFollett
)
and the supplements that are available on-line. The textbook is optional because the lecture materials are almost identical to, though less wordy than, the corresponding chapters in the textbook. Hence, in the past, most students have not found it necessary to read the textbook.
Note that, if you do purchase the textbook, Chapter 3 has been re-written since it was published. So, you should read the version that is available on-line instead.
Readings are listed in the right-most column.
Topics to Understand Completely Before the First Meeting | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Basics | The Programming Process , Classes , Enumerated Types , Exceptions , Custom Exceptions , Specialization , Abstract Classes and Interfaces | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Polymorphism | Through Inheritance and Through Interfaces | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Input/Output (I/O) | File System Basics and I/O Basics | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Reference Types | Objects and Arrays | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Other Topics | Packages and Collections | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Unit Testing | Verification and Testing and JUnit | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Labs to Complete Before the First Meeting | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Eclipse Skills | Editing [Lab] , Debugging[Lab] and Unit Testing (and Coverage)[Lab] | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Part I: Introduction | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
1/17 | Some Background/Review | Ch. 1 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
1/19 | Parameterized Classes/Generics | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Part II: OOP for Multimedia Applications | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
1/22-1/24 | Design Patterns: Iterator , Singleton , Factory-Method , Observer , Composite , Decorator and Strategy | S. 2 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
1/26 | Event-Driven Programs (and a Brief Discussion of GUIs) | Ch. 2 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
1/29-1/31 | A Brief Discussion of Programs | Ch. 3 (v2) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Part III: Static Visual Content | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
2/2-2/7 | Introduction to Visual Content | Ch. 4 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
2/9-2/14 | Sampled Static Visual Content | Ch. 5 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
2/16-2/21 | Described Static Visual Content | Tutorial and Ch. 6 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
2/23-2/26 | A Complete Static Visual Content System | Ch. 7 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
2/28 | Q & A Session | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
3/1 | Mid-Term Exam | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Part IV: Dynamic Visual Content | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
3/4-3/8 | Sampled Dynamic Visual Content | Ch. 8 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
3/18-3/22 | Described Dynamic Visual Content | Ch. 9 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Part V: Auditory Content | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
3/25 | Introduction to Auditory Content | Tutorial and Ch. 10 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
3/27-4/1 | Sampled Auditory Content | Ch. 11 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
4/3-4/5 | Described Auditory Content | Ch. 12 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Part VI: Final Project | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
4/8-4/12 | Team Meetings | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
4/15-4/17 | Presentation of First Increment of the Product | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
4/19-4/26 | Team Meetings | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
4/29-5/1 | Presentation of Final Product | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Part VII: Final Exam | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
5/6 | 75-Minute Final Exam (8:00AM-9:15AM) |
Attendance at lectures is not mandatory but is strongly encouraged. You are expected to come to class prepared to ask and answer questions. Hence, you should complete the readings on a topic before it is discussed in lecture.
The main page for each programming assignment is written for you as a student, and typically includes an overview, instructions, hints/advice, links to resources of various kinds, and links to other documents. The other documents are written for you as a programmer/software engineer, and are similar to the kinds of documents used by professionals (e.g., needs lists, requirements specifications and/or stories, design specifications, test plans, etc...). For more information, see the "Help" page on understanding programming assignments.
Make sure you read and understand all of the policies related to programming assignments. Programming assignments may not be submitted after the due date/time (in other words, you will receive a grade of 0 on any programming assignment that is not submitted on time).
Copyright 2024