CS3354 Software Engineering

Part I

Course Duration: One Semester

Credit Units: 3

Level: B3

Medium of Instruction: English

Pre-requisites: Nil

Pre-cursors:
CS2360 Java Programming; or
CS2363 Computer Programming

Equivalent Courses: Nil

Exclusive Courses: Nil

Part II

Course Aims:
This course provides students with a broad introduction to Software Engineering (SE) concepts and principles.  Topics to be covered include software development lifecycles, software requirements, software design, and software testing.  In addition, practical tools, and techniques and methodologies will be introduced.  The main objective is to ensure students have an understanding of how software engineering principles and best practices can be applied to actual software development.

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.demonstrate the attitude to critically evaluate the stages involved in software development and the essential software engineering methodologies;  
2.develop the ability to apply SE techniques and use SE tools for software development;  
3.develop the ability to apply software engineering best practices  for quality software;  
4.explore elements of new SE methods that will enhance software development.  

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. 

Based on the Course ILOs, the teaching/learning activities of this course may include:
 
ILO NoTLAsHours/week(if applicable)
CILO
1 - 4
Lectures – Basic concepts of software development processes are explained.

Tutorials – Besides discussions on the major concepts, hands on exercises on using analysis and design tools are provided. Case studies are used to build up students' analytical skills.

Mini-Project – The software project gives students an opportunity to apply SE tools and best practices learned in class to actual software development.  The mini-project may include software requirements, design, implementation, and testing.  The mini-project should be documented in a final project report.   
 

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 1 & 2Stages in software development; 

Coursework – The quality of the collective coursework will be used to assess this ILO.
Exam – Students will be assessed on their understanding of the processes in the software development life cycle. 
  
CILO 1 & 2Essential software engineering methodologies, and SE techniques and tools;

Coursework – The quality of the collective coursework, in particular the mini-project, will be used to assess how well students can apply the SE techniques and tools for actual software development.
Exam – Students will be assessed on their ability to explain SE methodolgies and appy relevant techniques on given case studies. 
  
CILO 3SE best practices;

Coursework – The quality of the mini-projects will be used to assess this ILO.
Exam – Students will be assessed their actual understanding on the related experience in their mini-project.  
  
CILO 4Integration and exploration.

Coursework – Students should find opportunities to consolidate some of the concepts learned in their mini-projects.
Exam – Students will be assessed on the critical evaluation and exploration of key ideas.  
  

Grading of Student Achievement:

Examination duration: 2 hours
Percentage of coursework, examination, etc.: 40% CW; 60% 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:

Software Development Process Models; Software Requirement Analysis; Software Design; Implementation issues; Software Testing; Project Planning and Scheduling; Development Methodologies; Software configuration Management; Software Quality Management; Software Standards; CASE tools.

Related Links
Department of Computer Science