|Course title||Computer Principles and C Programming
|Course description||This course introduces computer programming in C. Students will learn the functional elements of a computer system, modern programming concepts, problem solving and creation of computer applications. Students will be able to apply these computing skills in various disciplines. This course also provides a foundation to further study in advanced computing topics.
本科通過高級程序設計語言 C 來介紹計算機程序編寫。學生將學習計算機系統的基本運作單元，現代程序設計概念，問題解决方案，並親自建立應用程序。學生將能夠應用這些計算技術於不同的學術領域上，也為進階的計算機科學學習打好根基。
|Exclusion||CSCI1010 or 1110 or 1120 or 1130 or 1520 or 1530 or 1540 or ENGG1100 or ENGG1110 or ENGG2600 or 2601 or ESTR1000 or 1002 or 1100 or 1102 or 200|
|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||1. Be able to comprehend, edit, compile, execute and correct C programs;
2. Be able to use the C language elements such as variables, expressions, data types, statements and functions comprehensively to create a complete C program;
3. Be able to analyze, design and implement a solution to solve a problem by means of programming.
(for reference only)
|Final exam: 40%
Mid-term exam: 30%
Programming Assignment: 30%
|Recommended Reading List||1. C By Dissection by Al Kelley and Ira Pohl 4th ed., Addision-Wesley
2. C: How to program by H.M. Deitel and P.J. Deitel 3rd ed., Prentice Hall
3. The C Programming Language by Brian W. Kernighan and Dennis M. Ritchie, Prentice Hall
|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);
|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|