Advanced Computer Programming
8th Semester
The course aims to:
- to introduce students to C (a low-level language)
- to introduce concepts of object-oriented programming in C++, and finally
- to introduce advanced programming concepts.
The course is divided into three sections:
- Programming in C
- Object oriented programming
- Advanced concepts.
The C Programming section includes the following topics:
- Representation of numbers in the binary/octal/hexadecimal system
- Operators: numeric, logical, relational, bitwise
- Data structures
- Functions and variables
- Performers
- Flow control
- Arrays
- Pointers, numeric addresses, array of pointers
- Interrupts
The Object Oriented Programming section includes concepts such as:
- What is object oriented programming in C++
- Classes and objects
- Constructor and ~ Objects as function arguments Inheritance
- Overloading Encapsulation
- Access to functions Abstraction
- Polymorphism
- Interfaces
- Comparison with other object-oriented languages
The Advanced C Concepts section introduces the following concepts:
- Files and streams
- Error/Exception Management
- Dynamic Memory Allocation
- Namespaces
- Templates and Generic Programming
- Signal Handling/Interrupts
- Design Patterns
Upon successful completion of the course students will be able to:
- Write, compile and execute a program in C language
- Choose the data types and algorithms that are appropriate for the architecture
- Understand concepts of object-oriented programming and perceive differences with the other approaches (procedural, functional)
- They are able to use more advanced features of C++.
- Implement a class with the necessary design principles to solve a problem
- Improve their ability to solve problems
Required knowledge: IT, IT for Engineers.