Object-Oriented Software Design
Syllabus
Lectures and Readings
- Course Textbook Code and Power Point Presentation Downloads
- In-Class Code Demos
- Introduction to Computer Programming (Java) Course Website
- Week 1 (01/16 - 01/20) : Java Review ; Chapters 1-6
- Week 2 (01/23- 01/27) : Java Review which includes Exception Handling, Files (for Assignment 1), Inheritance, Polymorphism, Abstract Classes and Interfaces; Chapters 7-9, 10.1,10.2, and 14
- Week 3 (01/30- 02/03) : JUnit (see Useful Links section below), Assertions-Testing-Notes , Recursion; Chapter 11
- Week 4 (02/06- 02/10) : Recursion; Chapter 11
- Week 5 (02/13- 02/17) : object-oriented software design and UML. Notes: Chapter 12 and online material (see Useful Links section below)
- Week 6 (02/20- 02/24) : object-oriented software design and UML. Notes: Chapter 12 and online material (see Useful Links section below)
- Week 7 (02/27- 03/02) : Collections Framework (Chapter 16)
- Week 8 (03/05- 03/09) : Exam 1; Exam and Assignments Solution discussion
- Week 9 (03/12- 03/16) : Spring Break
- Week 10 (03/19- 03/23) : Graphic User Interfaces (Chapter 17)
- Week 11 (03/26- 03/30) : Graphic User Interfaces Cont'd (Chapters 17 & 18)
- Week 12 (04/02- 04/06) : Graphic User Interfaces Cont'd and Exam 2
- Week 13 (04/09- 04/13) : Class excused on Monday (Easter break); Applets
- Week 14 (04/16- 04/20) : Ethics in Computing (link) --- ACM Software Engineering Code of Ethics --- Case Study Resources for Ethics in Computing (pdf)
- Week 15 (04/23- 04/27) : Advanced Concepts: Threads, Networking, XML (Chapter 19)
- Week 16 (04/30- 05/04) : Advanced Concepts: Java and XML Parsing; XML(tutorial); XML Parsing using Java API ; Java and XML ; Final Exam Review
Assignments
- Assignment 1 (due Feb.1st) --- Assignment 1 Solution
- Assignment 2 (due Feb.15th) --- Assignment 2 Solution
- Assignment 3 (due Feb.22nd); and Assignment 4 (due Feb.29th)
- Assignment 5 (doc) -- due April. 2nd
- Assignment 6 (html) -- due April. 25th
- Assignment 7 (due May.2nd)
Exams
- Exam 1: Monday, March 5th, 2012
Exam 1 Topics: JUnit, Assertions-Testing-Notes , Recursion (Chapter 11), Object-oriented Software Design (Chapter 12.1), UML ( UML Introduction, UML Class Diagram), and Java Collections Framework (Chapter 16). - Exam 2: Wednesday, April 4th, 2012. Topics: Chapters 16, 17, and 18 (Collections, Swing I, and Swing II). This exam will include both a written portion and also a programming part which will need to be completed using the classroom computers/laptop.
- Final Exam: Wednesday, May 9th, 2012, 8:00 AM - 10:00 AM. Topics: Topics from Exam 1 + Exam 2 + Applets + Ethics in Computing. This exam will include both a written portion and also a programming part which will need to be completed using the classroom computers/laptop.
- Final Exam Programming Component
Useful Links
Java related
- http://introcs.cs.princeton.edu/java/15inout/windows-cmd.html - Installing and setting classpath for Java
- http://www.marquette.edu/mscs/resources.shtml - MSCS student resources (look for Java FAQ)
- http://download.oracle.com/javase/6/docs/api/ - JDK 1.6 API
- http://download.oracle.com/javase/tutorial/index.html - Java Tutorial
- http://realsearchgroup.org/SEMaterials/tutorials/index.php - Eclipse IDE tutorial
- http://www.eclipse.org/downloads/index.php - Download Eclipse IDE
jUnit
- http://www.vogella.de/articles/JUnit/article.html - JUnit tutorial
- http://realsearchgroup.org/SEMaterials/tutorials/junit/junit_tutorial_3.5.html - Unit Testing in Eclipse Using JUnit
- http://junit.org/ - JUnit official webpage
UML
- http://www.ibm.com/developerworks/rational/library/769.html - Introduction to UML
- https://www.ibm.com/developerworks/rational/library/content/RationalEdge/sep04/bell/ - UML Class Diagram
- http://alexdp.free.fr/violetumleditor/page.php - UML Editor - Violet
Ethics in Computing