Deep C - a two day course for experienced programmers

This course is aimed at experienced programmers that would like to further deepen their understanding and knowledge of this blunt and fascinating programming language. Throughout the course we will often refer to ISO/IEC 9899 (The C standard) and try to understand what modern compilers are allowed to do, and often will do, when optimizing code or porting between different architectures. We will also use the opportunity to discuss best practices and modern techniques for developing small and large systems in C.

    The course will start with a solid re-introduction to the C programming language before we dive into the deep where we will learn more about:

    • The memory model, sequencing and sequence points
    • Unspecified and undefined behaviour
    • The different C standards (K&R, ANSI C, C99, C11, C18)
    • History and spirit of C
    • Portability and optimization issues
    • Working with pointers, arrays and structures
    • Preprocessing, translation, linking and execution
    • Modern development techniques and design issues
    • Security vulnerabilities, exploits and mitigation strategies
    • and more...

    While the course is aimed at people that already know C, experienced programmers with a solid understanding of other compiled languages like Java, Fortran, Swift, C++, C# or Rust might benefit from this course as well.

    Olve Maudal
    Equinor, Equinor

    Olve has been teaching coding skills and software engineering techniques for decades, mostly related to C++, TDD, Java, secure coding, cloud, Python, and C. Professionally he has been involved in developing software for: insurance applications, road toll systems, seismic acquisition, high performance computing, banking, payment terminals, videoconferencing appliances, cloud solutions, and energy systems. Olve is based in Oslo where he currently works for Equinor. www.olvemaudal.com

    Programutvikling uses cookies to see how you use our website. We also have embeds from YouTube and Vimeo. How do you feel about that?