Courses Offered

ENGG1340 Computer Programming II

ENGG1340 Computer Programming II

2020-21
Instructor(s):Choi Loretta
Chim T W
(Class A) No. of credit(s):6
Choi Loretta
Luo Ruibang
(Class B)
Choi Loretta
Luo Ruibang
(Class C)
Recommended Learning Hours:
Lab Session: 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
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