2017/2018, Semester 1
School of Computing (Computer Science)
Modular Credits: 4
Lecture 1: Numerical computation
Lecture 2: Selection
Fri (1 Sep): Public holiday
Lecture 3: Repetition
Lecture 4: Incremental Programming
Lecture 5: Algorthmic Testing / C Pointers
(Friday 22 Sep. 5-7pm @ LT7A)
Mon (18 Sep) 4-6pm: Mid-Semester Test
Lecture 6: Functions
Practical Assessment 1 (5%)*
Lecture 7: Procedures
Lecture 8: Composite data types
Wed (18 Oct): Public holiday
Lecture 9: Problem solving with arrays
Practical Assessment 2 (10%)*
Lecture 10: Strings
Lecture 11: Recursion
Lecture 12: Revision
Practical Assessment 3 (15%)*
Exam: 30 Nov 2017 (AM)
* All assessments will be held during the usual lab time slot for the week. A makeup (on the Friday of the same week) will be granted upon submission of a valid proof of absence (e.g. medical certificate, official leave document).
40%: Final exam (closed book)
15%: Mid-Semester Test (closed book)
30%: Practical assessment (closed book)
8%: In-class lab exercises
2%: Online quizzes
5%: Tutorial participation
This module introduces the fundamental concepts of problem solving by computing and programming using an imperative programming language. It is the first and foremost introductory course to computing and the first part of a three-part series on programming and problem solving by computing, which includes CS1020 and CS2010. Topics include problem solving by computing, writing pseudo-codes, problem formulation and problem solving, program development, coding, testing and debugging, fundamental programming constructs (variables, types, expressions, assignments, functions, control structures, etc.), fundamental data structures: arrays, strings and structures, simple file processing, and basic recursion. This module is appropriate for FoE students.
Interpret and analyse general engineering problems, leading to the design and specification of an algorithm to solve the problem.
Implement the algorithmic specifications by writing a computer program.
Use of software tools to write, compile and execute programs.
Verify that the program implementation meets the problem specifications using techniques of code tracing, testing and debugging.
Use of good programming practices such as proper programming style and program modularity.
Lecture: 2 hours weekly
Tutorial: 1 hour weekly (starting from 28 Aug)
Lab: 2 hours every Wednesday (starting from 30 Aug)
CG1101, CS1010, CS1010FC, CS1010S, CS1101, CS1101C, CS1101S
Workload Components : A-B-C-D-E
A: no. of lecture hours per week
B: no. of tutorial hours per week
C: no. of lab hours per week
D: no. of hours for projects, assignments, fieldwork etc per week
E: no. of hours for preparatory work by a student per week