Form 2B City University of Hong Kong Information on a Course

advertisement
Form 2B
City University of Hong Kong
Information on a Course
offered by Department of Computer Science
with effect from Semester A in 2014 / 2015
Part I
Course Title: Computer Programming
Course Code: CS2311
Course Duration: One Semester
No. of Credit Units: 3
Level: B2
Medium of Instruction: English
Prerequisites: (Course Code and Title)
CS1102 Introduction to Computer Studies or
CS1302 Introduction to Computer Programming
Precursors: (Course Code and Title)
Nil
Equivalent Courses: (Course Code and Title)
CS2310 Computer Programming
Exclusive Courses: (Course Code and Title)
CS2313 Computer Programming
Part II
1.
Course Aims:
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.
2.
Course Intended Learning Outcomes (CILOs)
(state what the student is expected to be able to do at the end of the course according to a given standard of performance)
Upon successful completion of this course, students should be able to:
No. CILOs
Weighting
(approx.)
1.
2.
3.
4.
3.
explain the structure of an object-oriented computer
program;
analyze, test and debug computer programs;
solve a task by applying effective programming techniques,
which involve advanced skills like using recursion and
dynamic data structures;
design and construct well-structured programs with good
programming practices.
10%
15%
60%
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.
CILO No
1 (explain the structure of an object-
Lecture Lab
Assignment
Major Major
--
Quiz
Minor
oriented computer program)
2 (analyze, test and debug computer
programs)
3 (solve a task by applying effective
programming techniques, which
may involve advanced skills like
using recursion and dynamic data
structures)
4 (design and construct wellstructured programs with good
programming practices)
Minor
Major
Major
Minor
Major
Major
Major
Major
Major
Major
Major
Minor
(Major: Main focus on the CILO, Minor: Minor focus on the CILO)
4.
Assessment Tasks/Activities
(designed to assess how well the students achieve the CILOs)
Sample Assessment Tasks / Activities and Criteria of Each CILO:
CILO Assessment criteria
No
1
Correctly explain the structure of an objectoriented computer program
2
Select proper test cases to assess the
correctness of a program.
Find out program errors and make corrections.
3
solve a task by applying effective
programming techniques
4
design and construct well-structured programs
with good programming practices
Assessment tasks /
activities
Quizzes (Minor)
Exam (Minor)
Assignment (Major)
Quizzes (Minor)
Assignment (Major)
Exam (Minor)
Quizzes (Major)
Assignment (Major)
Exam (Major)
Quizzes (Minor)
Assignment (Major)
Exam (Minor)
5. Grading of Student Achievement: Refer to Grading of Courses in the Academic Regulations
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 for the
examination must be obtained.
Part III
Keyword Syllabus:
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
Syllabus:
1. Computers and programming
Hardware/software hierarchy, the computer as a multi-level language machine.
The software development process. Program development environments.
2. Programming techniques and the development of algorithms
Algorithms, programming language, modular decomposition and procedural
abstraction, automatic and dynamic variables, parameter-passing by reference and
by value for atomic data, objects, and arrays, control structures, iteration,
recursion, exception handling.
3. Data structures
The concept of data types. Simple data types. Arrays. Strings. Files. Data
abstraction: encapsulation, information hiding. Defining and using classes. The
class library. Pointers. Dynamic data structures (eg. dynamic array, linked list).
4. Program development practice
Professional programming styles. Program testing. Program documentation.
Recommended Reading:
Essential Text
Walter Savitc, Absolute C++. 4th Ed. Addison-Wesley (2010)
Supplementary Reading
S.B. Lippman, J. Lajoie and B. Moo. C++ Primer. 5th Ed., Addison Wesley (2012)
H.M. Deitel & P.J. Deitel C++ How to Program. 8th Ed., Pearson Int. Edition (2011)
Online Resources:
Programming Assignment aSsessment System (PASS)
https://pass3.cs.cityu.edu.hk/
Download