RU ENG ECE 14:332:452
Software Engineering

PDF document of the lecture notes (software engineering book) is available here   PDF icon

Spring 2020     Index: 00614


Lecture Schedule and Projects

Ivan Marsic
Office hours: Tuesday 12:00 - 1:00 p.m., Friday 1:00 - 2:00 p.m.
Room 711, CoRE Building
Phone: (848) 445-6399
( Appointments other than office hours have to be requested by email with the subject of appointment explained. )

Kartik Rattan
Office hours: Tuesday 12:00PM to 2:00PM  or by appointment
EE-226, EE Building
Amod Deo
Room EE-224, EE Building
Sanyam Jain
Room EE-224, EE Building

Tuesday, Friday: 2 (10:20 a.m. - 11:40 a.m.) in Richard Weeks Hall, room #105

Course Description:
The key objective of this course is to learn modular design of software and describe the design using symbolic representations (UML diagrams). The course covers software life-cycle models and different phases of software development process.
The course focuses on team-based, hands-on development of demonstrable software, which requires a great deal of programming. However, this is not a programming course and does not teach any particular programming language. Students are assumed to have solid programming knowledge and are ready to learn best practices and ideas about software development. An ideal background knowledge includes a traditional programming language, such as Java, C++, or C#, and Web programming languages, such as PHP and JavaScript, as well as relational database programming (using SQL).
Student teams will work on developing complex software systems that will be graded both on quality and size.

14:332:351, Programming Methodology II.
If you do not have a solid knowledge of a programming language, preferably an object-oriented language, then you should not take this course.

Russ Miles and Kim Hamilton:   Learning UML 2.0
Reilly Media, Inc. 2006.
Book information at:
ISBN-10: 0596009828   |   ISBN-13: 978-0596009823

Robert W. Sebesta: Programming the World Wide Web, 8th edition
Addison-Wesley, 2014.
ISBN-10: 0133775984   |   ISBN-13: 978-0133775983
Book information at:

Scott Chacon and Ben Straub: Pro Git, 2nd edition
Apress, 2014. (2nd ed. 2014 edition)
ISBN-10: 1484200772   |   ISBN-13: 978-1484200773
Download here a free copy
Book information at:

Additional relevant books

Course Lecture Notes:
Lecture Notes - Software Engineering · by Ivan Marsic
(Includes solved problems)
Note that only Chapters 1 - 5 are covered in this course.

For UML tutorials and reference documents, also check

Click here for the optional online readings page.

Course Projects:
Hands-on design projects are the key component of the course. Team work is required for the projects.

Click here for the description of how to work on team projects. All students are urged to examine this document carefully, since the project constitutes the main part of the final grade.

Click here for the list of class projects and their descriptions.

Project deliverables and deadlines are listed here.

Grading: (subject to change)
Quizzes 20 %     → a 20-minute quiz will be taken at the start of each lecture (except the first two)
  Note:  Class attendance is critical and the grade will be reduced proportionally by up to 5 %, depending on the number of unexcused missed classes.
  Up to four (4) absences can be excused by email notification without penalty. Absences in excess of the first four must be reported as “authenticated absences”.
Exams: 15 % midterm exam
Project reports (total 3): 10 % first,   11 % second,   12 % third
Project demos (total 2): 16 % each
Project e-Archive: (∗) Can reduce the overall grade by 10 % if missing or inadequate

Observe that 35 % of the grade is individual-based (questions and exams), and 65 % is team-based (project deliverables). Check the grading policy for team projects.

Requests for grade review will be considered no later than two weeks after notification of the grade.

All exams and quizzes are open book, meaning that the students can have access to the textbook or any other paper-based materials.
No phones, laptops, or other networked devices are allowed during exams for two reasons:

  1. to avoid student collaboration during the exam
  2. to avoid unfair advantage for students using a digital course materials to quickly search the exam topics.
No discussion is allowed among the students during the exam. Such students shall be asked to leave the classroom.
There will be no makeup exams.

See also: Policy on Academic Integrity for Undergraduate and Graduate Students.

Students with Special Needs:
The University policy states that:
“It is the student’s responsibility to confirm with the course supervisor that all arrangements are in place well in advance of the scheduled date of the exam.”

If the student fails to make arrangements before the exams, we may not be able to accomodate last-moment requests.

See: Office of Disability Services for Students.

We’d be very happy to receive suggestions for improving the quality of the course and fairness of the grading process.  Email us your suggestions and concerns or post anonymously at

Page created: Oct 27, 1997      
Last modified: Fri Jan 17 14:17:29 EST 2020
Maintained by: Ivan Marsic