Course code | CSCI2120 |
Course title | Introduction to Software Engineering 軟件工程導論 |
Course description | This course aims to introduce students to software engineering concepts. Software life cycles and processes: requirements analysis and specifications; design techniques, functional design, object oriented design; implementation methodology, software testing and maintenance; application of CASE tools; documentation. Software Engineering laboratory: a series of exercises to practise the principles of software engineering. 本科旨在介紹軟件工程中的一些基本概念,包括軟件生命周期和過程,需求分析和規範,設計方法,功能設計,面向物件設計,實施方法,軟件測試和維護,CASE 工具的應用以及軟件文檔等。軟件工程實驗室:通過一系列練習來實踐軟件工程中的這些基本原理。 |
Unit(s) | 2 |
Course level | Undergraduate |
Pre-requisite | CSCI1110 or 1120 or 1130 or 1510 or 1520 or 1530 or 1540 or ENGG1110 or ESTR1002 or 1100 or 1102 or (MATH2210 and 2220) or PHYS2351 |
Exclusion | CSCI3100 or IERG3080 or ENGG3820 |
Semester | 1 or 2 |
Grading basis | Graded |
Grade Descriptors | A/A-: EXCELLENT – exceptionally good performance and far exceeding expectation in all or most of the course learning outcomes; demonstration of superior understanding of the subject matter, the ability to analyze problems and apply extensive knowledge, and skillful use of concepts and materials to derive proper solutions. B+/B/B-: GOOD – good performance in all course learning outcomes and exceeding expectation in some of them; demonstration of good understanding of the subject matter and the ability to use proper concepts and materials to solve most of the problems encountered. C+/C/C-: FAIR – adequate performance and meeting expectation in all course learning outcomes; demonstration of adequate understanding of the subject matter and the ability to solve simple problems. D+/D: MARGINAL – performance barely meets the expectation in the essential course learning outcomes; demonstration of partial understanding of the subject matter and the ability to solve simple problems. F: FAILURE – performance does not meet the expectation in the essential course learning outcomes; demonstration of serious deficiencies and the need to retake the course. |
Learning outcomes | At the end of the course of studies, students will have acquired the ability to 1. identify software process for modern systems; 2. know requirement engineering techniques, including software requirements, system specification and modeling; 3. become familiar with software design approaches, including architectural design, distributed system design and object-oriented design; 4. experience software development methods, including rapid software development and component-based software development; 5. realize verification and validation schemes; 6. understand software management issues, including project management, quality management and cost estimation. |
Assessment (for reference only) |
Essay test or exam: 40% Lab reports: 30% Short answer test or exam: 20% Assignments: 10% |
Recommended Reading List | 1. Object-oriented and classical software engineering, Stephen R. Schach, 8th Edition, 2011 2. Object-oriented software engineering : using UML, patterns, and Java, Bernd Bruegge and Allen H. Dutoit, 2nd Edition, 2004 3. Classical and object-oriented software engineering with UML and C++, Stephen R. Schach, 1999 |
CSCIN programme learning outcomes | Course mapping |
Upon completion of their studies, students will be able to: | |
1. identify, formulate, and solve computer science problems (K/S); | TP |
2. design, implement, test, and evaluate a computer system, component, or algorithm to meet desired needs (K/S); |
TP |
3. receive the broad education necessary to understand the impact of computer science solutions in a global and societal context (K/V); | TP |
4. communicate effectively (S/V); |
P |
5. succeed in research or industry related to computer science (K/S/V); |
T |
6. have solid knowledge in computer science and engineering, including programming and languages, algorithms, theory, databases, etc. (K/S); | TP |
7. integrate well into and contribute to the local society and the global community related to computer science (K/S/V); | T |
8. practise high standard of professional ethics (V); | T |
9. draw on and integrate knowledge from many related areas (K/S/V); |
T |
Remarks: K = Knowledge outcomes; S = Skills outcomes; V = Values and attitude outcomes; T = Teach; P = Practice; M = Measured |