CS2311 Computer Programming
Course Duration: One Semester
Credit Units: 3
Medium of Instruction: English
CS1102 Introduction to Computer Studies /or
CS1302 Introduction to Computer Programming
Equivalent Courses: Nil
Exclusive Courses: Nil
This course aims to equip the students with in-depth concepts and techniques of programming using a high-level object-oriented programming language; and to develop practical skills in producing quality programs.
Course Intended Learning Outcomes (CILOs):
Upon successful completion of this course, students should be able to:
|1.||explain the structure of an object-oriented computer program; ||10%|
|2.||analyze, test and debug computer programs;||15%|
|3.||solve a task by applying effective programming techniques, which involve advanced skills like using recursion and dynamic data structures;||60%|
|4.||design and construct well-structured programs with good programming practices.||15%|
Teaching and learning Activities (TLAs):
(designed to facilitate students’ achievement of the CILOs)
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 a programming language. The laboratory exercises consist of programming tasks 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 formative assessment on their learning progress.
Assignments – The assignments are more challenging tasks compared with laboratory exercises. The students need to analyze the requirements and design programming 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.
|1 (explain the structure of an object-oriented computer program)||Major||Major||--||Minor|
|2 (analyze, test and debug computer programs)||Minor||Major||Major||Minor|
|3 (solve a task by applying effective programming techniques, which may involve advanced skills like using recursion and dynamic data structures)||Major||Major||Major||Major|
|4 (design and construct well-structured programs with good programming practices)||Major||Major||Major||Minor|
(designed to assess how well the students achieve the CILOs)
Sample Assessment Tasks / Activities and Criteria of Each CILO:
|CILO No||Assessment criteria||Assessment tasks / activities|
|1||Correctly explain the structure of an object-oriented computer program ||Quizzes (Minor)|
|2||Select proper test cases to assess the correctness of a program.||Assignment (Major) |
|Find out program errors and make corrections.||Quizzes (Minor)Assignment (Major)|
|3||solve a task by applying effective programming techniques||Quizzes (Major)Assignment (Major)|
|4||design and construct well-structured programs with good programming practices||Quizzes (Minor)Assignment (Major)|
Grading of Student Achievement:
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 for the examination must be obtained.
Program design, development of algorithms, programming language, control structures, data types, multidimensional arrays, file I-O, recursion, pointers and dynamic data structures, object-based programming: data abstraction, classes, and the class library; programming style, program testing, exception handling
Department of Computer Science