CS5103 Software Engineering

Fall 2015

Basic Information

Contact

Outline

This course reviews the basic concepts and knowledge of software engineering. We introduce software development process, as well as approaches and techniques supporting different software development phases, including requirement collection, design, implementation, quality assurance, and maintenance. We also discuss some recent research progress on major problems of software engineering.

Announcements

  • Notices such as the content and due data of assignments, projects will be placed here.
  • Assignment I is posted, due on Sept. 8, 2015.
  • Project is posted, read the project document for deadlines and details.
  • Assignment II is posted, read the Assignment document for deadlines and details.
  • Project Implementation Deadline and Documentation Deadline are both postponed for a week, to Nov. 16th and Nov. 24th.
  • Course Syllabus

    Course Schedule

    Assignments and Projects

    Lecture Slides

    Lecture Slides will be available a week before a lecture.
  • Lecture 01 Introduction and Software Process Models
  • Lecture 02 More on Software Process Models
  • Lecture 03 Requirement Engineering
  • Lecture 04 Requirement Specification and Use Cases
  • Lecture 05 Class Diagram And Sequence Diagram
  • Lecture 06 Project Introduction and Android Development I
  • Lecture 07 Android Development II
  • Lecture 08 Software Architecture
  • Lecture 09 Design Patterns
  • Lecture 10 Versioning and Issue Tracking
  • Lecture 11 Coding Styles and Mid-term
  • Lecture 12 Software Refactoring & Software Licenses
  • Lecture 13 Software Testing
  • Lecture 14 System Testing and Test Coverage
  • Lecture 15 Static Bug Detection
  • Lecture 16 Debugging
  • Lecture 17 Review and Final Exam