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

ENGG1340 Computer Programming II

ENGG1340 Computer Programming II

2021-22
Instructor(s):Chim T W
(Class A) No. of credit(s):6
Luo Ruibang
Qian Chenxiong
(Class B)
Luo Ruibang
Qian Chenxiong
(Class C)
Recommended Learning Hours:
Self-study & practical modules: 39.0
Lecture: 2.0
Tutorial: 13.0
Pre-requisite(s):ENGG1330
Co-requisite(s):  
Mutually exclusive with:  
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 advanced Python programming, Linux shell commands, shell scripts, C programming, and separate compilation techniques. 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, 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, classes, STL2, 3, 4
Data structures and algorithms Mapped to CLOs
Data structures: Array, linked-list, stack, queue, tree and graph2, 3, 4
Algorithms: searching (interpolation search) and sorting (quicksort and mergesort) algorithms2, 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