- Leren door doen
- Trainers met praktijkervaring
- Klassikale trainingen
- Gedetailleerd cursusmateriaal
- Duidelijke inhoudsbeschrijving
- Maatwerk inhoud mogelijk
- Trainingen die doorgaan
- Kleine groepen
In de cursus Advanced C Programmeren worden geavanceerde aspecten van de programmeertaal C behandeld, waaronder het gebruik van modules en interfaces, object georiënteerd programmeren en encapsulation in C.
In de cursus Advanced C Programmeren leren deelnemers de diepere aspecten van de C programmeertaal. Deze cursus is gericht op ervaren programmeurs die hun vaardigheden willen verfijnen en geavanceerde technieken willen beheersen. De cursus behandelt essentiële onderwerpen zoals potentiële gevaren in C, pointer technieken, dynamische datastructuren, optimalisatie technieken, en geavanceerde C library functies.
Ook wordt aandacht besteed aan de potentiële gevaren die bepaalde constructies in C hebben, zoals C macro's, evaluatie volgorde en het gebruik van globals. Deze risico's kunnen leiden tot moeilijk te traceren fouten en bugs in de code, dus is het belangrijk om deze goed te begrijpen en te vermijden.
Verder komt het gebruik van verschillende pointer technieken aan de orde, evenals het gebruik van pointers naar functies. Deze technieken zijn cruciaal voor het effectief beheren van geheugen en het optimaliseren van de prestaties van C programma's.
De meest voorkomende dynamische datastructuren zoals arrays, linked lists, hash tables en trees en hun implementatie in C worden eveneens in detail besproken. Het beheersen van deze structuren is essentieel voor het ontwikkelen van efficiënte en complexe softwaretoepassingen.
Daarnaast wordt aandacht besteed aan optimalisatie technieken voor wat betreft executiesnelheid en geheugen gebruik. Het leren toepassen van deze technieken kan de prestaties van applicaties aanzienlijk verbeteren, wat belangrijk is in prestatiegevoelige omgevingen.
Verder staan de meer geavanceerde functies van de C library zoals setjmp, longjmp, signals, bsearch en qsort op het programma. Deze functies bieden krachtige mogelijkheden voor foutafhandeling en datamanipulatie.
Tot slot is er aandacht voor bit manipulatie en geavanceerde string handling en parsing. Deze onderwerpen zijn belangrijk voor het schrijven van efficiënte en compacte code die optimaal gebruikmaakt van systeembronnen.
Voor meer informatie over de basis van C programmeren, kun je onze cursus C Programmeren bekijken. Voor verdere verdieping in C++ hebben we ook de cursus C++ Programmeren. Voor een meer geavanceerde benadering van C++, is er de cursus Advanced C++ Programmeren.
Voor een uitgebreide referentie over de C programmeertaal en de functies ervan, bezoek de C++ referentie.
De cursus Advanced C Programmeren is bedoeld voor C developers die zich willen verdiepen in de meer geavanceerde functies en technieken van de taal C.
Om aan deze cursus deel te nemen is kennis van en ervaring met programmeren in C vereist.
De theorie wordt behandeld aan de hand van presentatie slides. Illustratieve demo's worden gebruikt om de behandelde concepten te verduidelijken. Er is voldoende gelegenheid om te oefenen en afwisseling van theorie en praktijk. De cursustijden zijn van 9.30 tot 16.30.
De deelnemers krijgen na het goed doorlopen van de cursus een officieel certificaat Advanced C Programmeren.
Module 1 : C Pitfalls |
Module 2 : Object Orientation in C |
Module 3 : Pointers and Arrays |
|
C Standards Pitfalls C Language Write Clean Code Good Programming Style Rules for Functions Deep versus Flat Code Evaluation Order Avoid Macros Without const Using const Code Reuse Avoid Globals Pre and Post Conditions Invariants Code Smells |
Object Orientation Classes and Objects Example Class and Objects Object Orientation in C Simple Objects in C C versus C++ Class Constructor in C Member Functions in C Encapsulation in C Public Function Members in C Inheritance Extending C++ Classes Virtual Functions Virtual Function Table Polymorphism |
Pointers Revisited Pointer Arithmetic Pointers and Arrays Function Pointers Optional Ampersand Variable Length Arguments Varargs Example Array Initialization Array Traversal Arrays of Structs Arrays versus Pointers Multidimensional Arrays Indices in 3d Array Dynamic Arrays Ragged Arrays |
Module 4 : Data Structures in C |
Module 5 : Bit Manipulation |
Module 6 : C Standard Library |
|
Dynamic Data Structures Singly Linked Lists Linked List Element Type Creating List Elements Doubly Linked Lists Stacks and Queues Hash Tables Load Factor Hash Functions Trees Trees Traversal |
Bit Manipulation Bitwise Operators Bitwise AND Bitwise OR Bitwise XOR Bitwise NOT Bitshift Operators Bit Shifting Bitwise Assignment Operators Bit Rotation BitFlag Functions |
What are Signals? ANSI C-Signal Types Handling Signals SIGABRT, SEGV, SEGFPE setjmp and longjmp Coroutines atexit Function assert Function perror Function Raising Signals Alarm Signal |
Module 7 : String Handling |
||
|
Looking for Characters Looking for Substrings Count Matching Characters Looking for Character Sets String Comparison String Tokenizing Convertion Strings to Numbers Handling Conversion Errors qsort and Bsearch Advanced String Handling |