1. Homepage of Dr. Zoltán Porkoláb
    1. Home
    2. Archive
  2. Teaching
    1. Órarend/Timetable
    2. Bolyai kollégium
    3. C++ nyelv (matematikus)
    4. Imperatív programozás HUN
    5. Imperative programming ENG
    6. Haladó C++ (MSc)
    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

Imperatív programozás

alt text alt text

kurzus-kód: IP-18IMPPROGEG

Mottó:

“C is a razor sharp tool, with which one can create an elegant and efficient program or a bloody mess” - from The Practice of Programming

A tárgy hivatalos honlapja

Dr. Kozsik Tamás honlapja

A tárgy célja

A hallgató legyen tisztában az alapvető imperatív programozási nyelvi fogalmakkal és technikákkal és azokat alkalmazni tudja C nyelven:

  • Mi az hogy statikus típusrendszer
  • Mi a különbség a fordítás + szerkesztés vs. interpretálás közt
  • Mik az alaptípusok és hogyan ábrázoljuk őket (char, int, double)
  • Hogyan értékeljük ki a kifejezéseket (precedencia, asszociativitás, mellékhatások)
  • Mik az alapvető utasítások (vezérlőszerkezetek) az imperatív nyelvekben
  • Alapvető memória-fogalmak, pointer és használata
  • Mi a láthatóság és az élettartam
  • Mi a függvény, a rekurzió, milyen paraméterátadási módok léteznek
  • Milyen összetett adatszerkezetek léteznek (felsorolási típus, rekord, únió)
  • Hogyan működik a dinamikus memóriakezelés, mi a memória-elszivárgás
  • Alapvető C programozási technikák
  • Alapvető C standard könyvtári függvények és használata

Órarend 2025 ősz

Előadások

időpont terem oktatók elérhetőség
Hétfő 10.00-12.00 D 0-822 Mogyoródi József Porkoláb Zoltán gsd@inf.elte.hu
Hétfő 12.00-14.00 D 0-821 Bolyai János Porkoláb Zoltán gsd@inf.elte.hu
Kedd 10.00-12.00 D 2-502 Kozsik Tamás kto@inf.elte.hu

Estis előadás

időpont terem oktató elérhetőség
Hétfő 18:30-20:00 D 0-804 Lóczy Lajos Pataki Norbert patakino@elte.hu

English language lectures

time place lecturer contact
Monday 12.00-14.00 D 0-804 Lóczy Lajos Brunner Tibor bruntib@ik.elte.hu
Monday 14.00-16.00 D 0-822 Mogyoródi József Brunner Tibor bruntib@ik.elte.hu

A félév során tervezett előadások menete a következő:

  1. Programozási paradigmák, imperatív programozás, a C nyelv alapjai. link slides video
  2. A C programok szerkezete, alaptípusok, statikus típusrendszer. link1 link2 slides video
  3. Operátorok, kifejezések, kifejezések kiértékelése. link slides video-from-2024
  4. Utasítások. link slides video
  5. Memóriakezelés, tömbök, pointerek. link slides video
  6. Deklarációk, láthatóság, élettartam szabályai. link slides video
  7. Függvények, paraméterátadás. link slides video
  8. Összetett adatszerkezetek. link slides video
  9. Dinamikus memóriakezelés. link slides video
  10. A szabványos C könyvtár slides video
  11. Az eddig tanultak gyakorlati összefoglalása. link video
  12. Unix utility implementációja. link video
  13. Egy egyszerű alkalmazás implementációja. link video
  14. Enkapszuláció, interfész és implementáció. Típusabsztrakció. link

Tantárgyi követelmények

nappali hallgatóknak

Olvasnivaló

alt text

Nyékyné Gaizler Judit (szerk.): Programozási nyelvek. Kiskapu kiadó (2003). ISBN-13: 9789639301467.

alt text

Brian W. Kernighan, Dennis Ritchie: The C Programming Language, 2nd Edition. Prentice Hall (April 1, 1988). ISBN-13: 978-0131103627.

alt text

Brian W. Kernighan, Rob Pike: The Practice of Programming, 1st Edition. Addison-Wesley Professional Computing Series (April 1, 1999). ISBN-13: 978-0201615869.

Draft standard

N1570 Committee Draft — April 12, 2011 ISO/IEC 9899:201x

On-line tananyag

A fenti órarend melletti linkeken elérhető.

Régebbi

A 2021 őszi félév

A 2020 őszi félév