“C programming language”

Course description

The course fully covers the basics of programming in the “C” programming language and demonstrates fundamental programming techniques, customs and vocabulary including the most common library functions and the usage of the preprocessor.

Learning objectives

To familiarize the trainee with basic concepts of computer programming and developer tools. To present the syntax and semantics of the “C” language as well as data types offered by the language

To allow the trainee to write their own programs using standard language infrastructure regardless of the hardware or software platform


  • Absolute basics
  • Machine languages
  • High-level programming languages
  • Obtaining the machine code: compilation process
  • Your first program
  • Variable – why?
  • Integer values in real life and in “C”, integer literals

Data types

  • Floating point
  • Arithmetic operators
  • Post- and pre -incrementation and -decrementation
  • Char type
  • Comparison operators
  • Conditional execution and if keyword
  • printf() and scanf() functions: absolute basics
  • Flow control
  • Conditional execution continued: the “else” branch
  • More integer and float types
  • Typecasting
  • Loops – while, do and for
  • Logical operators


  • Switch
  • Arrays
  • Pointers
  • Simple pointer and pointer to nothing (NULL) & operator
  • Pointers arithmetic
  • Using strings: basics
  • Basic functions dedicated to string manipulation
  • Structures
  • Void type
  • Multidimensional arrays


  • Functions
  • How to declare, define and invoke a function
  • Variables' scope, local variables and function parameters
  • Function result and return statement
  • Void

Files and streams

  • Files vs. streams
  • Header files
  • File structure

    • Reading and writing to/from a stream
    • Stream manipulation: fgetc(), fputc(), fgets() and fputs() functions
    • Raw input/output: fread() and fwrite() functions
    • #include
    • #define

    “C++ programming language”


    In this class, we will learn the basics about C++ programming language such as variables, data types, arrays, pointers, functions and classes etc.


    At the end of the class, we expect people to have a good understanding about the concept of object-oriented programming using C++, be able to write and read basic C++ code.


    No prior knowledge about C++ is required, but people are expected to have some basic knowledge about computers, some knowledge about one or two other programming languages such as Perl, PHP, Python or Java etc is preferred.

    Course Outlines:


  • What is C++?
  • Why C++?
  • C and C++
  • Exception Handling
  • Object Oriented Programming
  • Types and declarations

  • Types
  • Booleans
  • Integer Types
  • Floating-Point Types
  • Sizes
  • Void
  • Variable Declarations
  • Pointers
  • Arrays
  • Structures
  • Functions

  • Function Declarations
  • Argument Passing
  • Value Return
  • Overloaded Function Names
  • Default Arguments
  • Pointer to Function
  • Classes

  • Classes
  • Access Control
  • Constructors
  • Member functions
  • Static members
  • Destructors
  • Operator overloading

  • Introduction
  • Operator Functions
  • Friend
  • Functions Calls
  • Increment and Decrement
  • A String Class
  • Derived class

  • Introduction
  • Derived Classes
  • Abstract Classes
  • Design of Class Hierarchies
  • Class Hierarchies and Abstract Classes