1. All C++ courses > 
  2. C++ Programming / SDI-Metz

C++ Programming / SDI-Metz

This teaching addresses C++ from scratch, and leads the students step by step to high-level notions.

A lot of homework is expected, do not hesitate to ask questions to the teachers during personal work.

frederic.pennerath@centralesupelec.fr, herve.frezza-buet@centralesupelec.fr

frederic.pennerath@centralesupelec.fr, herve.frezza-buet@centralesupelec.fr

brand logo

  • Home


  • C++ Introduction S05 / Spé Informatique / Spé Physique
    • Welcome in C++ land
      • About memory
      • The execution thread
      • More on functions
      • I/O with the terminal
    • First Labwork
      • Syracuse series
      • JSON parser
    • Organizing memory
      • Compound objects
      • Arrays
      • About types
      • Introduction to STL containers
      • Exercises
    • Tutorial (TD) on collection specification
      • TD1
      • TD2
      • Conclusion
    • Labwork on range-like collections
      • First concepts of ranges
      • Pipelining ranges
      • More ranges
    • Encapsulation
      • The famous 'this'
      • Operators overloading
      • Realistic examples
    • The compiling pipeline
      • Preprocessing
      • Compiling
      • Execution
      • Debugging
      • Makefile
    • Using memory
      • Life cycle in RAM
      • Introduction to STL containers
      • Smart pointers
    • Labwork on boids
      • Getting started
      • Behaving
      • Virtual tables
      • Some utilities
      • Tadaa !!!
    • Labwork on Petri Networks
      • Red lights
      • Display with graphviz
      • The philosophers problem
    • Labwork on height fields
      • Getting started
      • Rasterization
      • Field operations
      • Using stencils
      • Pixelwise operations
    • More...
      • Common bugs
  • C++ Programming S06 / Spé Informatique
    • Syntax features
      • Basic syntax elements
      • constexpr
    • Types
      • Value categories
      • Constness
      • Type casts
      • Some features
      • Some useful STL types
      • Struct
    • Even more on functions
      • Function goodies
    • Functional programming
      • The basics
      • lambda-functions
      • Functions and the ranges library
    • Labwork on Logical Circuits
      • Basic elements
      • Agenda
      • Circuits
      • More...
    • Exceptions
      • try... catch
      • noexcept
    • Streams
      • Basics
      • Stream iterators
      • Binary streams
    • Inheritance
      • Public/Private/Protected
      • Simple inheritance
      • Type casts
      • virtual methods
      • The issue with protected
      • More about inheritance
      • Revisiting heightfield labwork
    • Labwork on Textual Formulas
      • Definition
      • Combinators of blocks
      • Basic blocks
      • A better design
      • More features
    • Templates and Generic Programming
      • Introduction to Generic Programming
      • C++ Concepts
      • Template compilation mechanisms
      • More templates
      • Generic versus Object-Oriented Programming
      • Standard Templates Library
      • Metaprogramming
    • Labwork on matrix templates.
    • Labwork on generic flows
      • First design
      • First flows
      • A language of flows
      • Recursive flows
    • Exam
      • Annals
    • Analogic circuit simulator project
  • C++ Programming / SDI-Metz
    • Getting started
      • Configuration
    • Self-studies
      • Variables
      • Functions
      • Pointers
      • Structures
    • The compiling pipeline
      • Preprocessing
      • Compiling
      • Execution
      • Debugging
      • Makefile
    • Understanding memory
      • The stack
      • The heap
      • Structures
      • Arrays
      • Functions
      • Exercises
      • Common bugs
    • Using memory
      • Life cycle in RAM
      • Introduction to STL containers
      • Smart pointers
    • Types
      • Value categories
      • Constness
      • Type casts
      • Some features
      • Some useful STL types
      • Struct
      • Operators overloading
      • Realistic examples
    • Syntax features
      • Basic syntax elements
      • constexpr
    • Labwork on boids
      • Getting started
      • Behaving
      • Virtual tables
      • Some utilities
      • Tadaa !!!
    • Labwork on Petri Networks
      • Red lights
      • Display with graphviz
      • The philosophers problem
    • Functional programming
      • The basics
      • lambda-functions
      • Functions and the ranges library
    • Labwork on Logical Circuits
      • Basic elements
      • Agenda
      • Circuits
      • More...
    • Inheritance
      • Public/Private/Protected
      • Simple inheritance
      • Type casts
      • virtual methods
      • The issue with protected
      • More about inheritance
      • Revisiting heightfield labwork
    • Labwork on Textual Formulas
      • Definition
      • Combinators of blocks
      • Basic blocks
      • A better design
      • More features
    • Exceptions
      • try... catch
      • noexcept
    • Streams
      • Basics
      • Stream iterators
      • Binary streams
    • Templates and Generic Programming
      • Introduction to Generic Programming
      • C++ Concepts
      • Template compilation mechanisms
      • More templates
      • Generic versus Object-Oriented Programming
      • Standard Templates Library
      • Metaprogramming
    • Labwork on matrix templates.
    • System Programming
      • Time and clocks
      • Threads
      • Mutexes and condition variables
      • Multicore programming
    • Labwork on system programming.
      • Futures
      • Thread pool
    • Exam
      • Annals
  • Don't do this...
    • Misc
    • Memory bugs
    • Inheritance
    • Template errors

  •  

Built with by Hugo