CSCI1540 Fundamental Computing with C++

 

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