605.704.81 - Object-Oriented Analysis and Design

Computer Science
Spring 2024

Description

This course describes fundamental principles of object-oriented modeling, requirements development, analysis, and design. Topics include specification of software requirements; object-oriented static and dynamic analysis approaches using the Unified Modeling Language (UML); object-oriented design; object-oriented reuse and maintainability, including design patterns; software implementation concerns; state models; persistence; and the Object Constraint Language (OCL). Prerequisite(s): While there are no programming assignments in this course, experience in an object-oriented programming language such as C++ or Java is important.

Instructors

Profile photo of Samuel Schappelle.

Samuel Schappelle

sschapp1@jhu.edu

Profile photo of Joseph Demasco.

Joseph Demasco

Course Structure

The course content is divided into modules. Modules can be accessed by clicking Course Content on the menu. A module will have several sections including the overview, content, readings, discussions, quizzes and assignments. You are encouraged to preview all sections of the module before starting. Most modules run for a period of nine () days. Modules begin each Monday. Quizzes are due the following Sunday. Assignments & project deliverables are due on the following Wednesday. Exceptions are noted on the Course Outline page. You should regularly check the Calendar and Announcements for any changes to assignment due dates.

Course Topics

Course Goals

This course will prepare you to apply object-oriented techniques and notation to the process of developing software.  You will be able to perform the following activities: develop requirements, analyze the requirements using object-oriented analysis to identify the software components to be implemented, and design those software components using object-oriented design techniques.  The notation of the Unified Modeling Language (UML) will be used throughout.

Course Learning Outcomes (CLOs)

Textbooks

No textbook is required for this course.  Most of the information that you will need can be obtained from lectures and other on-line resources.  From time to time we may suggest additional sources.

Student Coursework Requirements

It is expected that each class will take approximately eight hours per week to complete. Here is an approximate weekly breakdown: Watching the video lectures (approximately one hour), doing additional background research and participating in office hours (approximately one hour), working on the team project (five to seven hours). 

Each module will have a quiz. The quizzes are based on the information presented in the video lectures.  You will be allowed up to two attempts to take each quiz.  If you take a quiz twice, the two scores are averaged together.  All quizzes carry the same weight, regardless of the number of questions.  Quizzes constitute 40% of your final average.

There is a semester long project associated with this course.  The project is described in a separate document, The Team Project (in the same section of Canvas where you found this syllabus).  Most of the modules will have related project assignments.  The project activities are performed in teams. The ideal team size is three people.  Teams are self-selected during the first week of the class. We intend that every member of the class will contribute a fair share to the team’s efforts on the project.  Thus, all team members will share the same grade for each assignment.  To ensure that all team members are participating equally in the project, we will ask for feedback from your teammates.  The peer review rubric can be found in the team project description (on the menu in Canvas).  The peer review will count as part of your project grade.  

There are no requirements to participate in discussion forums.  You will be graded entirely on the application of what you learn in the video lectures to the team project and the quizzes.  There are deliverables you will be asked to produce and turn in associated with most of the modules.  We will discuss how to apply the techniques for creating them in the various modules of the course. 

For each module, you will have one week to view the lectures and take the quiz.  You will then have another several days to complete the deliverables for that module (while viewing the videos for the next module). The due dates for the deliverables and quizzes are shown on the course outline as well as in the calendar. 

You will be using the discussion tool in Canvas to turn in your project documents.  There is a discussion forum for each deliverable in the project.  The instructions for turning in the document are in each forum.  You will use the same forum for making comments on the documents submitted by the other teams.  If you want to update the documents, you can also do that by editing the original append and adding the link to the new version.  Keep the links to the older versions there, too, as sort of a version history.  

We would like to encourage you to review the work produced by the other teams.  Both you and the other teams will benefit from these reviews.  You will benefit because you may learn things from the other teams that your team may have missed or got wrong.  You will benefit from the comments from the other teams because they can help find defects.  As we know, it is sometimes quite difficult for us to find our own defects, but it is easier for others to spot them. 

While each project deliverable is submitted only once for a grade, you may want to make revisions to some deliverables as you go through the semester based on comments provided by the instructors.

Grading Policy

The quizzes count 40% of your final grade.  All of the quizzes are evenly weighted, regardless of the number of questions.  The project submissions count another 40% of your final grade.  Each of the project submissions will be graded with a maximum score of 10.  You can find the grading rubric in the team project document in the Syllabus and Course Information section of Canvas. The peer evaluations will be graded based on the rubric found in the team project document.  Your evaluation by your teammates counts 20% of your final grade.    

A final grade of A indicates achievement of consistent excellence and distinction throughout the course—that is, conspicuous excellence in all aspects of assignments in every week.

A final grade of B indicates work that meets all course requirements on a level appropriate for graduate academic work. These criteria apply to both undergraduates and graduate students taking the course.

Please note that +/- grades will be displayed on your course transcript, but + and – grades are not calculated as part of your GPA.

Grade categories are as follows:

Score RangeLetter Grade
100-98= A+
97-94= A
93-90= A−
89-87= B+
86-83= B
82-80= B−
79-77= C+
76-73= C
72-70= C−
69-67= D+
66-63= D


Final grades will be determined by the following weighting:

Item

% of Grade

Quizzes

40%

Team project deliverables

40%

Peer evaluations

20%

Academic Policies

Deadlines for Adding, Dropping and Withdrawing from Courses

Students may add a course up to one week after the start of the term for that particular course. Students may drop courses according to the drop deadlines outlined in the EP academic calendar (https://ep.jhu.edu/student-services/academic-calendar/). Between the 6th week of the class and prior to the final withdrawal deadline, a student may withdraw from a course with a W on their academic record. A record of the course will remain on the academic record with a W appearing in the grade column to indicate that the student registered and withdrew from the course.

Academic Misconduct Policy

All students are required to read, know, and comply with the Johns Hopkins University Krieger School of Arts and Sciences (KSAS) / Whiting School of Engineering (WSE) Procedures for Handling Allegations of Misconduct by Full-Time and Part-Time Graduate Students.

This policy prohibits academic misconduct, including but not limited to the following: cheating or facilitating cheating; plagiarism; reuse of assignments; unauthorized collaboration; alteration of graded assignments; and unfair competition. Course materials (old assignments, texts, or examinations, etc.) should not be shared unless authorized by the course instructor. Any questions related to this policy should be directed to EP’s academic integrity officer at ep-academic-integrity@jhu.edu.

Students with Disabilities - Accommodations and Accessibility

Johns Hopkins University values diversity and inclusion. We are committed to providing welcoming, equitable, and accessible educational experiences for all students. Students with disabilities (including those with psychological conditions, medical conditions and temporary disabilities) can request accommodations for this course by providing an Accommodation Letter issued by Student Disability Services (SDS). Please request accommodations for this course as early as possible to provide time for effective communication and arrangements.

For further information or to start the process of requesting accommodations, please contact Student Disability Services at Engineering for Professionals, ep-disability-svcs@jhu.edu.

Student Conduct Code

The fundamental purpose of the JHU regulation of student conduct is to promote and to protect the health, safety, welfare, property, and rights of all members of the University community as well as to promote the orderly operation of the University and to safeguard its property and facilities. As members of the University community, students accept certain responsibilities which support the educational mission and create an environment in which all students are afforded the same opportunity to succeed academically. 

For a full description of the code please visit the following website: https://studentaffairs.jhu.edu/policies-guidelines/student-code/

Classroom Climate

JHU is committed to creating a classroom environment that values the diversity of experiences and perspectives that all students bring. Everyone has the right to be treated with dignity and respect. Fostering an inclusive climate is important. Research and experience show that students who interact with peers who are different from themselves learn new things and experience tangible educational outcomes. At no time in this learning process should someone be singled out or treated unequally on the basis of any seen or unseen part of their identity. 
 
If you have concerns in this course about harassment, discrimination, or any unequal treatment, or if you seek accommodations or resources, please reach out to the course instructor directly. Reporting will never impact your course grade. You may also share concerns with your program chair, the Assistant Dean for Diversity and Inclusion, or the Office of Institutional Equity. In handling reports, people will protect your privacy as much as possible, but faculty and staff are required to officially report information for some cases (e.g. sexual harassment).

Course Auditing

When a student enrolls in an EP course with “audit” status, the student must reach an understanding with the instructor as to what is required to earn the “audit.” If the student does not meet those expectations, the instructor must notify the EP Registration Team [EP-Registration@exchange.johnshopkins.edu] in order for the student to be retroactively dropped or withdrawn from the course (depending on when the "audit" was requested and in accordance with EP registration deadlines). All lecture content will remain accessible to auditing students, but access to all other course material is left to the discretion of the instructor.