RU ENG ECE 14:332:452 :
        Software Engineering

Lecture Schedule—subject to change


Project Deliverables at a Glance

Project work description  is available here.

Ideas for class projects  are available here.

All project teams must be formed before Sunday, January 26, 2020 by notifying the instructor and TA by email about the team members and their emails. After this date, students without a team will be randomly assigned a team.
Students will not be allowed to switch the team after January 31, 2020.

ItemDue date
I
t
e
r
a
t.
#1
1.   Proposal February 2
2.   First report   (Specification only)
      • Part 1 (Statement of Work & Requirements)
      • Part 2 (Functional Requirements Spec & UI)
      • Full Report #1
 
February 9
February 16
February 23
3.   Second report   (Design only)
      • Part 1 (Interaction Diagrams)
      • Part 2 (Class Diagram and System Architecture)
      • Full Report #2
 
March 1
March 8
March 15
4.   First demo in Fiber Optics Auditorium Week of
March 23
I
t
e
r #2
5.   Third report   (All reports collated)
      • Part 1 (Sections 1, 2, 3, 4, 5, 6, 7, _ 9, 10, _ _ 13, 14) 
      • Full Report #3 (including Sections 8, 11, 12)
      • Reflective essay
 
April 12
May 3
May 3
6.   Second demo in room EE-240 Week of
April 20
7.   Electronic Project Archive May 7

Syllabus at a Glance

Topic 1 (3 lectures): Software Lifecycle and Team Projects
Topic 2 (2 lectures): Requirements Engineering and Use Cases
Topic 3 (1 lecture): Software Architecture
Topic 4 (3 lectures): Object-Oriented Analysis and Design
Topic 5 (2 lectures): Test-Driven Implementation
Topic 6 (2 lectures): System Specification
Topic 7 (2 lectures): Software Measurement and Estimation
Topic 8  (4 lectures):   Design Patterns
Topic 9  (2 lectures):   Software Security

The section numbers marked in red letterfont are referring to the Lecture Notes.Note #1
Some materials in the textbook will not be reviewed in the class, but are important for understanding other materials and may appear in the exams.
They are indicated in the syllabus below for the student to read on their own.

Jan
   21 (T)   Software Development Lifecycle  [slides] (Sections 1.1 to 1.3)
   24 (F)   Software Configuration Management [slides] (Section 2.1.3 and Chapters 16 in Chacon & Straub: Pro Git)
   28 (T)   Understanding the Problem and Dividing the Work  [slides]
   31 (F)   Requirements Engineering      [slides]   (Section 2.2)

Feb
    4 (T)   Software Architecture         [slides]   (Section 2.3)  and  Wikipedia
    7 (F)   Use Cases                     [slides]   (Section 2.4)
           Read on your own: Section 4.2.1 (Use Case Points)  [slides]
   11 (T)   Domain Model                  [slides]   (Section 2.5)
   14 (F)   Object-Oriented Design - 1    [slides]   (Section 2.6.1)
   18 (T)   Object-Oriented Design - 2    [slides]   (Section 2.6 remainder)
   21 (F)   Testing - 1                   [slides]   (Sections 2.7.1 to 2.7.4)
   25 (T)   Testing - 2
   28 (F)   Relational Databases and SQL  [slides]   (Chapter 13 in Sebesta: Programming the WWW)

Mar
    3 (T)   Functional Programming in JavaScript
    6 (F)   Asynchronous Programming in JavaScript
   10 (T)   ******* Midterm Exam (JavaScript Fundamentals)   (in regular classroom RWH-105) *******
           Read on your own: Sections 3.1 and 3.2.1 (Specifying Systems - Intro)  [slides]
   13 (F)   Specifying Systems            [slides]   (Section 3.2 remainder)
            UML State Diagrams | Object Constraint Language (OCL)
        (Spring Recess: March 14 - 22)
   24 (T)   [ no class ] ******* DEMO #1 as shown in this table *******
   27 (F)   [ no class ] ******* DEMO #1 *******
   31 (T)   Problem Frames - Decomposition  [slides] (Section 3.3)

Apr
    3 (F)   Software Measurement          [slides]   (Sections 4.1 and 4.2.2)
            Cyclomatic Complexity
    7 (T)   Design Patterns: Publisher-Subscriber  [slides] (Section 5.1)
   10 (F)   More Patterns: Command & Decorator  [slides]   (Section 5.2)
   14 (T)   More Patterns: State & Proxy
   17 (F)   Software Security
   21 (T)   [ no class ] ******* DEMO #2 as shown in this table *******
   24 (F)   [ no class ] ******* DEMO #2 *******
   28 (T)   [ no class ]

May
    1 (F)   [ no class ]
        (Regular Classes End: Mon May 4  ⋅  Spring Exams End: Wed May 13)

    ******* NO FINAL EXAM *******
                replaced with the MIDTERM EXAM

^ Note #1: A comprehensive treatment of UML is available in Miles & Hamilton's Learning UML 2.0 and online http://www.uml.org. There will be no lectures exclusively covering UML. Rather, the symbols will be explained as they're introduced in the context of software development methodology. Miles & Hamilton and http://www.uml.org should serve as reference material.



Ivan Marsic
Created: December 29, 1997
Modified: Sat Jan 18 18:27:05 EST 2020