Course code | CSCI1540 |
Course title | Fundamental Computing with C++ 基本計算學 (C++語言) |
Course description | This course introduces fundamental computing principles, problem-solving methods and algorithm development, simple data structures, illustrative applications. The C++ programming language will be used. 本科介紹基本計算學原理、問題求解方法及算法開發、簡單數據結構、應用示例。本科使用高級程序設計語言”C++”講授。 |
Unit(s) | 3 |
Course level | Undergraduate |
Exclusion | CSCI1020 or 1110 or 1120 or 1130 or 1510 or 1520 or 1530 or ESTR1100 or 1102 |
Semester | 1 |
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 Objectives | At the end of the course of studies, students will have acquired 1. the skills to write, understand, compile and debug C++ programs; 2. the skills to write programs using the basic programming elements such as variables, data types, selection and looping control structures, functions, and arrays; 3. the understanding of the basic concepts of call-by value, call-by-reference and function overloading; 4. the skill to perform dynamic memory allocation and manage pointers; 5. the skill to write applications using elementary data structures such as 2-D array and strings, etc. |
Learning outcomes | At the end of the course of studies, students will have acquired the ability to 1. write, understand, compile and debug C++ programs; 2. write programs using the basic programming elements such as variables, data types, selection and looping control structures, functions, and arrays; 3. understand the basic concepts of call-by value, call-by-reference and function overloading; 4. perform dynamic memory allocation and manage pointers; 5. write applications using elementary data structures such as 2-D array and strings, etc.; |
Assessment (for reference only) |
Exam: 60% Programming Assignments: 40% |
Recommended Reading List | 1. Walter Savitch, Problem Solving with C++ (6th edition), Addison-Wesley. 2006 2. Bjarne Stroustrup, The C++ Programming Language (3rd Edition), Addison-Wesley. 3. Stephen Prata, C++ Primer Plus (5th Edition), Sams. |
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); | |
4. communicate effectively (S/V); |
|
5. succeed in research or industry related to computer science (K/S/V); |
|
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); | |
8. practise high standard of professional ethics (V); | |
9. draw on and integrate knowledge from many related areas (K/S/V); |
|
Remarks: K = Knowledge outcomes; S = Skills outcomes; V = Values and attitude outcomes; T = Teach; P = Practice; M = Measured |