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

Exam

Időpontja: május 23. hétfő, 17:00–20:00. helyszíne: Déli Tömb, 00-803 “Programozási Nyelvek” labor (ahol a gyakorlati foglalkozásokat is tartottuk).

A pót/javító alkalom egy héttel később, május 30. hétfő, 17:00-20:00.

A ZH-t jelenlétben, de digitális technológia segítségével (Canvas) írjuk meg. A ZH teszt jellegű, C++ fordítóprogramra NINCS szükség a kitöltéshez!

A megjelölt időintervallumban bármikor lehet majd érkezni, és megkezdeni a kitöltést, azzal a feltétellel, hogy este 8-ra be kell fejezni! A hátralevő időt a kitöltés megkezdéséhez képest a Canvas automatikusan, egyénenként kezeli. A feladatsor megoldására 60 perc áll majd rendelkezésre.

A pótalkalomra bárki eljöhet, az is aki az első alkalmon nem volt, és az is aki javítani szeretne. A két próbálkozási lehetőség közül a jobb eredményt vesszük figyelembe – ezt a Canvas automatikusan kezeli.

A tárgy sikeres teljesítésének feltétele az előadás részből a teszten összegyűjthető 50 pontból 20 pont elérése.

Mivel ebben a félévben mindenki új tanterves (tehát a “Haladó C++” tárgyat vette fel), vizsgaalkalmat NEM hirdetünk, és az időpontokra hivatalosan, Neptunon át jelentkezni NEM kell!

Grading policy (Update!)

The prerequisite of the mark is the participation in the special lab sessions (guest lecturer, special experiments, etc.) detailed in later.

The final mark will be based 50% on the lab work (creating the library specified on Canvas) counting 50 points and 50% on the final exam counting another 50 points. This final exam is typically a test, not a programming task. Its time will be decided later.

On-line material

Due to the current Covid-19 situation, I continue to provide on-line materials. I will upload recorded videos of the lectures. See the links to the videos at the Planned schedule section. Videos from (the second part of) last year are available after this section. The videos are in mkv and mp4 format, you can likely play them directly in your browser. If not, just download them and play it. Free tools, like mplayer or vlc play mkv and mp4 format.

Please, send your questions to gsd@inf.elte.hu, I will answer them in Neptun, so everybody can learn from it.

Schedule 2022 Spring

Lecture

Time   Where Lecturer Contact
Monday 17:45-19:15 MS Teams Porkoláb Zoltán gsd@inf.elte.hu

Lab/Consultation

Time   Where Lecturer Contact
Monday 19:30-21:00 MS Teams Szalay Richárd szalayrichard@inf.elte.hu

Planned schedule:

  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

Practices/consultations

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 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