CS2301 Problem Solving and Programming

Course Aims & Objectives:
This course aims to introduce the concepts and techniques of problem solving using a structured high-level programming language. It integrates ideas of data abstraction with programming techniques to lay the foundation for good programming practice. 

Upon completion, students should be able to:

  1. analyse simple problems and develop quality computer programs for their solution;
  2. define data abstractions and implement the abstractions with a programming language.
  3. practise good programming discipline.

Units: 3

Level: B2

Medium of Instruction: English

Keyword Syllabus:
An introduction to computers and programming. Problem solving techniques and the development of algorithms. The realisation of algorithms as programs. Program design: procedural abstraction, recursion. Programming language constructs. Basic data types and structures. Dynamic data structures. Data abstraction. Program testing and documentation. Elements of programming style.

Teaching Pattern:
Duration of course: 1 semester
Current mix of lecture/tutorial/laboratory, other: 2 hrs. lecture; 2 hrs lab.

Assessment Pattern:
Examination duration: 2 hours
Percentage distribution of marks for coursework, examination, other: 40% CW; 60% Exam.
Grading pattern: Standard (A+AA-...F)
For a student to pass the course, at least 30% of the maximum mark for the examination must be obtained.

Pre-requisite(s): Nil

Pre-cursor(s): Nil

Equivalent Course(s):
*CS3100 Foundations of Computer Science

Related Links
Department of Computer Science