Course Details
Course Information Package
Course Unit Title | PROGRAMMING PRINCIPLES II | ||||||||
Course Unit Code | ACSC183 | ||||||||
Course Unit Details | BSc Electrical Engineering (Technical Electives) - | ||||||||
Number of ECTS credits allocated | 6 | ||||||||
Learning Outcomes of the course unit | By the end of the course, the students should be able to:
| ||||||||
Mode of Delivery | Face-to-face | ||||||||
Prerequisites | ACSC182 | Co-requisites | NONE | ||||||
Recommended optional program components | NONE | ||||||||
Course Contents | Review of Programming Principles: Data and Algorithms. Variables, operators and statements. Sequential, Selective and iterative processes. Understanding complex code. Interacting with input and output. Using Composite Data Types: Limitations of built-in data types. Mechanisms for constructing composite data types: Arrays and Structures. Building complex data types. Combining arrays and structures. Handling composite types. Efficiency considerations. Composite data types in functions. Pointers and Dynamic Data: Understanding pointers and memory addresses. Pointer syntax. Parameter Passing revisited. Pointers in Programmatic Development: Pointers and arrays. Dynamic memory allocation. Memory allocation lifetime and memory leaks. String handling. Persistent Storage: Files, file pointers and file objects. Modular Programming Revisited: Tackling larger programming tasks. Dividing the problem into parts. Designing software solutions. Effects of structures, pointers and dynamic content in functions. Breaking programs into units. Use of header files and custom-made libraries. Combining Data and Algorithms – Introduction to Object-Orientation: Introducing a new way of programming: functions as members of ‘objects’. Key features of object-orientation: Classes, objects, properties and methods. Objects and memory management. Laboratory Work: The role of the C programming language as a tool for solving advanced mathematical and engineering problems is emphasised through practical work carried out. | ||||||||
Recommended and/or required reading: | |||||||||
Textbooks |
| ||||||||
References |
| ||||||||
Planned learning activities and teaching methods | Students are taught the course through lectures by means of computer presentations. Laboratory work consists of practical problems aiming to help students understand and illustrate the programming concepts taught at lectures. Homework requires students to solve programmatically advanced mathematical and engineering problems. Lecture/Laboratory notes and presentations are available through the web for students to use in combination with the textbooks. | ||||||||
Assessment methods and criteria |
| ||||||||
Language of instruction | English | ||||||||
Work placement(s) | NO |