The School of Computing and Data Science (https://www.cds.hku.hk/) was established by the University of Hong Kong on 1 July 2024, comprising the Department of Computer Science and Department of Statistics and Actuarial Science.

Courses Offered

COMP2113 Programming Technologies

COMP2113 Programming Technologies

2024-25
Instructor(s):Chim T W
(Class A) No. of credit(s):6
Qian Chenxiong
Chim T W
(Class B)
Qian Chenxiong
Chim T W
(Class C)
Recommended Learning Hours:
Self-study & practical modules: 39.0
Lecture: 2.0
Tutorial: 13.0
Pre-requisite(s):COMP1117 or ENGG1330
Co-requisite(s):  
Mutually exclusive with:COMP2123 or ENGG1340
Remarks:

Course Learning Outcomes

1. [Programming environment and technologies] Able to work comfortably on the Linux platform and utilize its basic functionalities for program development.
2. [Problem solving and program implementation] Able to understand and analyse a problem and implement appropriate solutions correctly using C/C++. Able to utilize debuggers and techniques like separate compilation, make files and version control to simplify and manage the program development process.
3. [Advanced programming techniques] Be able to understand and apply the principles of advanced programming techniques including recursion, dynamic memory management, STL, data structures and algorithms.
4. [Self learning] Be able to self-learn various programming techniques effectively.
Mapping from Course Learning Outcomes to Programme Learning Outcomes
 PLO aPLO bPLO cPLO dPLO ePLO fPLO gPLO hPLO iPLO j
CLO 1TT
CLO 2TTT
CLO 3TTTT
CLO 4T

T - Teach, P - Practice
For BEng(CompSc) Programme Learning Outcomes, please refer to here.

Syllabus

Calendar Entry:
This course covers intermediate to advanced computer programming topics on various technologies and tools that are useful for software development. Topics include Linux shell commands, shell scripts, C/C++ programming, and separate compilation techniques and version control. This is a self-learning course; there will be no lecture and students will be provided with self-study materials. Students are required to complete milestone-based self-assessment tasks during the course. This course is designed for students who are interested in Computer Science / Computer Engineering.

Detailed Description:

Linux Environment, Tools and Scripting Languages Mapped to CLOs
Linux shell and Linux commands1, 4
Shell scripts1, 4
Makefile and compilation tools and version control1, 4
C/C++ programming Mapped to CLOs
C/C++ programming basics: variables, flow of control, functional abstractions, array and C-string, file I/O, complex data type2, 4
Advanced C/C++ programming: pointers, dynamic memory management, recursion, classes, STL2, 3, 4
Implementation of basic data structures (array, linked-list) and algorithms (searching and sorting)2, 3, 4

Assessment:
Continuous Assessment: 70%
Written Examination: 30%

Teaching Plan

Please refer to the corresponding Moodle course.

Moodle Course(s)

Don't have an account yet? Register Now!

Sign in to your account

Don't have an account yet? Register Now!

Sign in to your account