CS4381 Advanced Software Design

Part I

Course Duration: One Semester

Credit Units: 3

Level: B4

Medium of Instruction: English

Pre-requisites:
CS3342 Software Design
and
CS2311 Computer Programming /or CS2331 Problem Solving and Programming
and
CS2312 Problem Solving and Programming /or CS2332 Object-Oriented Programming

Pre-cursors:
MA2144 Discrete Mathematics or
MA2185 Discrete Mathematics or
MA2504 Discrete Mathematics

Equivalent Courses: Nil

Exclusive Courses: Nil

Part II

1.     Course Aims:

This course aims to introduce the advanced techniques for the design of software.  Students will develop their technical competence in modelling and designing sequential and concurrent software to satisfy software requirements of design solutions from multiple perspectives.

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.develop an inquisitive attitude to explore the challenges in developing dependable software,  
2.create software modelling by using an array of semi-informal and formal tools and from multiple perspectives,  
3.develop the competence to reason software models.  

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.

This course focuses mainly on the introduction of the advanced theories, principles and best practice of software engineering techniques using examples of real-life, sequential and concurrent software.

The assignments will challenge the students’ creativity, abstraction skills, and logical thinking.  They provide opportunities for students to tackle the same problem from different modelling perspectives and analyze their design solutions using various software design principles and models.   Based on the Course ILOs, the teaching/learning activities of this course may include:

ILO NoTLAsHours/week(if applicable)
CILO 1 to CILO 3

Concepts and techniques will be conveyed in lectures. The tutorial sessions are used for students to raises questions, evaluate possible solutions and for the course instructor to lead discussions on issues relevant to formal software modelling. Students will apply concepts and skills learnt to work out exercises in the tutorial sessions, and discuss their solutions with peers and the course instructor to reinforce the learnt techniques, and compare them among different modelling choices.

Other coursework include reading assignments on case studies about software design. They provide students opportunities to expand their horizons on how the same or similar problems can be solved in different ways, and understand their advantages and disadvantages, as well as the trade off between different desirable software properties.

 

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·        Coursework - Students are required to conduct a survey on case studies about software design to compare and contrast how different design solutions may solve the same or similar technical problems, as well as make critiques on how to make design decision based on their merits and limitations. The quality and relevancy of their survey findings will be a measure for this ILO.  
CILO 2

·        Coursework - Students are required to model design scenarios by different kinds of semi-informal and formal languages to address the same or similar software requirements. The students are also required to generalize the design solutions so that the solutions can cope with wider classes of scenarios of the same or similar nature. The generality and soundness of the model to solve the design problems illustrated in the given scenarios will be the measures for this ILO.
·        Examination - Students will be assessed by how well and how general they specify correct design to address the given scenarios.

  
CILO 3

·       Coursework - Students are required to apply both informal and formal techniques to walk through the design solutions, or model a formal idea into an informal notation, and vice versa. The correct procedure to conduct walk through and the quality of the walk through and translation will be the measures for this ILO.
·        Examination - Students will be assessed by how well they can reason the properties of design solution.

  

5.
    
Grading of Student Achievement:

Examination duration: 2 hours
Percentage of coursework, examination, etc.: 60% CW; 40% 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 non-functional requirements, state machine diagram, message sequence chart, concurrency, process algebra, refinement, advanced design patterns, architectural patterns.

Related Links
Department of Computer Science