|Meeting Times:||Section 1: TR 9:30 am–11:20 am, Seacobeck 139|
Section 2: TR 12:30 pm–2:20 pm, Seacobeck 139
|Office Hours:||Mondays and Wednesdays 10:00 – 12:30, or by appointment.|
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.
Late assignments will have a 10% reduction in grade for each day late. Lab assignments will be due by the end of the day two days after they are assigned. So Monday labs are due Wednesday night and Wednesday labs are due Friday night. The intention of lab assignments is that you normally be able to finish them in class, but this gives some flexibility when needed.
For assignments that are not complete to be awarded partial credit, you must tell me what works and what does not when you turn it in. I will test the parts that work and assign credit based on those. Code that does not compile will not receive partial credit.
There will be no make up for missed exams. If you cannot attend an exam period, please contact me at least a week 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 assignments 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 individual projects, you may discuss the project with others, but the code in your project must be entirely written by you. It is an honor code violation to copy code directly from someone else, either by copy and paste or by transcription, or to copy from the web.
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 exams, you must not copy off of another student, or use any kind of unauthorized notes.
For reflective writing, 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.
If you have any questions or need clarification, please don't hesitate to contact me!
The Office of Disability Services has been designated by the University as the primary office to guide, counsel, and assist students with disabilities. If you already receive services through the Office of Disability Services and require accommodations for this class, make an appointment with me as soon as possible to discuss your approved accommodations needs. Please bring your accommodation letter with you to the appointment. I will hold any information you share with me in the strictest confidence unless you give me permission to do otherwise. If you have not contacted the Office of Disability Services and need accommodations, I will be happy to refer you. The office will require appropriate documentation of disability. Their phone number is 540-654-1266. The office is located in Seacobeck Hall.
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||Lab / Activity||Assignment Due|
|August 23||Course Introduction||No Lab: Complete Java Survey on Canvas|
|August 25||Course Introduction Continued||Lab 1: IntelliJ Setup|
|August 30||Arraylists||Lab 2: Arraylists|
|September 1||Exceptions||Lab 3: Exceptions|
|September 6||Classes, Methods & Constructors||Lab 4: Time Class|
|September 8||Static methods and variables||Lab 5: Student Class|
|September 13||Programs and Memory||No Lab||Wordle|
|September 15||Debugging||Lab 6: Debugging||Reflective writing: Hello World|
|September 20||Putting Things Together||Lab 7: Family Simulation|
|September 22||Putting Things Together Continued||No Lab|
|September 27||UML Diagrams||Lab 8: UML Class Diagrams|
|September 29||UML Diagrams Continued||Lab 9: UML Associations|
|October 4||Review and Catchup||No Lab||Inventory System|
|October 6||Midterm Exam||Reflective writing: Coding conventions|
|October 11||Fall Break|
|October 13||Inheritance||Lab 10: Inheritance Diagrams|
|October 18||Inheritance Continued||Lab 11: Inheritance Implementation|
|October 20||No Class|
|October 25||Interfaces||Lab 12: Interfaces|
|October 27||GUI Development||Lab 13: GUI Exercise||Spaced Repetition System|
|November 1||GUI Development||Lab 14: Github Setup|
|November 3||Design Patterns||Lab 15: Singletons||Impostor Syndrome|
|November 8||Day of Democracy|
|November 10||Design Patterns Continued||No Lab||Group Project Proposal|
|November 15||Hash Tables||Lab 16: Hash Tables|
|November 17||Multi-Threading||No Lab||Group Project Design|
|November 22||Documentation||Lab 17: Javadoc|
|November 24||Thanksgiving Break|
|November 29||Unit Testing||No Lab|
|December 1||Project Presentations||Group Project|
|December 6||Section 1 Final Exam, 8:30 – 11:00|
|Section 2 Final Exam, 12:00 – 2:30|
Copyright © 2022 Ian Finlayson | Licensed under a Attribution-NonCommercial 4.0 International License.