Advanced C Programming: CLP Exam Preparation
Take your C skills to a professional level.
About this course
Take your C skills to a professional level. This advanced course covers complex declarations, advanced pointer techniques, the standard library in depth, precise memory management and low-level I/O, together with the portability rules that separate reliable code from code that only seems to work.
You will also build programs that use processes, signals, threads and sockets in a POSIX environment. The final sessions focus on preparation for the professional-level C certification exam, with challenging code-reading practice.
What you'll learn
- Apply advanced pointer techniques and complex declarations
- Use the C standard library effectively, including variadic functions
- Manage memory precisely and diagnose memory faults
- Handle low-level file and stream I/O and error reporting
- Write portable code that respects undefined and implementation-defined behaviour
- Work with processes, signals and threads in a POSIX environment
- Write simple networked programs using sockets
- Prepare for the professional-level C certification exam
Curriculum
- Reading complex declarations
- typedef and type qualifiers
- const, volatile and restrict
- Integer promotion and conversion rules
- Pointers to functions and callback tables
- Multidimensional arrays and pointers
- Generic programming with void pointers
- Common pointer pitfalls
- Variadic functions with stdarg
- Sorting and searching with qsort and bsearch
- Time and date functions
- Character classification and conversion
- Memory layout of a running program
- Custom allocation strategies
- Debugging memory faults
- Defensive coding practices
- Buffering and stream control
- Low-level file descriptors
- Error reporting with errno
- Working with directories
- Undefined and implementation-defined behaviour
- Differences between C standards
- Writing portable code
- Compiler warnings and static checks
- Creating processes
- Waiting for and communicating with child processes
- Handling signals
- Pipes
- Creating and joining threads
- Mutexes and condition variables
- Race conditions and deadlocks
- Thread-safe design
- Sockets fundamentals
- Writing a simple TCP client and server
- Handling multiple connections
- Error handling in network code
- Exam format and objectives review
- Advanced code-reading practice
- Practice questions and review
- Exam strategy
Who it's for
Experienced C programmers who want to master advanced and system-level C and prepare for the professional-level C certification exam.
Before you start
- Solid C programming experience at associate level
- Comfort with pointers, structures and dynamic memory
Prepares for
Related courses
More in Programming & Web Development →Advanced Java 9
Programming & Web Development
View course →Android Studio Development Essentials
Programming & Web Development
View course →Blockchain: An Overview for Business Professionals
Programming & Web Development
View course →Computer Vision with Python OpenCV
Programming & Web Development
View course →Database Design - Beginner
Programming & Web Development
View course →Flask Development with Python
Programming & Web Development
View course →Let's plan your next step together.
Tell us the course or certification you have in mind and we'll send the outline, upcoming dates, fees and private-team options.