Meeting time: | Thursdays 6-8pm and online components |
Classroom: | PKI 155 |
Instructor: | Dr. Harvey Siy |
Office: | PKI 281B |
Phone: | (402)554-2834 |
Email: | hsiy at unomaha dot edu |
Office Hours: | Thursdays 5-6pm, or by appointment (call or email ahead) |
Textbook: | Software Engineering (10th edition) by Ian Sommerville, Addison-Wesley, 2010 |
Companion website | |
link to 8th Edition | |
Optional: | Engineering Software as a Service: An Agile Approach Using Cloud Computing (1st edition) by Fox and Patterson, 2014. |
http://www.saasbook.info/home | |
Optional: | Object-Oriented Software Engineering (3rd edition) by Bruegge and Dutoit, Prentice Hall 2004. |
Companion website |
The course focuses on the engineering and development of real-world software products. It provides a pragmatic introduction into the fundamentals of software engineering. Basics of software project management are presented and are practiced in the term project.
Students who complete this course will:
The lecture slides will mostly come from the Sommerville textbook's companion website plus a few changes of my own. The originals can be downloaded from companion website
Some lectures will also be taken from Fox and Patterson (aka ESaaS book) and Bruegge and Dutoit (aka OOSE book).
The lecture slides will be posted on Canvas.
Week | Topic | Background Readings and References | Project-related Discussions |
---|---|---|---|
5/17 | What is Software Engineering? | Sommerville Ch. 1 (Introduction) | Team formation |
5/24 | Software process models | Sommerville Ch. 2 (Software Processes), Ch. 3 (Agile Software Development) | Trello and other project tracking tools |
5/31 | Requirements engineering | Sommerville Ch. 4 (Software Requirements), ESaaS Ch. 7 (Requirements: BDD and User Stories) | How web frameworks work |
6/7 | System perspectives and models | Sommerville Ch. 5 (System Models), OOSE Ch. 2 (Modeling with UML), OOSE Ch. 5 (Analysis) | Git and Github |
6/14 | Architecture | Sommerville Ch. 6 (Architectural Design) | Web application deployment |
6/21 | Design principles and patterns | Sommerville Ch. 7 (Design and Implementation), OOSE Ch. 8 (Design Patterns) | Object modeling discussion |
6/28 | Midterms | ||
7/5 | Testing | Sommerville Ch. 8 (Software Testing), ESaaS Ch. 8 (Test-Driven Development) | Automated testing tools |
7/12 | Software evolution | Sommerville Ch. 9 (Software Evolution), ESaaS Ch. 9 (Maintenance: Legacy, Refactoring, and Agile) | Configuration management tools |
7/19 | Project management revisited (critical paths) | Sommerville Ch. 22 (Project Management) and 23 (Project Planning) | Architecture presentations and discussion |
7/26 | Design principles revisited (SOLID) | ESaaS Ch. 11 (Design Patterns) | |
8/2 | Dependability and critical systems Recap of SE Code of Ethics | Sommerville Ch. 10 (Dependable Systems) Sommerville Ch. 1 (Introduction) | |
8/9 | Finals |
Term Project: | 40% |
Midterm: | 20% |
Final: | 20% |
Quizzes/ Homeworks/ Exercises: |
20% |
Students taking the class as CSCI8836 will also be required to submit a 10-15 page, graduate-level research paper. (Please make an appointment to see me within the first two weeks of class to discuss appropriate topics.)
The term project is discussed in a separate page.
Late homeworks will get a 20% deduction per day, for each day past the due date.
For online submissions, we will follow the time stamp as reported by Blackboard. For example, if the due date is Aug, 24, a submission on Aug. 25 12:01am will get a 20% deduction.
Paper submissions must be handed directly to me on the day it is due.
Cheating will not be tolerated for project assignments, exams and other assignments. For formal policies about cheating and plagiarism, consult the UNO Student Policies and Department of Computer Science Policies and Procedures.