1. Homepage of Dr. Zoltán Porkoláb
    1. Home
    2. Archive
  2. Teaching
    1. Timetable
    2. Bolyai College
    3. C++ (for mathematicians)
    4. Imperative programming (BSc)
    5. Multiparadigm programming (MSc)
    6. Programming (MSc Aut. Sys.)
    7. Programming languages (PhD)
    8. Software technology lab
    9. Theses proposals (BSc and MSc)
  3. Research
    1. Sustrainability
    2. CodeChecker
    3. CodeCompass
    4. Templight
    5. Projects
    6. Conferences
    7. Publications
    8. PhD students
  4. Affiliations
    1. Dept. of Programming Languages and Compilers
    2. Ericsson Hungary Ltd

Advanced C++ (Multiparadigm) programming

In this semester this course is only in Hungarian

Haladó C++ (Multiparadigma) programozás MSc hallgatók számára.

alt text

kurzus-kód: IPM-18sztKVHCEG IPM-08sztMPPE IPM-08EsztMPPE

Schedule 2024 Spring

Lecture

Time   Where Lecturer Contact
Thursday 17:45-19:15 LD 2-502 Porkoláb Zoltán gsd@inf.elte.hu

Lab/Consultation

Time   Where Lecturer Contact
Thursday 19:30-21:00 LD 2-502 Szalay Richárd szalayrichard@inf.elte.hu

Planned schedule:

  1. Exceptions, exception safe programming
  2. Constants, const correctness, constexpr
  3. Constructors, destructor, operators
  4. Pointers, references, move semantics
  5. Lambda expressions
  6. Memory handling
  7. Smart pointers
  8. Advanced templates
  9. Template metaprogramming
  10. Advanced STL
  11. Concurrent programming
  12. Other C++11/14/17
  13. Compiling, linking
  14. C++20: modules, concepts

Reading

The C++17 Draft Standard

alt text

Bjarne Stroustrup: The C++ Programming Language, 4th Edition.

Addison-Wesley (May 2013) ISBN 978-0321563842.

alt text

Bjarne Stroustrup: A C++ Programzási nyelv, 3. speciális kiadás.

Kiskapu Kiadó (2001). ISBN: 9789639301184.

alt text

Scott Meyers: Effective Modern C++, 42 Specific Ways to Improve Your Use of C++11 and C++14.

O’Reilly Media (November 2014).

Earlier

Videos from 2022

  1. Exceptions, exception safe programming Video: HaladoCpp-22-ea-01.mp4
  2. Constants, const correctness, constexpr Video: HaladoCpp-22-ea-02.mp4
  3. Constructor, destructor, operators Video: HaladoCpp-22-ea-03.mp4
  4. Pointers, references, move semantics Video: HaladoCpp-22-ea-04.mp4
  5. Move semantics 2., perfect frorwarding Video: HaladoCpp-22-ea-05.mp4
  6. Lambda expressions Video: HaladoCpp-22-ea-06.mp4 (incomplete)
  7. Memory handling Smart pointers Video: HaladoCpp-22-ea-07.mp4
  8. Advanced templates 1 Video: HaladoCpp-22-ea-08.mp4
  9. Advanced templates 2 Template metaprogramming Video: HaladoCpp-22-ea-09.mp4
  10. Advanced STL Video: HaladoCpp-22-ea-10.mp4
  11. Concurrent programming Video: HaladoCpp-22-ea-11.mp4
  12. Other C++11/14/17 Tavalyi video: HaladoCpp-ea-11.mp4
  13. Compiling, linking Video: HaladoCpp-22-ea-12.mp4

Videos from the 2022 labors/consultations

Videos from 2021

  1. Exceptions, exception safe programming Video: HaladoCpp-ea-01.mp4
  2. Constants, const correctness, constexpr Video: HaladoCpp-ea-02a.mp4 HaladoCpp-ea-02b.mp4
  3. Constructor, destructor, operators Video: HaladoCpp-ea-03.mp4
  4. Pointers, references, move semantics Video: HaladoCpp-ea-04.mp4
  5. Lambda expressions Video: HaladoCpp-ea-05.mp4
  6. Memory handling Smart pointers Video: HaladoCpp-ea-06.mp4
  7. Advanced templates Video: HaladoCpp-ea-07.mp4
  8. Advanced STL Video: HaladoCpp-ea-08.mp4
  9. Template metaprogramming Video: HaladoCpp-ea-09.mp4
  10. Concurrent programming Video: HaladoCpp-ea-10.mp4
  11. Other C++11/14/17 Video: HaladoCpp-ea-11.mp4
  12. Compiling, linking Video: HaladoCpp-ea-12.mp4

Videos from the 2021 labors/consultations

Videos from 2020

  1. Memory handling, RAII Video: multi-6-memory.mkv multi-6-raii.mkv
  2. Smart pointers Video: multi-7-smartptr.mkv
  3. Compiling, linking Video: multi-8-complink-1.mkv multi-8-complink-2.mkv
  4. Advanced templates Video: multi-9-templates.mkv
  5. Advanced STL Video: multi-10-stl-1.mkv multi-10-stl-2.mkv multi-10-stl-3.mkv multi-10-stl-4.mkv
  6. Template metaprogramming Video: multi-11-meta.mkv
  7. Concurrent programming Video: multi-12-concur-1.mkv multi-12-concur-2.mkv
  8. Other C++11/14/17 Video: multi-13-cpp11-lang.mkv multi-13-cpp11-util.mkv