CS3343 Software Engineering Practice

Part I

Course Duration:
One Semester

Credit Units: 3

Level: B3

Medium of Instruction: English

Pre-requisites: Nil

Pre-cursors:
CS3342 Software Design

Equivalent Courses: Nil

Exclusive Courses: Nil

Part II

1.     Course Aims:

This course aims to provide an opportunity for students, in small groups with real role-playing, to practise software engineering principles and techniques, through the development of a larger and really useful software system that meets stated requirements and quality standards, using those common practices used in the software industry.

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.properly apply the principles and techniques of requirements specification and analysis, software design, implementation, testing, delivery, and maintenance;  
2.make project presentations and prepare technical documentation in a clear and concise manner;  
3.work effectively in a team environment;  
4recognize the significance of social, ethical, safety and other professional issues in software engineering.  

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

Teaching pattern:
Suggested lecture/tutorial/laboratory mix:  1 hr. lecture; 1 hr. tutorial; 1 hr. consultation.

Students will work in small groups to work on a real, useful software development project, in order to gain experience in applying the principles and techniques of software engineering, and to practise project management skills in a team environment.  Each group is expected to define clearly the roles of individual members.  Every member will do an oral presentation on the work accomplished, and, in particular, on the individual contribution to the group project.  Project groups will have a choice of any common software engineering tools such as IBM Development Platform (Rational Rose), Oracle, MS SQL Server, SQLite, C++, C# , Java, Python, Ruby, JSP, PSP, ASP.NET, Ruby on Rails, etc.

The tutorial sessions, apart from the normal activities, will provide a forum for students to raise and discuss issues related to the project.  In addition, consultation hours will be made available, so that individual groups can discuss with tutors issues and problems that are specific to them.

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

ILO NoTLAsHours/week(if applicable)
CILO 1
     -
CILO 4

CILO 1
     -
CILO 4 
Lectures - Lecture presentation deliver the course materials (best practices of software engineering) to the students. Students are required to attend the lecture classes. This activity supports all ILOs.

Tutorials and Consultations - The tutorial and consultation sessions are used to review some major points of the course materials and hold group meetings for reviewing all possible artifacts generated by the project groups. Students can also raise and discuss issues related to the project. This activity supports ILO #1, #2, and #3.

Group Project - Students will have to work in small groups to work on a realistic software development project, in order to gain experience in applying the principles and techniques of software engineering, and to practise project management skills in a team environment. Each group is expected to define clearly the roles of individual members. Every member will do an oral presentation on the work accomplished, and, in particular, on the individual contribution to the group project.  This activity supports Course ILO #1, #2, and #3.

Personal reports - These reports records their project progress, the problems they encountered, and how they solved them, and their personal experience of playing the role in the project.  This activity supports all ILOs.
 
 

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 1Properly apply the principles and techniques of requirements specification and analysis, software design, implementation, testing, delivery, and maintenance.

Coursework - The project documents show how well they can apply the learnt practices to real problems.

System Demonstration - The demonstration is used to show how well the real systems developed by the group by applying the practices they have learnt.

Group Review - Each project will be commented by people from other groups on the methods used, and on the deliverables.

Exam - Final exam will include questions to assess the students’ understanding and capability of applying of the practices introduced.
 
  
CILO 2Prepare and present technical documentation in a clear and concise manner.

Coursework - The project documents will show how well they can write the documents.

Oral Presentation - This is used to show if they can present the documents to a group of people effectively.

Group Review - Each project’s presentation will be commented by people from other groups.

Exam - Final exam will include questions to assess the students’ capability of writing clear and correct documents.
 
  
CILO 3Work effectively in a team environment.

Coursework - The project will show how well they can work effectively in a team.

Personal Review - Each person will be commented by people in the same group on his contribution, capability, and teamwork spirits.
 
  
CILO 4Recognise the significance of social, ethical and professional issues in software engineering.

Coursework - The project will show to some extent whether the students can follow the code of ethics for software engineers.

Personal Review - The personal review will show to some extent whether the students can follow the code of ethics for software engineers.
 
  

5.     Grading of Student Achievement: Refer to Grading of Courses in the Academic Regulations (Attachment) and to the Explanatory Notes.

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 50% of the maximum mark for the coursework and 30% of the maximum mark for the examination must be obtained.

Part III

Keyword Syllabus:

Software project management. Requirements elicitation and specification. Design. Implementation. Testing. Maintenance.  Documentation.  Social issues and professional ethics.

Related Links
Department of Computer Science