Visual Programming II and Object Oriented Design
Class: M/W/F 10–10:50am, LSB 212
Instructor: Henry Feild, Ph.D.
Office Hours: M/W/F 11am–12pm; Th. 10–11am in LSB 113.
Books
- Java: The complete reference (9th ed). Schildt, 2014. ISBN-13 978-0071808552.
- The Object Oriented Thought Process (4th ed). Weisfeld, 2013. ISBN-13 978-0321861276
Schedule
All readings (e.g., Ch. 1) are for the Weisfeld book, The Object Oriented Thought Process. Unless otherwise noted, all readings, homework, and projects are due by the beginning of class on the day listed.
Date | Topic | Monday | Wednesday | Friday |
---|---|---|---|---|
Jan. 26, 28, 30 | Java basics | — | Ch. 1 + HW1 | MP1 |
Feb. 2, 4, 6 | GUI builder | Quiz 1 | Ch. 2 & 3 + HW2 | MP2 |
Feb. 9, 11, 13 | Encapsulation, UML | Quiz 2 | Ch. 4 & 5 + HW3 | MP3 |
Feb. 16, 18, 20 | Unit testing, exceptions, assertions | No Class | Quiz 3; Ch. 6 + HW4 |
MP4 |
Feb. 23, 25, 27 | Inheritance, interfaces, abstract classes | Exam 1 | Ch. 7 + HW5 | MP5 |
Mar. 2, 4, 6 | Containers, data structures, APIs | Quiz 4 | Ch. 8 & 9 + HW6 | MP6 |
Mar. 9, 11, 13 | File IO | Quiz 5 | Ch. 10 + HW7 | MP7 |
Mar. 14–22 | No class—Spring break | |||
Mar. 23, 25, 27 | Data serialization (JSON/XML) | Quiz 6 | Ch. 11 + HW8 | FP1 |
Mar. 30, Apr. 1, 3 | Databases | Quiz 7 | Ch. 12 + HW9; FP2 | FP3 |
Apr. 6, 8, 10 | Packages, JAR files | Exam 2 | Ch. 15 + HW10 | FP4 |
Apr. 13, 15, 17 | Debugging | Quiz 8 | Ch. 13 + HW11 | FP5 |
Apr. 20, 22, 24 | Advanced topics | No class | Quiz 9; Ch. 14 + HW12 |
FP6 |
Apr. 27, 29, May 1 | Review | — | Exam 3 | FP7 |
May 4 | Wrapping up | FP8; FP9 | No class | No class |
May 6 | Final Presentations—10:15–12:15 in LSB 212 |
Assignments
Quizzes
Most Mondays (or Wednesdays for weeks with a Monday holiday) will begin with a short quiz, mostly concentrating on the material covered the previous week. Paper notes may be used, but no electronic resources. There will be no quizzes during weeks with exams. Not all quizzes will necessarily be graded.
Homeworks
Each week there will be a reading paired with a short homework administered via Canvas. These are due before the start of class each Wednesday.
Mini-projects (MP)
Mini-projects (MPs) are short programming assignments. While all assignments are listed at the beginning of the semester (so theoretically you can work on them as early as the first week of class), the relevant material will be covered Monday and Wednesday of the week the MP is due, giving you just a couple of days to complete it. Since MPs are quite small in scale, this should not present a problem. Not all mini-projects will necessarily be graded.
Up until Spring break, MPs are due each Friday before class. Friday meetings will be dedicated to presentations by students of their work. Student presenters will be announced the day of, and therefore everyone should come prepared on Friday to present.
Here is a full listing of the MPs:
- MP1: Simple CLI
- MP2: Simple GUI
- MP3: UML
- MP4: Unit Testing
- MP5: Implementing an API
- MP6: Designing a Library API
- MP7: Implementing the Library from MP6
Final project (FP)
The Final project (FP) consists of several milestones. After spring break, MPs will be replaced with FP milestones. Here is a listing of all the milestones:
- Final project overview
- FP1: List of three project ideas
- FP2: Project sketch
- FP3: UML diagram
- FP4: Code skeleton
- FP5: 30% functionality implemented
- FP6: 60% functionality implemented
- FP7: 90% functionality implemented
- FP8: 100% implemented
- FP9: Report
- FP10: Final presentation
Resources
- The command line interface
- Setting up Java and IntelliJ
- Using IntelliJ
- Style guidelines
- IntelliJ 14: Making UML diagrams (external)