3 ECTS credits
90 u studietijd

Aanbieding 1 met studiegidsnummer 1021658BNR voor alle studenten in het 2e semester met een verdiepend bachelor niveau.

Semester
2e semester
Inschrijving onder examencontract
Niet mogelijk
Beoordelingsvoet
Beoordeling (0 tot 20)
2e zittijd mogelijk
Ja
Onderwijstaal
Engels
Faculteit
Faculteit Ingenieurswetenschappen
Verantwoordelijke vakgroep
Elektronica en Informatica
Onderwijsteam
Adrian Munteanu (titularis)
Onderdelen en contacturen
10 contacturen Hoorcollege
10 contacturen Werkcolleges, practica en oefeningen
45 contacturen Zelfstudie en externe werkvormen
Inhoud

This course is designed as a fast-paced introduction to C++ programming language being intended for students with a good degree of hardware awareness and moderate previous programming experience (e.g. Java and Matlab). C++ is a general purpose programming language that supports generic computer programming models. By practical training on Microsoft Visual Studio, which is the common integrated development environment (IDE) popular on Windows operating systems, students are exposed to practical programming problems and their solutions. The students will be given examples written in ANSI/ISO standard C++, and gain transferable knowledge for other programming domains (e.g. programming with third-party libraries).

Content

This course introduces C++ programming and teaches a number of concepts in computer science, of variables, pointers & streams, control structures, vectors, functions, classes, objects and some good coding practices including debugging techniques and avoiding common programming errors.

Essentially, this is a short “hands-on” course, during which the students will attend ten hours of intensive lectures (HOC: 10h), ten hours of practical sessions (WPO: 10h) and will prepare an elaborated individual C++ project (ZELF: 70h).

The outline of this course is given next:

  1. C++ Language Fundamentals
    1. What is C++?
    2. C++ and object oriented programming
    3. Hello world!
    4. Working with variables, constants, enumerated constants
    5. Creating expressions and statements
    6. Conditional commands
    7. Organizing into functions
    8. Loops
  2. Working with advanced functions
  3. Understanding pointers
  4. Function templates
  5. Standard template library (STL)
    1. Containers and error handling
    2. Algorithms
    3. Lambda functions
  6. Classes
    1. Constructors
    2. Copy assignment
    3. Destructor
    4. Static variables and members
  7. Inheritance
    1. Overriding
    2. Polymorphism
    3. Virtual functions
    4. Virtual destructor
    5. Inheritance specifiers
    6. Const functions
  8. Interface and abstract classes
  9. Smart pointers
  10. Creating and connect a dynamic link library to a Qt project
  11. Efficient C++ programming
    1. Header guards
    2. Invoking third-party libraries (e.g. Boost)
    3. Reading and writing files
    4. Parsing strings
    5. Converting data types
    6. Working with paths
    7. Serialization and deserialization
    8. Regular expression
  12. Qt GUI
    1. Meta-object compiler
    2. Signal and slots
  13. Thread programming
    1. Data race
    2. Mutex, atomic, condition variables
Bijkomende info

Under construction..

Leerresultaten

General Competences

Under construction

Beoordelingsinformatie

De beoordeling bestaat uit volgende opdrachtcategorieën:
Examen Andere bepaalt 100% van het eindcijfer

Binnen de categorie Examen Andere dient men volgende opdrachten af te werken:

  • Examen met een wegingsfactor 1 en aldus 100% van het totale eindcijfer.

    Toelichting: The student will have to present the project goals, employed tools, detail implementation aspects, highlight original contributions and be able to answer detailed questions about the code.

Aanvullende info mbt evaluatie

Evaluation:

The 3 ECTS are obtained on the C++ project. The project contains a number of tasks with progressive difficulty. The student will have to present the project goals, employed tools, detail implementation aspects, highlight original contributions and be able to answer detailed questions about the code.

Toegestane onvoldoende
Kijk in het aanvullend OER van je faculteit na of een toegestane onvoldoende mogelijk is voor dit opleidingsonderdeel.

Academische context

Deze aanbieding maakt deel uit van de volgende studieplannen:
Bachelor in de ingenieurswetenschappen: elektronica en informatietechnologie
Bachelor in de ingenieurswetenschappen: biomedische ingenieurstechnieken
Voorbereidingsprogramma Master of Science in Biomedical Engineering: International Students (enkel aangeboden in het Engels)