CSCI 5448: Object-Oriented Analysis and Design
Ìý
Instructor 2019: Bruce R. Montgomery, PhD, PMP
Slack:
E-mail:bruce.r.montgomery@colorado.edu (preferred)
Lectures:Monday/Wednesday/Friday, 10:00 AM – 10:50 AM, Classroom HUMN 1B80
Description
Object-Oriented Analysis and Design is a course that presents an introduction to the design and construction of software systems using techniques that view a system as a set of objects that work together to realize the system's functionality. This perspective stands in contrast to more traditional "procedural" or "structured" design techniques that viewed systems as a set of procedures that manipulate shared data structures. Proponents of object-oriented techniques point to the flexibility and extensibility of object-oriented systems along with other benefits such as increased modularity, abstraction, and encapsulation.Ìý
In this class, we will examine fundamental objected-oriented analysis and design techniques and show how decisions made during analysis and design impact the implementation of software systems. This class does not focus on object-oriented programming; however, we will examine many examples of object-oriented systems written in Java, Python, and other languages. A primary focus will be the understanding and application of key object-oriented principles and design patterns.Ìý
By the end of the class, students will have been exposed to the major steps of object-oriented software development life cycles and will understand the tools and techniques that are used in these steps. They will also have applied these skills to the development of a project and the analysis of real-world object-oriented systems.
Requirements and Format
Attendance and Participation
Class lectures will start promptly at the scheduled class start time. Attendance at every class is encouraged, and attendance will be recorded as part of class participation. It is the student's responsibility to obtain materials handed out in a lecture which the student missed. Students are expected to keep up with the course material. If you get confused or fall behind, schedule an appointment with the professor or a TA as soon as possible.Ìý
Students are expected to participate in class discussions of course topics. In addition, students are expected to assist and work with other students in understanding course material and working on team assignments.Ìý
Students are expected to complete assignments on time. In some cases, project assignments will be accepted late, but the grade earned on the assignment will be reduced – this allowance and reduction will be made clear for each assignment.
Canvas Web-based Instruction
Students must have access to and accounts for Canvas to find materials, get class notices, submit homework, and take quizzes and/or exams. I will use the announcements feature of Canvas for posting information on assignments and class changes. Please ensure you can reach the class Canvas site at (link tbd). It is suggested that you sign up in Canvas account settings for instant notifications of news, content postings, assignment and quiz due dates, and grade updates.
Remote Participation (CSCI 5448-001B Students only)
Students enrolled in the class through the distance section of the class, CSCI 5448-001B, are required to use the Zoom conferencing tool. To join the class synchronously, use the following Zoom meeting ID & connection information:
Meeting ID: <
Connection options:Ìý
- Join via web browser: <
> - Join via Zoom app (using meeting ID)
- Join via iPhone one-tap: US: +16699006833,,154601136# or +16465588656,,154601136#
- Join via telephone: US: +1-669-900-6833 or +1-646-558-8656Ìý
This course requires the use of the Zoom conferencing tool, which is currently not accessible to users using assistive technology. If you use assistive technology to access the course material, please contact your faculty member immediately to discuss.Ìý
If you need help with getting Zoom up and running, please visit the following link: Ìý
NOTE: Students enrolled for CSCI 4448-001 or 5448-001, and not the distance section -001B, should attend classes in person.
Readings
Course materials include lecture slides, project guides, and other online materials, with frequent references to various texts and other resources. The textbook for the class is a required resource.
- Textbook:
- Head First Design Patterns
- By Bates, Sierra, Freeman, & Robson
- O’Reilly Media, June 2009
- Available at the campus bookstore, and as a paper book ($42) or e-book ($12 rent, $32 buy) via Amazon. The e-book is also available via O’Reilly Safari (free access to ACM members).
- Course lecture slides, course labs and project material, and links to web sites to support class topics and projects will be embedded in lecture slides and provided via Canvas.
Homework and Projects
Homework and related project assignments will be provided covering material from class lectures. Students may collaborate together on homework as presented in homework details; a group of students collaborating on a homework may turn in one group submission. All homework and reports must be legibly written or typed and must include the students name(s) in the submission. All homework assignments should be turned in at the due date/time presented for the assignment on Canvas. Late homework may be accepted but will be penalized as detailed in class.
Code and reports are expected to be thorough work, including proper references to any supporting materials. Whether working as a team or leveraging software designs from books, magazines, the Internet, or other sources, students are expected and required to cite and credit the source of the information clearly and completely. Plagiarism will not be tolerated and will be reported to the CU Honor Code Office.
Other Assessments
There will be scheduled quizzes most weeks over material presented; these will be provided via Canvas and will be performed outside of class. All quizzes must be completed prior to the Canvas due date/time. There will also be a mid-term and final examination. The quiz and exam assessments are to be done using individual effort alone. Mid-term and final exam logistics, times, and locations will be scheduled and announced.
Evaluation and Grading Procedures
Grading will be based on total points accumulated from each type of assessment and assignment used in the class. A student earning less than 60% of the points possible will be given a failing grade. In all cases, grades may be assigned based on a curve determined by the instructor. The following table shows percentage assignments for final posted class letter grades:
94 – 100 | 90 – 93 | 87 - 89 | 83 – 86 | 80 – 82 | 77 – 79 | 73 – 76 | 70 – 72 | 67 – 69 | 63 – 66 | 60 – 62 | 0 – 59 |
A | A- | B+ | B | B- | C+ | C | C- | D+ | D | D- | F |
Make-up Exam Policy: No make-up exams are given except for medical or other similar hardships where advanced arrangements are made with the instructor; or in case of non-selective medical emergencies with physician’s note or documentation. Otherwise, failure to take the exam at the scheduled time will result in a zero grade in the exam.Ìý
The overall course grade will be based on participation and attendance, homework/projects, quizzes, and exams. The grade proportions are as follows (note they differ for graduate and undergraduate students):
Undergraduates:Ìý
- Homework/projects 50% (500 points)
- Quizzes 10% (100 points)
- Mid-term and Final Exams 30% (300 points)
- Participation and attendance 10% (100 Points)
Graduates:Ìý
- Homework/projects 40% (500 points)
- Graduate technical report 20% (250 points)
- Quizzes 8% (100 points)
- Mid-term and Final Exams 24% (300 points)
- Participation and attendance 10% (100 points)
PoliciesÌý
Accommodation for Disabilities
If you qualify for accommodations because of a disability, please submit your accommodation letter from Disability Services to your faculty member in a timely manner so that your needs can be addressed. Disability Services determines accommodations based on documented disabilities in the academic environment. Information on requesting accommodations is located on the Disability Services website. Contact Disability Services at 303-492-8671 or dsinfo@colorado.edu for further assistance. If you have a temporary medical condition or injury, see Temporary Medical Conditions under the Students tab on the Disability Services website.
Classroom Behavior
Students and faculty each have responsibility for maintaining an appropriate learning environment. Those who fail to adhere to such behavioral standards may be subject to discipline. Professional courtesy and sensitivity are especially important with respect to individuals and topics dealing with race, color, national origin, sex, pregnancy, age, disability, creed, religion, sexual orientation, gender identity, gender expression, veteran status, political affiliation or political philosophy. Class rosters are provided to the instructor with the student's legal name. I will gladly honor your request to address you by an alternate name or gender pronoun. Please advise me of this preference early in the semester so that I may make appropriate changes to my records. For more information, see the policies on classroom behavior and the Student Code of Conduct.
Honor Code
All students enrolled in a 91PORN course are responsible for knowing and adhering to the Honor Code. Violations of the policy may include: plagiarism, cheating, fabrication, lying, bribery, threat, unauthorized access to academic materials, clicker fraud, submitting the same or similar work in more than one course without permission from all course instructors involved, and aiding academic dishonesty. All incidents of academic misconduct will be reported to the Honor Code (honor@colorado.edu); 303-492-5550). Students who are found responsible for violating the academic integrity policy will be subject to nonacademic sanctions from the Honor Code as well as academic sanctions from the faculty member. Additional information regarding the Honor Code academic integrity policy can be found at the Honor Code Office website.
Sexual Misconduct, Discrimination, Harassment and/or Related Retaliation
The 91PORN (91PORN) is committed to fostering a positive and welcoming learning, working, and living environment. 91PORN will not tolerate acts of sexual misconduct (including sexual assault, exploitation, harassment, dating or domestic violence, and stalking), discrimination, and harassment by members of our community. Individuals who believe they have been subject to misconduct or retaliatory actions for reporting a concern should contact the Office of Institutional Equity and Compliance (OIEC) at 303-492-2127 or cureport@colorado.edu. Information about the OIEC, university policies, , and the campus resources can be found on the OIEC website.Ìý
Please know that faculty and instructors have a responsibility to inform OIEC when made aware of incidents of sexual misconduct, discrimination, harassment and/or related retaliation, to ensure that individuals impacted receive information about options for reporting and support resources.
Religious Holidays
Campus policy regarding religious observances requires that faculty make every effort to deal reasonably and fairly with all students who, because of religious obligations, have conflicts with scheduled exams, assignments or required attendance. In this class, please see the instructor to discuss any such arrangements well before the holiday. See the campus policy regarding religious observances for full details.
Use of Electronics in Class
Cell phones need to be on silent and should be limited in use to allow focus on material and to avoid disturbing fellow students. Laptop computers (or similar devices) may be used in class for taking notes and may be required in some cases for in class work.
Course Concerns
If you have any questions or concerns about the course, please discuss them with the professor or teaching assistants as soon as possible. If we cannot address your concern, the issue can be brought to the attention of the program faculty directors.
Ìý