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.explain the stages involved in software development and the issues to be considered at each stage;  
2.compare and contrast different software development methodologies and process models;  
3.explain and apply software engineering best practices and methodologies to software project;  
4.apply and use SE tools and techniques in a software project.  

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.

This course will be taught with a balance of classroom lectures, interactive knowledge-sharing tutorials and a practical mini-project.  The main objective of this teaching/learning approach is to ensure that students not only acquire a broad knowledge of the Software Engineering discipline, but also be able to apply what they have learned to practical software development projects.  The teaching/learning methods will focus on conceptual learning as well as hands-on practical skills. 

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

ILO NoTLAsHours/week(if applicable)
CILO 1 - 3Journal - As a learning and knowledge sharing tool, students are required to keep a reflective journal to record learning progress and useful insights as student progress through this course.  The journal provides evidence to support the learning of SE concepts and will support Course ILO #1, #2 and #3.  
CILO 1 - 3Presentations - Class participation and knowledge sharing is an important part of the learning process.  Students are required to make presentations during tutorial and discuss findings with class.  The teacher will guide discussions and help focus issues.  This activity helps support Course ILO #1, #2 and #3. 
CILO 4Mini-Project - The software project gives students an opportunity to apply SE 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.  This activity supports Course ILO #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 1 Explain the stages involved in software development and the issues to be considered at each stage.
Coursework – The quality of the collective coursework will be used to assess this ILO.
Exam – Questions will be designed to assess students ability to recognize and analyze different issues related to stages of software development.
  
CILO 2Compare and contrast different software development methodologies and process models.
Coursework – The quality of the collective coursework will be used to assess this ILO.
Exam – Questions will be designed to assess students ability to compare and contrast different software development methodologies.
  
CILO 3Explain and apply software engineering best practices and methodologies to software project.
Coursework – The quality of the collective coursework, in particular the mini-project, will be used to assess how well students can follow SE best practices for actual software development.
Exam – Questions will be designed to assess students ability to explain SE best practices and describe the rationale behind these best practices.
  
CILO 4Use SE tools and techniques in a software project.
Coursework – The quality of the mini-projects will be used to assess this ILO.
Exam – Questions will be designed to assess students’ practical skills and knowledge of implementation issues.
  
 
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 Metrics; Software Quality Management; Software Standards; CASE tools.

Related Links
Department of Computer Science