CS2331 Problem Solving & Programming

Course Duration: One Semester

Credit Units: 3

Level: B2

Medium of Instruction: English

Pre-requisites: Nil

Pre-cursors: Nil

Equivalent Courses: Nil

Exclusive Courses: Nil

Course Aims:
This course aims to equip the students with basic concepts and techniques of problem solving and programming using a high-level programming language; and to develop practical skills in solving problems with computer programs.


Course Intended Learning Outcomes (CILOs):


Upon successful completion of this course, students should be able to:

No.

CILOs

Priority

1

analyze and modify simple computer programs;
able to use common program development tools

Core

2

analyze simple problems and apply basic problem solving skills/techniques to construct programs with good structures

Core

3

practise good programming discipline

Essential

4

construct object-based programs

Advanced

5

apply advanced programming techniques in programming

Advanced


Teaching and learning Activities (TLAs):
(Indicative of likely activities and tasks students will undertake in this course.  Final details will be provided to students in their first week of attendance in this course.)


Lectures
– Various programming concepts and techniques will be introduced, explained and demonstrated with examples.


Lab
– The laboratory sessions are designed to enable the students to put theory into practice and be proficient in an object-oriented programming language.  The laboratory exercises consist of programming problems and students can try out their programs using a common integrated development environment.  Feedback will be given to students on their work.

Quizzes
– The quizzes assess the students’ achievements at various stages within the semester.  This provides timely feedback on their learning progress.

Assignments
– The assignments are more challenging problems compared with laboratory exercises. The students are to analyze the problems and design solutions by applying (and combining) various techniques learnt from lectures and laboratory exercises. They are also required to implement their solutions as practical computer programs, and to explain their ideas/algorithms using suitable presentation methods (e.g. a report, flowchart, etc).

Suggested lecture/tutorial/laboratory mix:
2 hrs. lecture; 2 hrs. laboratory.

            Correlation between CILOs and TLAs:

CILO No

Lectures

Lab

Assignment

Quiz

1 (analyze/modify simple programs, use of programming tools)

Minor

Major

Minor

Major

2 (problem solving & programming)

Major

Major

Major

Major

3 (programming discipline)

Minor

Major

Major

 

4 (object-based programming)

Major

Major

Major

Major

5 (advanced programming)

Major

Major

Major

Major








(Major: Main focus on the CILO, Minor: Minor focus on the CILO)

Assessment Tasks/Activities:

A.
      Sample Weight of CILOs to Assessment Tasks

ILO No

Assignment

Quiz

Exam

Total

1

 

5%

6%

11%

2

6%

5%

17%

28%

3

9%

 

 

9%

4

5%

7%

20%

32%

5

 

3%

17%

20%

 

20%

20%

60%

100%

 

 

 

 

 

 

 

B.      Assessment Tasks / Activities and Criteria of Each CILO

CILO No

Assessment criteria

Assessment tasks / activities

1

  • Correctly explain the behaviour of simple programs and make simple modifications

  • Able to use a common integrated development environment (with editor, compiler and debugger)

Quizzes and examination

2

  • Effectively perform basic computations

  • Able to analyze simple problems and construct programs with good structures

  • Appropriately use basic data types and arrays in programs

Quizzes, assignments and examination

 

3

  • Able to create comprehensible, well-documented and well-structured programs

Assignments 

4

  • Effectively make use of classes in programs

  • Able to design simple classes in a proper way

Quizzes, assignments and examination

5

  • Able to use advanced programming features (e.g., pointers, dynamic variables, recursion)

Quizzes and Examinations

 












 



 

 

 

 



 









 

 

 

 

 

 

 

 

 

Grading of Student Achievement:
Refer to Grading of Courses in the Academic Regulations (Attachment) and to the Explanatory Notes.

Examination duration: 2 hours
Percentage of coursework, examination, etc.: 40% CW; 60% Exam
Grading pattern: Standard (A+AA-...F)

For a student to pass the course, at least 30% of the maximum mark of the examination must be obtained.

Keyword Syllabus:

Introduction to computers and programming.  Problem solving techniques.  The development of algorithms.  Program design.  Programming language control structures.  Fundamental data types. Dynamic data structures.  Object-oriented programming: data abstraction, classes and the class library.  Programming style.  Program testing.  Program documentation.

Related Links
Department of Computer Science