|
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. | CILOs | Weighting(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 No | TLAs | Hours/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 No | Type of assessment tasks/activities | Weighting (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
|