RU ENG ECE 14:332:452
Software Engineering

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

Spring 2017


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

Ali Rostami
Office hours: Friday 9:00 - 10:00 a.m.  or by appointment
EE-226, EE Building
Yue Gu
Room EE-118, EE Building
Huangcan Li
Room EE-118, EE Building

Tuesday, Friday: 2 (10:20 a.m. - 11:40 a.m.) in SEC-118

Course Description:
The key objective of this course is to learn modular design of software and documenting the design using symbolic representations, i.e., UML diagrams. The course covers software life-cycle models and different phases of the software development process.
The course focuses on hands-on development of demonstrable software, which requires a great deal of programming. However, this is not a programming course in the sense that it does not teach any programming language. We are assuming that the student has a solid programming knowledge and is 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 of five to seven will work on developing complex software systems during the semester. The grading is by-comparison, with the highest rated project(s) receiving the highest grade and the others according to their relative rating.

The issue of which programming language to use often arises, and here is an interesting view: If programming languages were religions...   (or try this). You can also find some great comments at Slashdot here.
Also check The Top Languages of 2012, Written by Mike James | Monday, 07 January 2013.

US News has released its list of the 100 best jobs in 2014, and the No. 1 job on the list is: software developer.
Check also: It's Better To Be A Software Programmer Than A Doctor In 2014
The growing field of computer science: Where are the jobs?, by Toni Bowers | September 24, 2012: The level of employment for computer scientists is expected to grow 19 percent in the next eight years. Check out who’s hiring and what the average salaries are (spoiler: Software Engineer tops the list!)
Check also this U.S Department of Labor website.

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:

More 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)
  Note:  class attendance is critical and the grade will be reduced proportionally by up to 5 %, depending on the number of unexcused missed classes
Exams: 15 % final 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). Please check the detailed project grading policy.

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 cell phone, laptops, or other networked devices are allowed at the exams for two reasons:

  1. to avoid student collaboration during the exam
  2. to deny unfair advantage for students using a digital textbook 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 on how to improve the quality of the course and fairness of the grading process. Email us your suggestions and concerns.

of various materials created in this course

Page created: Oct 27, 1997      
Last modified: Mon Jan 23 21:51:29 2017
Maintained by: Ivan Marsic