CSCI1110 Introduction to Computing Using C


Course code CSCI1110
Course title Introduction to Computing Using C
Course description This course introduces the computer-oriented problem-solving methods and algorithm development; structured programming concepts; concepts of abstract data types; simple data structures such as array, pointers and linked lists; illustrative applications. The C programming language will be used.
本科介紹面向計算機的問題求解方法及算法開發;結構化程序設計概念;抽象數據類型概念;簡單數據結構如數組、指針及鏈接表;應用示例。本科使用高級程序設計語言” C”講授。
Unit(s) 3
Course level Undergraduate
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 1. Be able to take a specification of a problem of moderate complexity, and construct a structured C program that solves the problem;
2. Be able to apply basic design principles such as top-down and modular designs when constructing programs;
3. Be able to write, understand, compile and debug C programs;.
4. Be able to direct program control flows using iterative and selection control structures;
5. Be able to implement/call functions with parameters and pass parameters by values and by references;
6. Be able to declare and process Arrays;
7. Be able to perform dynamic memory allocation and manage pointers;
8. Be able to perform basic console and file I/O;
9. Be able to implement and understand recursive functions;
(for reference only)
Essay test or exam :30%
Assignment :30%
Short answer test or exam :40%
Recommended Reading List 1. C By Dissection by Al Kelley and Ira Pohl 4th ed., Addision-Wesley Publishing Co. Inc.
2. C: How to program by H.M. Deitel & P.J. Deitel 3rd ed., Prentice Hall
3. The C Programming Language by Brian W. Kernighan & 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