- Leren door doen
- Trainers met praktijkervaring
- Klassikale trainingen
- Gedetailleerd cursusmateriaal
- Duidelijke inhoudsbeschrijving
- Maatwerk inhoud mogelijk
- Trainingen die doorgaan
- Kleine groepen
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.
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.
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. Verder komt het gebruik van verschillende pointer technieken aan de orde evenals het gebruik van pointers naar functies.
De meest voorkomende dynamische datastructuren zoals arrays, linked lists, hash tables en trees en hun implementatie in C worden eveneens in detail besproken. En ook wordt aandacht besteed aan optimalisatie technieken voor wat betreft executie snelheid en geheugen gebruik.
Verder staan de meer geavanceerde functies van de C library zoals setjmp, longjmp, signals, bsearch en qsort etc. op het programma. Tot slot is er aandacht voor bit manipulatie en geavanceerde string handling en parsing.
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 |
Al onze cursussen zijn klassikale cursussen waarbij de cursisten aan de hand van een ervaren trainer met diepgaande materie kennis door de stof worden geleid. Theorie wordt steeds afgewisseld met oefeningen.
We doen ook maatwerk en passen dan de cursusinhoud aan op uw wensen. Op verzoek gaan we ook in op uw praktijkcases.
De cursustijden zijn in pricipe van 9.30 tot 16.30. Maar we zijn hierin flexibel. Soms moeten mensen namelijk kinderen naar de opvang brengen of halen en komen andere tijden hun beter uit. In goed overleg kunnen we dan andere cursustijden afspreken.
Wij zorgen voor de computers waarop de cursus gehouden kan worden. Op deze computer is de voor de cursus benodigde software al geinstalleerd. U hoeft geen laptop mee te nemen om aan de cursus te kunnen deelnemen. Als u liever op uw eigen laptop werkt kunt u hem desgewenst meenemen. De benodigde software wordt dan aan het begin van de cursus geinstalleerd.
Onze cursussen worden over het algemeen gegeven met Open Source software zoals Eclipse, IntelliJ, Tomcat, Pycharm, Anaconda en Netbeans. Het digitale cursusmateriaal krijgt u na de cursus mee naar huis.
De cursus is inclusief lunch die we in een restaurantje op loopafstand van het cursuslokaal gebruiken.
De cursussen worden op diverse plaatsen in het land gepland. Een cursus gaat op een locatie door als er zich minimaal 3 mensen voor die locatie inschrijven. Als er inschrijvingen voor verschillende locaties zijn gaat de cursus door op onze hoofdlocatie is Houten net onder Utrecht. Een cursus op onze hoofdlocatie gaat ook door bij 2 inschrijvingen en regelmatig ook bij 1 inschrijving. Overigens doen we ook cursussen op de locatie van de klant als men daar prijs op stelt.
De intellectuele eigendomsrechten van de gepubliceerde cursus inhoud, ook wel aangeduid als infosheet, behoren toe aan SpiralTrain. Het is niet toegestaan de cursusinformatie, de infosheet, te publiceren in schiftelijke dan wel digitale vorm zonder de uitdrukkelijke toestemming van SpiralTrain. Onder de cursus inhoud dient te worden verstaan de beschrijving van de cursus inhoud in zinnen alsmede de indeling van de cursus in modules en onderwerpen in de modules.