COP 4331C - Processes for Object-Oriented Software Development

Fall 2020

Syllabus

Catalog description: Concepts, principles, processes and methods for developing large software systems featuring a team project using object-oriented design in UML and implementation in C++.
Course assessment outcomes: By the end of the semester each student will be able to:
  • construct UML diagrams of the following types: Use Case Diagram, Class Diagram, Activity Diagram, Collaboration Diagram, State Transition Diagram, Sequence Diagram and Data Flow Diagram
  • work on a project for a client, performing all the steps associated with the object-oriented software development life cycle including elicitation of the requirements from a client, preparation of software requirements specification, project management plan and test plan of a software system.
  • write technical high level design and detailed design of a software system.
  • prepare and successfully give oral presentation of a software system design and operation of the class project deliverables.
Instructor: Dr. Damla Turgut
Office: HEC 316 (Fall 2020: online)
Phone: (407) 823-6171
E-mail: turgut@cs.ucf.edu (preferred means of communication)
Web Site: http://www.cs.ucf.edu/~turgut/COURSES/COP4331C_OOD_Fall20/COP4331C_OOD_Fall20.html
The assignments and the other announcements will be posted on Webcourses.
Classroom: Online
Class Hours: Tue, Th 9:00AM - 10:15AM
Office Hours: Tue, Th 12:00PM - 1:15PM
Recitation: Fr, 12:30PM - 1:20PM in CB1 120 and 1:30PM - 2:20PM in CB1 120
  • The recitations will follow Blendflex model and in-person attendance schedule is available in Webcourses. We will be update the schedule at the beginning of the second week to accommodate add/drop period.
  • The recitations start on the second week.
GTA: Salih Safa Bacanli
GTA Office Hours: Tue, Th 4:30PM - 6:00PM
GTA email: bacanli@knights.ucf.edu
UTA: Nafisa N. Mostofa
UTA Office Hours: Mon, Wed 4:00PM - 5:00PM & Fri 3:00PM - 4:00PM
UTA email: nafisa.mostofa@knights.ucf.edu
Pre-requisites: COP 3503C with a grade of ''C'' (2.0) or better and COT 3960 (CS majors).
Required texts: Shari Lawrence Pfleeger and Joanne M. Atlee, "Software Engineering: Theory and Practice", 4th Edition, Prentice Hall, 2010.
Grading:
  • Three online quizzes: 30%
  • Online comprehensive final exam: 30%
  • Project: Deliverables 1-3 (10% each) & demo (10%)

  • The following will be used for final grades: A for 90 and above, B for 80-89, C for 70-79, D for 60-69, F for lower than 60.
  • The quizzes and final exam will be administered through LockDown Browser or ProctorHub. The quizzes will be closed book and notes while final exam will be open book and notes.
  • Make up exams will be given only in justified cases.
Verification of engagement: As of Fall 2014, all faculty members are required to document students' academic activity at the beginning of each course. In order to document that you began this course, please complete the following academic activity by the end of the first week of classes, or as soon as possible after adding the course, but no later than August 30. Failure to do so will result in a delay in the disbursement of your financial aid.
To satisfy this requirement, you must finish the first quiz posted online. Log in to Webcourses, choose COP 4331C, and submit your answers online.
Integrity: The department, college, and University are committed to honesty and integrity in all academic matters. We do not tolerate academic misconduct by students in any form, including cheating, plagiarism and commercial use of academic materials. Please consult the Golden Rule Handbook for the procedures which will be applied.
Course accessibility: The University of Central Florida is committed to providing access and inclusion for all persons with disabilities. Students should connect with Student Accessibility Services (Ferrell Commons 185, sas@ucf.edu, phone (407) 823-2371). Through Student Accessibility Services, a Course Accessibility Letter may be created and sent to professors, which informs faculty of potential access and accommodations that might be reasonable. If you are a deployed active duty military student and feel that you may need a special accommodation due to that unique status, please contact your instructor to discuss your circumstances.
Campus safety: Emergencies on campus are rare, but if one should arise in our class, everyone needs to work together. Students should be aware of the surroundings and familiar with some basic safety and security concepts.
  • In case of an emergency, dial 911 for assistance.
  • Every UCF classroom contains an emergency procedure guide posted on a wall near the door. Please make a note of the guide's physical location and consider reviewing the online version.
  • If there is a medical emergency during class, we may need to access a first aid kit or AED (Automated External Defibrillator). To learn where those items are located in this building, see the link (click on link from menu on left).
  • To stay informed about emergency situations, sign up to receive UCF text alerts by going to my.ucf.edu and logging in. Click on "Student Self Service" located on the left side of the screen in the tool bar, scroll down to the blue "Personal Information" heading on your Student Center screen, click on "UCF Alert," fill out the information, including your e-mail address, cell phone number, and cell phone provider, click "Apply" to save the changes, and then click "OK."
Zoom for Remote Instruction Because of the continued remote instruction requirement due to the COVID-19 pandemic, this course will use Zoom for synchronous ("real time") class meetings.

Please take the time to familiarize yourself with Zoom by visiting the UCF Zoom Guides at . You may choose to use Zoom on your mobile device (phone or tablet).

Things to Know About Zoom:

  • You must sign in to my Zoom session using your UCF NID and password.
  • The Zoom sessions are recorded.
  • Improper classroom behavior is not tolerated within Zoom sessions and may result in a referral to the Office of Student Conduct.
  • You can contact Webcourses@UCF Support at if you have any technical issues accessing Zoom.

Please see the Zoom housekeeping slide developed by UCF instructional designer, Trudy Trail-Constant.

COVID-19 Statements University-Wide Face Covering Policy for Common Spaces and Face-to-Face Classes

To protect members of our community, everyone is required to wear a facial covering inside all common spaces including classrooms (https://policies.ucf.edu/documents/PolicyEmergencyCOVIDReturnPolicy.pdf. Students who choose not to wear facial coverings will be asked to leave the classroom by the instructor. If they refuse to leave the classroom or put on a facial covering, they may be considered disruptive (please see the Golden Rule for student behavior expectations). Faculty have the right to cancel class if the safety and well-being of class members are in jeopardy. Students will be responsible for the material that would have been covered in class as provided by the instructor.

Notifications in Case of Changes to Course Modality

Depending on the course of the pandemic during the semester, the university may make changes to the way classes are offered. If that happens, please look for announcements or messages in Webcourses@UCF or Knights email about changes specific to this course.

COVID-19 and Illness Notification

Students who believe they may have a COVID-19 diagnosis should contact UCF Student Health Services (407-823-2509) so proper contact tracing procedures can take place.

Students should not come to campus if they are ill, are experiencing any symptoms of COVID-19, have tested positive for COVID, or if anyone living in their residence has tested positive or is sick with COVID-19 symptoms. CDC guidance for COVID-19 symptoms is located here: (https://www.cdc.gov/coronavirus/2019-ncov/symptoms-testing/symptoms.html)

Students should contact their instructor(s) as soon as possible if they miss class for any illness reason to discuss reasonable adjustments that might need to be made. When possible, students should contact their instructor(s) before missing class.

In Case of Faculty Illness

Depending on the course of the pandemic during the semester, the university may make changes to the way classes are offered. If that happens, please look for announcements or messages in Webcourses@UCF or Knights email about changes specific to this course.

Course Accessibility and Disability COVID-19 Supplemental Statement

Accommodations may need to be added or adjusted should this course shift from an on-campus to a remote format. Students with disabilities should speak with their instructor and should contact sas@ucf.edu to discuss specific accommodations for this or other courses.


Projects

Please login to Webcourses to see the project assignments.

Schedule

Date
Topic
Lecture Notes

Aug. 25 (Tu)
Syllabus & What is software engineering?
[chapter 1 slides]
Aug. 27 (Th)
Modeling the process and life cycle
[chapter 2 slides]

Sept. 1 (Tu)
Modeling the process and life cycle
Sept. 3 (Th)
Planning and managing the project
[chapter 3 slides]

Sept. 8 (Tu)
Planning and managing the project
Sept. 10 (Th)
Capturing the requirements
[chapter 4 slides]

Sept. 15 (Tu)
Capturing the requirements
Sept. 17 (Th)
Capturing the requirements

Sept. 18 (F)
Deliverables I:
Concept of Operations, Software Management Plan,
Software Requirements Specification



Sept. 22 (Tu)
Designing the architecture
[chapter 5 slides]
Sept. 24 (Th)
Designing the architecture

Sept. 28 (M) - Oct. 2 (F)
Quiz 1: Chapters 1-4


Sept. 29 (Tu)
Designing the architecture
Oct. 1 (Th)
Designing the modules
[chapter 6 slides]

Oct. 6 (Tu)
Designing the modules
Oct. 8 (Th)
Designing the modules

Oct. 13 (Tu)
Designing the modules
Oct. 15 (Th)
Writing the programs
[chapter 7 slides]

Oct. 19 (M) - Oct. 23 (F)
Quiz 2: Chapters 5-7


Oct. 20 (Tu)
Testing the programs
[chapter 8 slides]
Oct. 22 (Th)
Testing the programs

Oct. 27 (Tu)
Testing the programs
Oct. 29 (Th)
Testing the system
[chapter 9 slides]

Oct. 30 (F)
Deliverables II:
High-level Design, Detailed Design, Test Plan



Nov. 3 (Tu)
Testing the system
Nov. 5 (Th)
Testing the system

Nov. 10 (Tu)
Delivering the system
[chapter 10 slides]
Nov. 12 (Th)
Managing the system
[chapter 11 slides]

Nov. 16 (M) - Nov. 20 (F)
Quiz 3: Chapters 8-10


Nov. 17 (Th)
Managing the system
Nov. 19 (Th)
Final exam review

Nov. 24 (Tu)
Project Demos

Nov. 26 (Th)
Thanksgiving break


Nov. 30 (M)
Deliverables III: Test Results, Source Code, Build Instructions, Individual Lessons Learned + Demo video link


Dec. 1 (Tu)
Project Demos
Dec. 3 (Th)
Project Demos


Final exam [Chapters 1-11]
December 10, 2020 (Th) 7:00 AM - 9:50 AM