CS7319
Software Architecture & Design (Executive Program)
Spring 2021
Class Time: March 19, April 2, April 16, April 30, May 14  8:00am - 5:00pm
Location: Zoom

Course Syllabus
Instructor: Dr. LiGuo Huang
Office Hours: Zoom by appointment
Email: lghuang AT smu DOT edu (preferred way of communication)
Phone:
 (214) 768-3709
Fax: (214)-768-9880 Attn: Dr. LiGuo Huang, CS7319EP

Grader: George Sammit
Email: gsammit@smu.edu (preferred way of communication)
Office Hours: Zoom by appointment
Off Campus Student Contact: Lyle Distance Team
Email: dehelp@lyle.smu.edu
Phone: TBA
Fax: TBA
Announcements
Course Information
Course Objectives As the size of software system increases, the algorithm and data structures of the computation no longer constitute the major design problems. When systems are constructed from many components, the organization of the overall system -- the software architecture -- presents a new set of design problems. Software architecture has become an area of intense research in the software engineering community. A number of architecture modeling notations and support tools, as well as new architectural styles, have emerged. The focus of architecture-based software development is shifted from lines-of-code to coarser-grained building blocks and their overall interconnection structure. Explicit focus on architecture has shown tremendous potential to improve the current state-of-the-art in software development and alleviate many of its problems. This course assumes that you have a good background in software technology such as data structures, algorithms and programming languages (Java, C++, C#, etc.), and concentrates on the software architecture and design issues. CS5319/7319 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 program. 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 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 software architecture and design:
  • The critical concepts of software architecture (design patterns and architectural styles, components, connectors)
  • The nuts and bolts of applying the concepts (modeling and notations, visualization, analysis, implementation, deployment)
  • Special topics on software architecture
Textbooks and References
  • Required: Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy, Software Architecture: Foundations, Theory, and Practice. 1st Edition, Wiley, Jan. 2009, ISBN-10: 0470167742, ISBN-13: 978-0470167748. (SAFTP)
  • Recommended: Mary Shaw and David Garlan, Software Architecture: Perspectives on an Emerging Discipline, 1st edition Prentice Hall, 1996.
Course Schedule & Lecture Notes
Week Date Lecture Notes Readings Lecture Videos
(Canvas Panopto)
Week 1 3/19 Course Overview Course Overview
  Live
The Big Idea Slides SAFTP Ch 1 Video 02
Architectures in Context: The Reorientation of Software Engineering Slides SAFTP Ch 2 Video 03
Basic Concepts + Guest Lecture (Dr. Isaac Chow) Slides
MapReduce Case Study
MapReduce
WordCount Example
SAFTP Ch 3 Video 04; 05; 06
Designing Architectures (1) Slides SAFTP Ch 4 (4.1-4.3.2) Video 07
Designing Architectures (2)  
Week 2 4/2 Architectural Styles (1) Slides SAFTP Ch 4 (4.3.3-4.3.4) Video 08
Architectural Styles (2)   Video 10
Architectural Styles (3) Video 11
Styles and Greenfield Design (1) Slides SAFTP Ch 4 (4.3.4~end) Video 12
Styles and Greenfield Design (2) Video 13
(before Connectors)
Week 3 4/16 Exam 1      
Software Connectors Slides SAFTP Ch 5 (5.1~5.4) Video 13
Homework 3 Note.js and Angular Tutorial (Dr. Isaac Chow)Homework 3 Andriod Tutorial (Simin Wang) Android
PWA-NodeJs-Angular
  Video 15
Choosing Connectors Slides SAFTP Ch 5 (5.5~end) Video 16, Video 17
Introduction to Modeling (1) Slides SAFTP Ch 6 (6.1~6.5.1) Video 17
Introduction to Modeling (2)   Video 18
Week 4 4/30 Modeling and Notations (1) Slides SAFTP Ch 6 (6.5.2~end) Video 18, Video 19
Modeling and Notations (2)     Video 20
Modeling and Notations (3)   ADL Video 21
Modeling and Notations (4); Homework 4 Tutorial C2SADEL Tutorial   Video 22
Applied Software Architectures and Styles Slides SAFTP Ch11 (11.1~11.2) Video 23
Week 5 5/14 Exam 2; Final Project In-Class Presentation and Demo    
   
Grading

Homework (34%), Term Project Proposal (2%), Term Project Presentation and Demo (19%), Exam 1 (22%), Exam 2 (23%)

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.

Homework Assignments

Homework assignments will be posted on the course webpage.

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

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.

Final Project
Exams

The two 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.

Exam 1:
Students must contact the Lyle Distance Team at dehelp@lyle.smu.edu to register and set up your ProctorU remote exam by 4/2/2021.

Policy: Close Book, Close Notes, No Electronic Devices, No discussion

ProctorU Exam Window: 4/16 ~ 22, 2021

Please submit your completed exam through ProctorU by 11:59pm CT on April 22, 2021. 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!

Exam 2:

Students must contact the Lyle Distance Team at dehelp@lyle.smu.edu to register and set up your ProctorU remote exam by 4/2/2021.

Policy: Close Book, Close Notes, No Electronic Devices, No discussion

ProctorU Exam Window: 5/14 ~ 19, 2021

Please submit your completed exam through ProctorU by 11:59pmm CT on May 19, 2021. 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!

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. 
  • Disability Accommodations: Students needing academic accommodations for a disability must first register with Disability Accommodations & Success Strategies (DASS). Students can call 214-768-1470 or visit http://www.smu.edu/Provost/SASP/DASS to begin the process. Once approved and registered, students will submit a DASS Accommodation letter to faculty through the electronic portal DASS Link and then communicate directly with each instructor to make appropriate arrangements. Please note that accommodations are not retroactive and require advance notice to implement.
  • Religious Observance: Religiously observant students wishing to be absent on holidays that require missing class should notify their professors in writing at the beginning of the semester, and should discuss with them, in advance, acceptable ways of making up any work missed because of the absence. (https://www.smu.edu/StudentAffairs/ChaplainandReligiousLife/ReligiousHolidays).
  • Excused Absences for University Extracurricular Activities: Students participating in an officially sanctioned, scheduled University extracurricular activity should be given the opportunity to make up class assignments or other graded assignments missed as a result of their participation.  It is the responsibility of the student to make arrangements with the instructor prior to any missed scheduled examination or other missed assignment for making up the work. (See 2020-2021 SMU Undergraduate Catalog under “Enrollment and Academic Records/Enrollment Policies/Excused Absences.”).
Last Updated: