Course Information
ENGG1111 Computer Programming and Applications

ENGG1111 Computer Programming and Applications

2017-18
Instructor(s):Mitcheson George
(Class A) No. of credit(s):6
Mitcheson George
(Class B)
Schnieders Dirk
(Class C)
Schnieders Dirk
(Class D)
Choi Loretta
(Class E)
Choi Loretta
(Class F)
Recommended Learning Hours:
Lecture: 27.0
Lab Session: 12.0
Pre-requisite(s):  
Co-requisite(s):  
Mutually exclusive with:COMP1117 or CSIS1117 or ENGG1013 or ENGG1014
Remarks:

Course Learning Outcomes

1. [Computational mind]
Able to identify possible solutions for problems based on computer programs.
2. [Program implementation]
Able to implement solutions for problems using C++.
3. [Program comprehension]
Able to understand programs written by others and participate in larger scale system implementation.
Mapping from Course Learning Outcomes to Programme Learning Outcomes
 PLO aPLO bPLO cPLO dPLO ePLO fPLO gPLO hPLO iPLO j
CLO 1TTT
CLO 2TTT
CLO 3TTTT

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

Syllabus

Calendar Entry:
This course covers both the basic and advanced features of the C/C++ programming languages, including syntax, identifiers, data types, control statements, functions, arrays, file access, objects and classes, class string, structures and pointers. It introduces programming techniques such as recursion, linked lists and dynamic data structures. The concept and skills of program design, implementation and debugging, with emphasis on problem-solving, will also be covered. Target students are those who wish to complete the programming course in a more intensive mode in 1 semester. Students with some programming knowledge are encouraged to take this course.

Detailed Description:

Concepts of computer systems and program development tools Mapped to CLOs
Concepts of computer systems, hardware and software components of a computer1
Steps in program development, use of compiler, linker and debugger, use of integrated development environment1, 2
Features of high-level programming languages Mapped to CLOs
Data types and variables, control structures, functions, array and compound data, pointers and dynamic memory, file I/O2
Techniques for writing well-structured programs Mapped to CLOs
Programming style, program documentation3
Program design techniques Mapped to CLOs
recursion, linked lists and dynamic data structures2

Assessment:
Continuous Assessment: 50%
Written Examination: 50%

Teaching Plan

Please refer to the corresponding Moodle course.

Moodle Course(s)