CS3367 Essentials of Software Engineering

Part I

Course Duration:  One semester

Credit Units:  3

Level:  B3

Medium of Instruction: English

Pre-requisites:
CS2360 Java Programming /or
CS2362 Computer Programming for Engineers and Scientists /or
CS2363 Computer Programming /or
CS2372 Fundamentals of Programming /or equivalent

Pre-cursors: Nil

Equivalent Courses: Nil

Exclusive Courses: Nil

Part II

1.     Course Aims:

The course aims to introduce students to the software development life cycle and the concepts, methodologies and practices in the application software development cycle.  Students will get exposed the process, methodologies and techniques for building and maintaining software systems.

2.      Course Intended Learning Outcomes (CILOs):
(state what the student is expected to be able to do at the end of the course according to a given standard of performance)

Upon successful completion of this course, students should be able to:
 
No.CILOsWeighting (if applicable)
1.recognize the stages and processes involved in software development; 
2.explain the major software development methodologies and techniques, appreciate their relative merits and limitations, and be able to apply them appropriately to develop good quality software; 
3.apply software engineering best practices in different stages of development. 

3.      Teaching and learning Activities (TLAs):
(designed to facilitate students' achievement of the CILOs)

Teaching pattern:
Suggested lecture/tutorial/laboratory mix: 2 hrs. lecture; 1 hr. tutorial
 
ILO NoTLAsHours/week (if applicable)
CILO 1toCILO 3 Lectures are supported by complementary tutorials which provide opportunities to extend the techniques studied in the lectures.  Through a software design group project, students will be able to consolidate skills learnt as well as experience practical issues involved in software development.

Based on the Course ILOs, the teaching/learning activities of this course may include:

Tutorial – Tutorial consists of technical and discussion questions.  Technical questions provide students with practical cases to tackle at various stages in the software development cycle, whereas discussion stimulates and builds up students’ analytical skills.  These exercises provide evidence to support Course ILO #1 and #2.

Project
– Students are required to form into groups (maximum of 4) and undergo a software design project.  Objective and minimum requirements of the software system will be given, and through the project students will be responsible to design a usable, feasible and practical system.  This project helps students to consolidate the skills learnt as well as tackle practical project management issues arise during the development process.  A project report will be written which provides evidence of critical analysis and software engineering tasks performed throughout the development process. Groups may be selected to present their project and share their learning. This activity supports Course ILO #1, #2 and #3. 
 

4.      Assessment Tasks/Activities:
(designed to assess how well the students achieve the CILOs)

The Course ILOs are assessed using the following approach:

ILO NoType of assessment tasks/activitiesWeighting(if applicable)Remarks
CILO 1Recognize the stages and processes involved in software development.
Coursework – The choice of the software process model with justifications in the project report will be used to assess this ILO.
Quizzes/Mid-Term/Exam – Students are assessed on their understanding through software development case studies.  
  
CILO 2Explain the major software development methodologies and techniques, appreciate their relative merits and limitations, and be able to apply them appropriately to develop good quality software.
Coursework – The quality of the software engineering work products generated in the project will be used to assess this ILO.
Quizzes/Mid-Term/Exam –  Short quizzes which focus on application of software engineering techniques to case studies will be used to assess this ILO. This ILO is also being assessed in the final exam.  Students are required to apply software engineering methodologies and techniques on a number of case studies given in the exam paper. 
  
CILO 3Apply software engineering best practices in different stages of development.
Coursework – Related issues in the project report need to demonstrate the application of software engineering best practices (e.g. design patterns, documentation, testing, logging) throughout the project.  This will be used to assess this ILO. 
  
  

5.     Grading of Student Achievement:

Examination duration: 2 hours
Percentage of coursework, examination, etc.: 50% CW; 50% Exam
Grading pattern: Standard (A+AA-…F)
For a student to pass the course, at least 30% of the maximum mark for the examination must be obtained.

 

Part III

Keyword Syllabus:

Overview of software engineering discipline and process models. Software requirement specifications.  Fundamental software design principles.  Software design methodologies.  Software implementation issues.  Computer-aided software engineering (CASE) tools.  Software testing and validation.  Software engineering best practices: software and design patterns, documentation, testing, logging.  Software maintenance.  Managerial aspects of software engineering.  Social and Ethical Issues.

Related Links
Department of Computer Science