CSE3044 - Software Engineering

Course Syllabus

Catalog Data

The goal of this class is to have the juniors of the computer engineering department learn the stages of software development and apply basic techniques used in these stages. In this class, students will find opportunities to experience potential problems encountered during software development either as a standalone system or as a part of a whole system and learn to generate alternative solutions for these problems.

Course Outline

  1. Introduction
  2. Software Processes
  3. Requirements
  4. Critical Systems
  5. SW Design (Different Aspects of SW Design)
  6. (Basics of Web Applications)
  7. Verification and Validation (V&V)
  8. SW Testing (Verification and Validation Techniques)
  9. Black Box Testing
  10. White Box Testing
  11. SW Cost Estimation (as time may allow)

Books & Resources

Text Book: Software Engineering, Ian Sommerville, 8th edition, Addison-Wesley, 2007

References:

  • Software Engineering for Internet Applications, Eve Andersson, Philip Greenspun, and Andrew Grumet, MIT Press, 2006
  • The Unified Software Development Process, Ivar Jacobson, Grady Booch and James Rumbaugh, Addison Wesley, 1999

Prerequisites

CSE355 + Proficiency in an OOP Language (Java, C#, C++)

Grading (Tentative*)

Activity Weight
Midterm 15%
Final (Comprehensive) 40%
Attendance & Quizzes 5%
Term Project** 40%

* Tentative means that the percent weight of any above assessment activity may be changed without any prior notice

** To pass this class you are required to submit the term project!

Any type of plagiarism will not be tolerated. For any type of cheating or plagiarism in any activity for this class (including not only exams but also any coding and documenting part of the project and even the quizzes) the student(s) involved will be faced with failing the class and the necessary disciplinary action will be taken depending on the specific activity.