CSE 451: Software Engineering

Offered Under: B.Sc. in Computer Science & Engineering (CSE)

This course is designed to provide you opportunity to gain knowledge and skills necessary to analyse, design and implement complex software engineering projects. The course focuses on taking a group development project from beginning to end. The project based approach used requires you to review and refine your design iteratively based on regular feedback. Topics include: Software as product and process; Project management and planning; tracking and scheduling; risk analysis and quality assurance techniques; configuration management; Project and process metrics, size and function oriented metrics; Software testing techniques: black box and white box techniques, Testing strategy: unit, integration and system testing; Concepts of object-oriented, event-driven and network programming, client-server architecture, web engineering. 

Course Type Major
Credit Hour 3
Lecture Hour 45
Expected Outcome(s):
  • Explain and apply the main aspects of software engineering
  • Evaluate requirements for a software system and apply the process of analysis and design using the object-oriented approach.
  • Employ group working skills including general organization, planning and time management and inter-group negotiation.
  • Translate a requirements specification into an implementable design, following a structured and organized process.
  • Formulate a testing strategy for a software system, employing techniques such as unit testing, test driven development and functional testing.

Suggested Books:
  1. Software Engineering: A Practitioner's Approach by Roger Pressman and Bruce Maxim
  2. Software Engineering (9th Edition) by Ian Sommerville

Grading Policy:

Biweekly Quiz, One Midterm Exam, One Final Exam, Project

Letter Grade Marks Grade Point
A 90 - 100 4.00
A- 85 - 89 3.70
B+ 80 - 84 3.30
B 75 - 79 3.00
B- 70 - 74 2.70
C+ 65 - 69 2.30
C 60 - 64 2.00
C- 55 - 59 1.70
D+ 50 - 54 1.30
D 45 - 49 1.00
F 00 - 44 0.00