In this semester this course is only in Hungarian
Haladó C++ (Multiparadigma) programozás MSc hallgatók számára.
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:
- Exceptions, exception safe programming Video: HaladoCpp-22-ea-01.mp4
- Constants, const correctness, constexpr Video: HaladoCpp-22-ea-02.mp4
- Constructor, destructor, operators Video: HaladoCpp-22-ea-03.mp4
- Pointers, references, move semantics Video: HaladoCpp-22-ea-04.mp4
- Move semantics 2., perfect frorwarding Video: HaladoCpp-22-ea-05.mp4
- Lambda expressions Video: HaladoCpp-22-ea-06.mp4 (incomplete)
- Memory handling Smart pointers Video: HaladoCpp-22-ea-07.mp4
- Advanced templates 1 Video: HaladoCpp-22-ea-08.mp4
- Advanced templates 2 Template metaprogramming Video: HaladoCpp-22-ea-09.mp4
- Advanced STL Video: HaladoCpp-22-ea-10.mp4
- Concurrent programming Video: HaladoCpp-22-ea-11.mp4
- Other C++11/14/17 Tavalyi video: HaladoCpp-ea-11.mp4
- Compiling, linking Video: HaladoCpp-22-ea-12.mp4
Practices/consultations
- 02.14. Beadandó feladat megbeszélése
- 02.28. Codecompass bemutató
- 04.04. Beadandó feladat megbeszélése
Reading
Bjarne Stroustrup: The C++ Programming Language, 4th Edition.
Addison-Wesley (May 2013) ISBN 978-0321563842.
Bjarne Stroustrup: A C++ Programzási nyelv, 3. speciális kiadás.
Kiskapu Kiadó (2001). ISBN: 9789639301184.
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
- Exceptions, exception safe programming Video: HaladoCpp-ea-01.mp4
- Constants, const correctness, constexpr Video: HaladoCpp-ea-02a.mp4 HaladoCpp-ea-02b.mp4
- Constructor, destructor, operators Video: HaladoCpp-ea-03.mp4
- Pointers, references, move semantics Video: HaladoCpp-ea-04.mp4
- Lambda expressions Video: HaladoCpp-ea-05.mp4
- Memory handling Smart pointers Video: HaladoCpp-ea-06.mp4
- Advanced templates Video: HaladoCpp-ea-07.mp4
- Advanced STL Video: HaladoCpp-ea-08.mp4
- Template metaprogramming Video: HaladoCpp-ea-09.mp4
- Concurrent programming Video: HaladoCpp-ea-10.mp4
- Other C++11/14/17 Video: HaladoCpp-ea-11.mp4
- Compiling, linking Video: HaladoCpp-ea-12.mp4
Videos from the 2021 labors/consultations
- 2021.02.12. Static and dynamic analyzis tools
- 2021.02.26. Strong types (Sinkovics Ábel)
- 2021.03.26. Specification of the library task
Videos from 2020
- Memory handling, RAII Video: multi-6-memory.mkv multi-6-raii.mkv
- Smart pointers Video: multi-7-smartptr.mkv
- Compiling, linking Video: multi-8-complink-1.mkv multi-8-complink-2.mkv
- Advanced templates Video: multi-9-templates.mkv
- Advanced STL Video: multi-10-stl-1.mkv multi-10-stl-2.mkv multi-10-stl-3.mkv multi-10-stl-4.mkv
- Template metaprogramming Video: multi-11-meta.mkv
- Concurrent programming Video: multi-12-concur-1.mkv multi-12-concur-2.mkv
- Other C++11/14/17 Video: multi-13-cpp11-lang.mkv multi-13-cpp11-util.mkv