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 a | PLO b | PLO c | PLO d | PLO e | PLO f | PLO g | PLO h | PLO i | PLO j |
CLO 1 | | T | | | | | | | | T |
CLO 2 | | | T | T | | | | | | T |
CLO 3 | T | | T | T | | | | | | T |
CLO 4 | | | | | | | | | T | |
T - Teach, P - Practice
For BEng(CompSc) Programme Learning Outcomes, please refer to
here.
|
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 commands | 1, 4 |
Shell scripts | 1, 4 |
Makefile and compilation tools and version control | 1, 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 type | 2, 4 |
Advanced C/C++ programming: pointers, dynamic memory management, classes, STL | 2, 3, 4 |
Data structures and algorithms |
Mapped to CLOs
|
Data structures: Array, linked-list, stack, queue, tree and graph | 2, 3, 4 |
Algorithms: searching (e.g., interpolation search) and sorting (e.g., quicksort and mergesort) algorithms | 2, 3, 4 |
|