About the Advanced C Programming course
The Advanced C Programming course will take you to the next level as a C programmer. You will learn advanced C programming concepts, and techniques to make your code more efficient and more portable. C is a powerful programming language that is used for applications that need to be fast, reliable and robust. It is one of the most important languages in the world.What others say
This was a well structured course, presented in an interesting manner.
B. Wanda
Net1 Applied Technologies Lecturer: Renier Classroom training
Well structured & comfortable environment with really delicious food. Will recommend and definitely come for another course.
D. Weatherhead
Net1 UEPS Lecturer: Renier Classroom training
I really enjoyed this course! And learnt a lot. Renier’s enthusiasm makes me want to do better in this subject
K. Reid
Nanoteq Lecturer: Renier Classroom training
Impressed, I learnt quite a bit even though I have been programming in C++ for a very long time.
I. Craig
Denel Dynamics Lecturer: Renier Classroom training
Excellent venue, very interesting and well presented.
R. Davies
Denel Aviation Lecturer: Renier Classroom training
A must for anyone using C!
E. Behrens
Nanoteq Lecturer: Renier Classroom training
Much better experience than other courses I’ve been on. Really good material presented in a simple to understand way.
J. Hendriks
SAAB Grintek Defence Lecturer: Renier Classroom training
Very good and highly informative.
B. Fiddes
Nanoteq Lecturer: Renier Classroom training
This course helped me understand many concepts that I didn’t understand before. Several new concepts were also introduced. I will recommend this course to anyone interested in expanding their knowledge of C.
J. Prinsloo
Nanoteq Lecturer: Renier Classroom training
Why you want to attend
You want to attend the Advanced C Programming course if:- You are a C programmer and you want to learn about the advanced aspects of the C language.
- You are a C programmer and you want to learn to write better C code.
- You are an engineer working with embedded systems written in C.
What you need to know first
Before you attend the Advanced C Programming course:- You must have attended our Standard C Programming course or already be comfortable with the fundamentals of the C programming language.
- You should have at least 6 months practical experience programming in C.
Price and duration
Price: R14,800.00 excluding VAT per delegate. This price includes everything that you need:- All course material, provided in an electronic format.
- An attendance certificate after the course, in PDF format.
How to book
It’s so easy to book for the Advanced C Programming course. Just email us at info@incusdata.com. You can send us a purchase order, or fill in our course enrolment form. After we have received your booking, we will confirm that you are booked, and we’ll send you an invoice.Detailed course contents
Introduction
- Professionalism.
- Portability.
- Modularity.
- Structured programming.
- Coding standards.
- Standard library functions.
- Non-standard functions.
- Under-utilized functions.
The C compiler
- Technical aspects.
- Startup code/module.
- Modifications for embedded / custom systems.
- Translation order and tokenisation.
- Object modules.
- Compiler switches.
The C Preprocessor
- Conditional compilation.
- Token concatenation.
- Stringization.
- Compilation units.
- Trigraphs.
- Advanced macros.
Expressions, Types and Variables
- Expression evaluation.
- Operator association and precedence.
- Sequence guarantee points.
- Implicit/explicit type conversions.
- Literals.
- Escape characters.
- Type hierarchy.
- Derived types.
- Bitfields.
- Portability.
Functions, Statements and Program Structure
- Overview.
- Stack usage for local variables and parameters.
- Function returns.
- Function call operator.
- Variable number of parameters.
- Structured programming vs OOP techniques.
- Libraries and make files.
Arrays and Pointers
- Array names.
- Array manipulation.
- Multi-dimensional arrays.
- Pointer variables.
- Indirection.
- Dynamic arrays and pointers.
- Pointers to structures and functions.
Memory management
- The C runtime memory.
- Stack, heap and static data areas.
- Dynamic memory.
- Fragmentation of memory.
- Memory management techniques.
Data Structures
- Creating and using structures.
- Self-referencing structures.
- Linked lists.
- Generic data structures.
- Portability.
- Memory management.
- Information hiding.
Debugging Techniques
- Stabilization: lexical, syntactic, execution, logic errors.
- Error proximity.
- Debuggers.
- Memory initialization.
- Structure sentinels.
- Stack errors.
- Conditional compilation.
Miscellaneous
- Good programming practices and conventions.
- Portability related issues.
- References to C++, and contrasting C with C++.