|Meeting Times:||Tuesday, Thursday, 9:00 - 10:50, Trinkle B7|
|Office Hours:||MWF 10:00 - 12:00, TR 11:00 - 12:00, or by appointment.|
|Required Textbook||Blueprints: Creating, Describing, and Implementing Designs for Larger-scale Software Projects, Stephen Davies|
Theory and practice of the object-oriented software development paradigm including abstraction, encapsulation, inheritance, polymorphism, aggregation, visibility, modeling notations, and design patterns. Also covers issues in collaborative software development including communication, code sharing, diversity, and inclusion. Students work in teams to develop collaborative software solutions in an object-oriented language.
To provide students with:
Late assignments will have a 10% reduction in grade for each day late. Lab assignments will be due by the start of the next class period after they are assigned. So if lab is held on Tuesday, the lab assignment is due Thursday. There will be no make up for missed tests. If you cannot attend a test period, please contact me ahead of time to arrange another time to take it. Final grades will not be rounded up, and no extra credit opportunities will be given on an individual basis.
The University provides the opportunity to provide grading feedback midway through the semester. This will take into account your score on the mid-term exam and the programming projects submitted up to that point. Any student receiving less than a 65% on either of these will receive a "U" for their mid-semester grade. If this happens to you, please don't hesitate to talk with me about how we can improve your performance in this class.
Students are expected to conduct themselves in a manner consistent with the letter and spirit of the UMW Honor Constitution, as well as the CPSC department honor policy. For this class in particular:
For labs, collaboration is OK. The goal of the labs is to ensure you understand the concepts we are going over.
For group projects, you of course will work with your team members in completing the assignment. You may discuss the project with others not on your team, but the code in your project must be entirely written by team members. It is an honor code violation to copy directly from someone not on the team, either by copy and paste or by transcription, or to copy from the web.
For papers, the work you must submit must be your own. Any words or ideas that you submit, that are not your own work must be cited appropriately.
For quizzes, you must not copy off of another student, or use any kind of unauthorized notes.
If you have any questions or need clarification, please don't hesitate to contact me!
The University of Mary Washington faculty are committed to supporting students and upholding the University's Policy on Sexual and Gender Based Harassment and Other Forms of Interpersonal Violence. Under Title IX and this Policy, discrimination based upon sex or gender is prohibited. If you experience an incident of sex or gender based discrimination, we encourage you to report it. While you may talk to me, understand that as a "Responsible Employee" of the University, I must report to UMW's Title IX Coordinator what you share. If you wish to speak to someone confidentially, please contact the below confidential resources. They can connect you with support services and help you explore your options. You may also seek assistance from UMW's Title IX Coordinator. Please visit http://diversity.umw.edu/title-ix/ to view UMW's Policy on Sexual and Gender Based Harassment and Other Forms of Interpersonal Violence and to find further information on support and resources.
Classroom activities in this course may be recorded by student's enrolled in the course for the personal, educational use of that student or for all students presently enrolled in the class only, and may not be further copied, distributed, published or otherwise used for any other purpose without the express written consent of the course instructor. All students are advised that classroom activities may be taped by students for this purpose. Distribution or sale of class recordings is prohibited without the written permission of the instructor and other students who are recorded. Distribution without permission is a violation of copyright law. This policy is consistent with UMW's Policy on Recording Class and Distribution of Course Materials.
|Date||Topic||Reading||Lab / Activity||Assignment Due|
|August 27||Course Introduction||None||Cloud VM Setup|
|August 29||No Class|
|September 3||Compiling on the command line||Chapter 1||Command-line Java|
|September 5||The software crisis||Chapter 2||Encapsulation exercise|
|September 10||Classes part 1||3.1 - 3.2||UML class diagrams|
|September 12||Classes part 2||3.3 - 3.4||Writing a class|
|September 17||Memory||Chapter 4||Memory lab|
|September 19||Classes and programming||Simulation lab|
|September 24||Exceptions||Chapter 5||Catching exceptions|
|September 26||Exceptions continued||No Lab|
|October 1||Catch-up day||Open lab for assignment||Inventory System|
|October 3||UML class diagrams||Chapter 6||UML classes|
|October 8||The singleton pattern||Chapter 7||Using singletons||Handling Errors|
|October 10||Java odds and ends||8.1 - 8.4||No lab|
|October 15||Fall Break|
|October 17||Java odds and ends continued||8.5 - 8.7||Hash Tables||Dungeon Crawler Design Due|
|October 22||Multi-threading||Using threads|
|October 24||UML sequence diagrams||Chapter 9||Making sequence diagrams|
|October 29||Persistence||Chapter 10||Using text files||Dungeon Crawler Project Due|
|October 31||Inheritance||Chapter 11||Inheritance exercise|
|November 5||Inheritance continued||Chapter 12||Abstract classes|
|November 7||The factory pattern||Chapter 13||Using the factory pattern|
|November 12||Team development||Chapter 14||Using git|
|November 14||Java graphics||Using graphics|
|November 19||Program design||Chapter 15||Discovering the design|
|November 21||Program design continued||Chapter 16||CRC classes|
|November 26||Use cases||Chapter 17||Creating use cases|
|November 28||Thanksgiving Break|
|December 3||Documenting an API||Chapter 18||Using javadoc|
|December 5||Dealing with large code bases||Large code exercise|
|December 10, 8:30 - 11:00||Project 4 Presentations|
Copyright © 2019 Ian Finlayson | Licensed under a Creative Commons Attribution 4.0 International License.