Advanced Computer Programming

8th Semester

The course aims to:

  1. to introduce students to C (a low-level language)
  2. to introduce concepts of object-oriented programming in C++, and finally
  3. to introduce advanced programming concepts.

The course is divided into three sections:

  1. Programming in C
  2. Object oriented programming
  3. 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.