CPE441 Software Engineering and Ethics

Course Description

This course aims to introduce students to object-oriented programming by building on the understanding of procedural programming and provide them with object-oriented programming skills to solve computational problems. The course includes practicing object-oriented programs development, editing, compiling, linking, and debugging using Java. The core of this course is studying objects and classes and how they are used to represent data. Through the study of objects and classes, this course introduces students to the concepts of inheritance, polymorphism, abstraction, overriding, reuse, encapsulation, etc…


Please join the course facebook group: 



Course Syllabus

Chapter-1: Introduction

Chapter-2: Software Processes

Chapter-3: Agile Software Development

Chapter-4: Requirements Engineering 

Chapter-5: System Modeling

Chapter-6: Architectural Design

Chapter-7: Design Implementation

Engineering Ethics


EAdditional Resources

Boehm's Spiral Model Video

Rational Unified Process Video



All lab assignments should be submitted to the following email: This email address is being protected from spambots. You need JavaScript enabled to view it.

If there are several files in your submission, compress the files and submit a .rar or .zip file. 

Late submissions (after the deadline) will not be accepted.


 Assignment#                            Assignment Documents   Assignment Deadline

Read the paper and summarize it using IEEE A4 conference template with up to 4 pages. Submit your work in pdf format.




Saturday October 19th Midnight  

Tuesday October 22nd Midnight



Saturday December 28th Midnight