CSCI 4830/8836: Introduction to Software Engineering

Summer 2016
Meeting time: M 6:00-7:30PM and online
Classroom: PKI 160
Instructor: Dr. Harvey Siy
Office: PKI 281B
Phone: (402)554-2834
Email: hsiy at unomaha dot edu
Office Hours: By appointment (call or email ahead)
Textbook: Software Engineering (9th edition) by Ian Sommerville, Addison-Wesley, 2010
  Companion website
  link to 8th Edition
Textbook: Engineering Software as a Service: An Agile Approach Using Cloud Computing (1st edition) by Fox and Patterson, 2014.
Optional: Object-Oriented Software Engineering (2nd edition) by Bruegge and Dutoit, Prentice Hall 2004.


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.

Learning Objectives

Students who complete this course will:

Course content:

  1. Overview and motivations
  2. Requirements analysis
  3. Software design
  4. Verification and Validation
  5. Software evolution
  6. Project management
  7. Advanced topics

How the hybrid course works

We will meet every Monday (except for two holidays) until August 8. The meeting times will primarily be used for class discussions as well as project discussions. To prepare for class discussions, the lecture materials will be uploaded and students will be expected to read them before the next meeting.

For the first few weeks of the summer, we will concentrate on the Engineering Software as a Service book, and will go through exercises to prepare you to do test-driven, Ruby-on-Rails projects.


Term Project: 40%
Midterm: 20%
Final: 20%

Exam dates (tentative)

  1. Midterm - June 27
  2. Final - August 8

Graduate student research paper

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.)

Term Project

The term project is discussed in a separate handout.


Exercises will mainly prepare you for the technical aspects of developing software using Ruby-on-Rails as well as good software engineering practices.

Policy on late homeworks

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.

Academic Integrity

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.