CEN 5035 - Software Engineering
Course Code: CEN 5035
Course Name: Software Engineering
Credits (Lecture – Tutorial - Practical): 3 (3-0-0)
Program: [Link]. (CISE)
Course Status: Elective (Engineering)
Course open for: CISE
Semester: 8
Batch: 2018
Pre-Requisites: NA
Faculty: Alin Dobra
___________________________________________________________________________
Course objective:
Since 1960s, software engineering aimed to put more science into
the art of programming. Traditional techniques like plan-and-docu-
ment (in various forms) have been long touted and standardized as
the proper way to build a significant software product. In the last
decade (2000+) a new philosophy developed that contradicts the
traditional thinking: agile development. In this class, we will take a
close look at various software engineering techniques but put an
emphasis on agile development. More importantly, you will use agile
development for a significant project to demonstrate your ability to
apply its principles. The fastest growing segment of software devel-
opment -- particularly suited for agile development -- is web/cloud-
related technologies. This course will have a large emphasis on SaaS
(software-as-a-service) and web-based user interfaces. Essentially,
your project will consist of a cloud service together with a web and
possibly smartphone interface.
___________________________________________________________________________
Course Content:
• Introduction
• Behaviour-Driven Design and User Stories
• Test-Driven Development
• Legacy, Refactoring and Agile
• Scrum, Pairs and Version Control Systems
• Plan-and-Document perspective
• Performance, Releases, Reliability and Security
Learning Resources:
Only online resources will be used for the class
Programming Environment:
You can use any development environment and programming language appropriate
for class assignments or project works. This course involves group assignments, and
individual requirements will vary according to team interests and skills.
Textbooks:
Only online resources will be used for the class
Evaluation: 90% of your grade in the course will come from the project, and 10% of your
grade will be on short assignments related to class material
The project is divided into 4 sprints. Each sprint is 2 weeks. You get evaluated at the end of
every sprint. Groups of 4 students are strongly encouraged (2 for frontend, 2 for backend). No
larger group will be allowed.