Course Information
ENGG1340 Computer Programming II

ENGG1340 Computer Programming II

2018-19
Instructor(s):Choi Loretta
Luo Ruibang
(Class A) No. of credit(s):6
Choi Loretta
Luo Ruibang
(Class B)
Recommended Learning Hours:
Lecture: 39.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 Python/C++. Able to utilize debuggers and techniques like separate compilation and make files to simplify and speed up the development.
3. [Advanced programming techniques]
Be able to understand and apply the principles of advanced programming techniques including recursion, C++ classes, 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:

Detailed Description:

Linux Environment, Tools and Scripting Languages Mapped to CLOs
Linux shell and Linux commands1, 4
Shell scripts1, 4
Makefile and compilation tools1, 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, 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)