CS 5/7318
Object-Oriented Analysis & Design
Spring 2024
Class Time: MW 12:30-1:50pm
Location:  Junkins 0101

Instructor: Dr. LiGuo Huang
Office: Caruth Hall 421
Office Hours: 10-11:00am MW (Caruth Hall 421)
Email: lghuang AT smu DOT edu  (preferred way of communication)
Phone: (214) 768-3709 (unpreferred)
Fax: (214)-768-9880 Attn: Dr. LiGuo Huang, CS5/7318

TA/Grader: Canon Ellis
Email:  canone@smu.edu (preferred way of communication)
Office Hours: TBD
Off Campus Student Contact: Lyle Distance Team
Email: dehelp@lyle.smu.edu
Phone: TBA
Fax: TBA
Announcements
Course Information
Course Objectives (Student Learning Outcomes) Object-oriented analysis and design is essential in developing high-quality software systems and in designing software systems that are easy to maintain, evolve, and reuse. This course provides an overview of object-oriented analysis and design by integrating the work of Booch, Rumbaugh, Jacobson, Gamma, Helm, Johnson, and Vlissides. Topics cover the basic concepts of object-oriented analysis and design, Unified Modeling Language (UML) and process, design patterns, design modularity, and stakeholder/value driven design. Object-oriented analysis and design is essential in developing high-quality object-oriented systems. It introduces various design patterns widely reusable in software development. This course assumes that you have a good background in software technology such as data structures, algorithms and programming languages (Java, C++, etc.), and concentrates on the software design and development issues. CS5/7318 will be organized as a research seminar, with active student participation. This course attempts to enhance the advanced research component in the SMU's software engineering design and implementation. It is particularly suited for students interested in pursuing a Ph.D. degree or Doctor of Engineering in software engineering, and for MS/SE students who want to get a firsthand knowledge about the software architecture and design research affecting their field of study. It comprises the core curriculum of SMU Master of Science majoring in Software Engineering.
Course Topics The course covers the following topics on object-oriented analysis and design:
  • An overview of basic object-oriented concepts
  • Introduction to basic design principles and UML
  • Design Patterns
Textbooks and References
  • Required: Erich Gamma, Richard Helm, Ralph Johnson, John M. Vlissides, Design Patterns: Elements of Reusable Object Oriented Software, Addison Wesley. ISBN: 9783827330437 (DP)
  • Recommended: Grady Booch, James Rumbauch, Ivar Jacobson, The Unified Modeling Language User Guide (2nd Edition), Addison Wesley. ISBN: 9780134852157 (UML)
Course Schedule & Lecture Notes
Week Date Lecture Notes Readings Assignments (Due Date)
Week 1 1/15 M.L.K. Day; No Class    
1/17 Course Overview Course Overview
Week 2 1/22 Introduction to OO Basic Concepts (1) Slides
1/25 Introduction to OO Basic Concepts (2)
Week 3 1/29 Introduction to OO Basic Concepts (3)
1/31 Introduction to OO Basic Concepts (4)
Week 4 2/5 Introduction to OOAD (1) Slides
2/7 Introduction to OOAD (2)  
Week 5 2/12 UML (1) Slides Use Case Intro
Getting Started with Use Case Modeling
2/14 UML (2) UML Book
Week 6 2/19 UML (3)
2/21 UML (4)  
Week 7 2/26 Design Patterns Overview (1) Slides DP Book Chapter 1-2,
Parnas Paper
2/28 Design Patterns Overview (2)      
Week 8 3/4 Exam 1
3/6 Creational Patterns (1) Slides DP Book Chapter 3
Week 9 3/11 Spring Break; No Class  
3/13 Spring Break; No Class    
Week 10 3/18 Creational Patterns (2) Slides  
3/20 Creational Patterns (3)  
Week 11 3/25 In-class design lab 1
3/27 Structural Patterns (1) Slides DP Book Chapter 4
Week 12 4/1 Structural Patterns (2)    
4/3 In-class design lab 2
Week 13 4/8 Structural Patterns (3)
4/10 In-class design lab 3
Week 14 4/15 Behavioral Patterns (1) Slides DP Book Chapter 5
4/17 In-class design lab 4    
Week 15 4/22 Behavioral Patterns (2)      
4/24 In-class design lab 5  
Week 16 4/29 Exam 2      
Grading

Homework (28%), In-class design labs (32%), Exam 1 (20%), Exam 2 (20%),

Grades for all course assignments (i.e., homework, projects, exams) will be posted on Canvas. Final letter grades will be assigned based on the curve (grade distribution) of the entire class but not the absolute grade cutoff, and will be posted on my.smu.edu. CS5318 and CS7318 are graded separately based on the curves in the corresponding sections.

Homework Assignments

Homework assignments will be posted on the course webpage and Canvas.

Assignment submission:  Please put your Name, SMU ID, On Campus or Off Campus, Class Section #, Email Address on your cover page. All course assignments (i.e., homework, project, presentations) shall be submitted through Canvas submission link by the specified due date. No email submission will be accepted!

Due Dates: Late homework will receive a 25% penalty per day. In case of real emergencies, please talk to both the professor and grader to make special arrangements. If you will be out of town for a non-emergency (e.g., an interview), you should turn in the assignment early, rather than late, to avoid a penalty.

In-Class Design Labs
Exams

The exams will test knowledge and skills developed in lectures, and assignments. The exams will stress deep understanding of the concepts involved rather than superficial aspects of programming.

Late exam submission will receive a 25% penalty per day late. Off-campus students are highly encouraged to take both exams on campus unless you are located outide of DFW area or a full time employee.  Please take the Exam Survey Quiz to commit to take the Exam 1 and Exam 2 in class on campu or off campus via Canvas Lockdown Browser.

Exam 1:

Policy: Close Book, Close Notes, No electronic devices, No discussion or sharing.

On Campus: Time: 12:30-1:50pm CT, 3/4/2024; Location: In class.

Off Campus: Time: 7:30-8:50pm CT, 3/4/2024. Off-campus students' exams are required to be proctored and completed within 80 Minutes via Canvas Lockdown Browser. Please ensure the legibility of your scanned copy. Illegible parts will be considered missing from your answer and points will be deducted accordingly. Please contact the Distance Team at dehelp@lyle.smu.edu if you have any exam submission questions. Email submission will not be accepted for grading! Note that all off-campus students are encouraged to join the in-class exam. Only if you are outside of DFW area or you are fulltime exployee whose work schedule conflicts with the class time, you are allowed to take the Exam 1 via Canvas Lockdown Browser. The survey quiz results record whether your are committed to take the Exam 1 on campus or via Canvas Lockdown Browser.

Exam 2:

Policy: Close Book, Close Notes, No electronic devices, No discussion or sharing.

On Campus: Time: 12:30-1:50pm CT, 4/29/2024; Location: In class.

Off Campus: Time: 5:30-6:50pm CT, 4/29/2024. Off-campus students' exams are required to be proctored and completed within 80 Minutes via Canvas Lockdown Browser. Please ensure the legibility of your scanned copy. Illegible parts will be considered missing from your answer and points will be deducted accordingly. Please contact the Distance Team at dehelp@lyle.smu.edu if you have any exam submission questions. Email submission will not be accepted for grading! Note that all off-campus students are encouraged to join the in-class exam. Only if you are outside of DFW area or you are fulltime exployee whose work schedule conflicts with the class time, you are allowed to take the Exam 2 via Canvas Lockdown Browser. The survey quiz results record whether your are committed to take the Exam 2 on campus or via Canvas Lockdown Browser.

Policies
  • Late Submission Policy. All course assignments will be due on the Canvas at 11:59pm on the specified due dates, unless otherwise informed. Late homework will receive a 25% penalty per day. In case of emergencies, please talk to both the professor and grader to make special arrangements. If you will be out of town for a non-emergency (such as an interview), you should turn in the assignment early, rather than late, to avoid a penalty.
  • Academic misconduct of any kind is prohibited by the SMU Student Honor Code. Academic dishonesty may be defined broadly as a student's misrepresentation of his or her academic work or of the circumstances under which the work is done. This includes plagiarism in all papers, projects, take-home exams, or any other assignments in which the student represents work as being his or her own. It also includes cheating on examinations, unauthorized access to test materials, and aiding another student to cheat or participate in an act of academic dishonesty. Failure to prevent cheating by another may be considered as participation in the dishonest act. 
University Curriculum Student Learning Outcomes for Pure and Applied Sciences: Pillars

To be active, engaged citizens in a global society, graduates of SMU will be able to engage in scholarly discourse in science and engineering and to understand the implications of these disciplines. Students should be aware of the meaning and methods of science and engineering, and of the ways that both disciplines have shaped and continue to shape the world around us. To achieve this goal, students must take two courses, with lab experiences, in the Pure and Applied Science Pillar. Due to the constraints of lab courses, these courses may both be introductory.

Student Learning Outcomes:

  1. Students will be able to demonstrate basic facility with the methods and approaches of scientific inquiry and problem solving. (Level 1)
  2. Students will be able to explain how the concepts and findings of science or technology in general, or of particular sciences or technologies, shape our world. (Level 1   2)
  3. Students will be able to select and apply appropriate techniques, skills, and modern tools to science or technology activities. (Level 2)

NOTE: The Pure and Applied Science requirement can be met with either two introductory courses each with a lab or one introductory with a lab and a more advanced course that may then not have a lab.

Last Updated: