Com S 362 Syllabus (Fall 2021)
Lecture
Tue Thu 4:10 PM - 5:25 PM
CARVER 0305
Instructor
- Instructor: Mathew Tan Creti
- Office Hours: TBD and by appointment
- Email: tancreti@iastate.edu
Teaching Assistants
TBD
Office Hours: TBD
TBD
Office Hours: TBD
Prerequisites
Minimum of C- in COM S 228 and MATH 165; ENGL 250
Textbook
No required textbook, we will be reading from multiple books available virtually through the library.
Course Description
Object-oriented requirements analysis and systems design. Design notations such as the Unified Modeling Language. Design Patterns. Group design and programming with large programming projects.
Learning Objectives
The primary objectives of this course are:
- To familiarize students with the vocabulary, concepts, diagramming techniques, current thought, and process related to object-oriented design.
- To improve students’ ability to evaluate designs against common design objectives (e.g., testability, maintainability, extensibility).
- To increase students’ familiarity with important code and architectural design patterns.
- To sensitize students to practices and code characteristics that increase cost of change (e.g., through anti-patterns and code smells.)
Homework
During the first half of the semester, you will be asked to complete a readings and to submit a homework assignment nearly every week. There will also be in-class group activities during Friday Webex discussions.
During the second half of the semester, you will again have weekly readings (though smaller) and group project deliverables.
Project
In the second half of the semester, you will work on a team to complete multiple iterations of a project, extending and refactoring a “large” existing code base while focusing on team-based iterative development and applying design principles and patterns. You may find the project significantly different than what you have experienced in other project-based courses, you will be writing very little code, we are intentionally not building something new, we are focused on design improvements.
The project is in Java, we will cover any advanced concepts as they are needed to implement design patterns, for example, dynamic dispatch, however, we assume you are already proficient with the basics of Java. This is a class about design, not about code style or practices. We expect the code you produce to conform to good coding practices, and we assume you have already learned how to do this in prerequisite courses.
Exams
There will be one midterm exam and one final exam. The final exam will be given in the final exam week according to the university’s final exam schedule. The final exam will cover the entire course, but is weighted more heavily toward the material covered after the midterm exam.
Grading
Your letter grade in this course will be based on homework and in-class activities, a programming project, and exams.
- Homework and In-Class Activities 30%
- Project 30%
- Midterm exam 15%
- Final exam 25%
Letter grades are assigned relative to overall class performance, with borderline cases influenced by participation in class.
Grading Questions/Errors
If you believe an item has not been scored correctly, you must notify the Instructor in writing (email will do), with a description of the error and your explanation of why you think it is wrong, within two weeks of the score being posted to canvas. This assures that we can correct the grade while everyone still remembers the circumstances and also avoids the administrative complications associated with correcting grades after certain reporting deadlines.
Late Deliverables Policy
Students are expected to submit deliverables on time. Some homework solutions will be posted after the due date, and other deliverables are dependent upon previous deliverables.
Late homework are penalized 5% per day for up to 3 days. Homework more than 3 days late will not be accepted.
The project will have deliverables that need to be completed for each iteration. Your grade will be based on whatever you have check into github at the iteration deadline.
Grade Appeal Policy
You may appeal a grade within ONE WEEK of grade announcement. Appeals for exam grades will be handled by the instructor. Appeals for homework and programming projects grades will be handled by the TA who graded your work. If you disagree with TA’s decision, you may appeal to the instructor within ONE WEEK of receiving TA’s decision.
Academic Honesty
Homework and programming projects are individual efforts, not group efforts. While discussion of homework and programming projects with other students is encouraged, a level of discussion that produces identical work is prohibited.
For programming projects, you may not
write code with another student give code to another student (via email, printouts, etc.) post code in a publicly accessible location A student found responsible for academic dishonesty will receive zero points for the work in which the dishonesty occurred. In addition, the student is subject to sanctions according to the university policy on academic dishonesty, which can be found here.
COVID-19 health and safety requirements
Students are responsible for abiding by the university’s COVID-19 health and safety expectations. All students attending this class in-person are required to follow university policy regarding health, safety, and face coverings:
- wear a cloth face covering in all university classrooms, laboratories, studios, and other in-person instructional settings and learning spaces. Cloth face coverings are additionally required to be worn indoors in all university buildings, and outdoors when other people are or may be present where physical distancing of at least 6 feet from others is not possible. Students with a documented health or medical condition that prevents them from wearing a cloth face covering should consult with Student Accessibility Services in the Dean of Students Office.
- ensure that the cloth face covering completely covers the nose and mouth and fits snugly against the side of the face.
- practice physical distancing to the extent possible.
- assist in maintaining a clean and sanitary environment.
- not attend class if you are sick or experiencing symptoms of COVID-19.
- not attend class if you have been told to self-isolate or quarantine by a health official.
- follow the instructor’s guidance with respect to these requirements. Failure to comply constitutes disruptive classroom conduct. Faculty and teaching assistants have the authority to deny a non-compliant student entry into a classroom, laboratory, studio, conference room, office, or other learning space.
These requirements extend outside of scheduled class time, including coursework in laboratories, studios, and other learning spaces, and to field trips. These requirements may be revised by the university at any time during the semester.
In accordance with university policy, instructors may use a face shield while they are teaching as long as they are able to maintain 8 feet of physical distance between themselves and students during the entire instructional period. Some form of face covering must be worn at all times in learning spaces regardless of the amount of physical distancing.
Faculty may refer matters of non-compliance to the Dean of Students Office for disciplinary action, which can include restrictions on access to, or use of, university facilities; removal from university housing; required transition to remote-only instruction; involuntary disenrollment from one or more in-person courses; and other such measures as necessary to promote the health and safety of campus.
It is important for students to recognize their responsibility in promoting the health and safety of the Iowa State University community, through actions both on- and off-campus. The university’s faculty asks that you personally demonstrate a commitment to our Cyclones Care campaign. Iowa State University’s faculty support the Cyclones Care campaign and ask you personally to demonstrate a commitment to our campaign. Your dedication and contribution to the campaign will also protect your family, classmates, and friends, as well as their friends and families. Our best opportunity for a successful fall semester with in-person learning and extramural activities requires all of us to collaborate and fully participate in the Cyclones Care campaign.
Free Expression
Iowa State University supports and upholds the First Amendment protection of freedom of speech and the principle of academic freedom in order to foster a learning environment where open inquiry and the vigorous debate of a diversity of ideas are encouraged. Students will not be penalized for the content or viewpoints of their speech as long as student expression in a class context is germane to the subject matter of the class and conveyed in an appropriate manner.
Accessibility Statement
Iowa State University is committed to assuring that all educational activities are free from discrimination and harassment based on disability status. Students requesting accommodations for a documented disability are required to work directly with staff in Student Accessibility Services (SAS) to establish eligibility and learn about related processes before accommodations will be identified. After eligibility is established, SAS staff will create and issue a Notification Letter for each course listing approved reasonable accommodations. This document will be made available to the student and instructor either electronically or in hard-copy every semester. Students and instructors are encouraged to review contents of the Notification Letters as early in the semester as possible to identify a specific, timely plan to deliver/receive the indicated accommodations. Reasonable accommodations are not retroactive in nature and are not intended to be an unfair advantage. Additional information or assistance is available online at www.sas.dso.iastate.edu, by contacting SAS staff by email at accessibility@iastate.edu, or by calling 515-294-7220. Student Accessibility Services is a unit in the Dean of Students Office located at 1076 Student Services Building.
Discrimination and Harassment
Iowa State University does not discriminate on the basis of race, color, age, ethnicity, religion, national origin, pregnancy, sexual orientation, gender identity, genetic information, sex, marital status, disability, or status as a U.S. Veteran. Inquiries regarding non-discrimination policies may be directed to Office of Equal Opportunity, 3410 Beardshear Hall, 515 Morrill Road, Ames, Iowa 50011, Tel. 515-294-7612, Hotline 515-294-1222, email eooffice@iastate.edu
Prep Week
This class follows the Iowa State University Prep Week policy as noted in section 10.6.4 of the Faculty Handbook.
Religious Accommodation
Iowa State University welcomes diversity of religious beliefs and practices, recognizing the contributions differing experiences and viewpoints can bring to the community. There may be times when an academic requirement conflicts with religious observances and practices. If that happens, students may request the reasonable accommodation for religious practices. In all cases, you must put your request in writing. The instructor will review the situation in an effort to provide a reasonable accommodation when possible to do so without fundamentally altering a course. For students, you should first discuss the conflict and your requested accommodation with your professor at the earliest possible time. You or your instructor may also seek assistance from the Dean of Students Office at 515-294-1020 or the Office of Equal Opportunity at 515-294-7612.
Contact Information for Academic Issues
If you are experiencing, or have experienced, a problem with any of the above statements, email mailto:academicissues@iastate.edu
(Important note to faculty: The email address for contact information is monitored and answered through the Office of the Senior Vice President and Provost)