Programozási alapismeretek (GJARBAN-PROGRAMA-1)

Alapadatok
Szak és képzési szint
Járműmérnöki alapszak, BSc
Tanterv
2021
Óraszám
2 + 0 + 2 (E+Gy+L)
Kreditérték
4 kredit
Elmélet-Gyakorlat arány
Elmélet: 50%, Gyakorlat: 50%
Tantervi félév
2. félév
Oktatók
Tantárgyfelelős
Dr. Pásztor Attila
Felelős tanszék
Informatika Tanszék
Oktatók
Dr. Rajkó Árpád Róbert, Farkas Attila, Szekeres György, - nincs
Ellenőrzésért felel
- nincs
Tantárgy célja

A tárgy célja, hogy a hallgatók megismerjék a programozási alapelveket és azok Python nyelvű megvalósításait. A hallgatók megismerik az alapvető programozási szerkezeteket, adatstruktúrákat és problémamegoldó technikákat. A kurzus során hangsúlyozott a gyakorlati tapasztalatok és a gyakorlati programozási készségek fejlesztése.

Elsajátítandó ismeretanyag
Előadás

1-2. hét: Bevezetés a programozásba és a Python alapjai • Mi a programozás? • Miért Python? • A programozási környezet beállítása (Python és egy IDE telepítése). • Alapvető szintaxis: változók, adattípusok (egész számok, lebegőpontos számok, karakterláncok, logikai értékek), operátorok. • Bemeneti/kimeneti műveletek: felhasználói bemenet bekérése és kimenet megjelenítése. 3-4. hét: Vezérlési struktúrák • Feltételes utasítások: if, elif, else. • Ciklusok: for és while ciklusok, break és continue utasítások. • Egymásba ágyazott ciklusok. • Gyakorlati példák: egyszerű játékok, számkitaláló játék. 5-6. hét: Függvények • Függvények definiálása és meghívása. • Függvény argumentumok és paraméterek. • Visszatérési értékek. • Hatókör és lokális/globális változók. • Rekurzió (opcionális). 7-8. hét: Adatstruktúrák • Listák: létrehozás, hozzáférés, módosítás, listák manipulálása (append, insert, remove, szeletelés). • Tuple-ök: változatlanság, kibontás. • Szótárak: kulcs-érték párok, szótárelemek elérése és módosítása. 9-10. hét: Munkavégzés karakterláncokkal • Karakterlánc-manipuláció: szeletelés, összefűzés, metódusok (split, join, find, replace). • Karakterlánc formázás. • Reguláris kifejezések (bevezetés). 11-12. hét: Bevezetés az objektumorientált programozásba (OOP) • Osztályok és objektumok: osztályok definiálása, objektumok (példányok) létrehozása. • Attribútumok és metódusok. • Alapvető OOP fogalmak: beágyazás, öröklődés, polimorfizmus (rövid áttekintés). 13. hét: Projekt/ismétlés • Záróprojekt: a hallgatók egy olyan kis programozási projekten dolgoznak, amely integrálja a kurzus során tanult fogalmakat. • Kurzus ismétlése és kérdések-válaszok.

Laboratórium

Visual Studio Code 2025 programozási környezet használata. • Alapvető programozási fogalmak megértése: változók, adattípusok, operátorok, vezérlési struktúrák (if-else, ciklusok), függvények. • Alapvető adatstruktúrák használatának elsajátítása: listák, tuple-ök, szótárak. • Python kód írásának, hibakeresésének és tesztelésének elsajátítása. • Problémamegoldó és algoritmikus gondolkodási készségek fejlesztése. • Python alkalmazása egyszerű valós problémák megoldására. • A kód olvashatóságának, karbantarthatóságának és bevált gyakorlatok fontosságának megértése.

Szakmai kompetenciák
Tudás

Legalább egy meghatározó programozási környezetben képes készség szintjén C++ alapszinten programozni, és a fontosabb algoritmusokat alkalmazni.

Képesség

Attitűd

Autonómia és felelősség

Számonkérés és értékelés
Félévközi követelmények

• Házi feladatok: Havi programozási feladatok a tanult fogalmak alkalmazására. • Gyakorlati projektek: Záróprojekt a tudás integrálására és alkalmazására. Értékelés: 1,ha%∈[0,30); 2,ha%∈[30,50); 3,ha%∈[50,65); 4,ha%∈[65,80); 5,ha%∈[80,100] • Házi feladatok: 25% • Záróprojekt: 25% • Gyakorlaton belüli részvétel és tesztek: 30% • Előadásokon való részvétel és aktivitás: 20%

Vizsgakövetelmények

Generatív MI használata

1. álláspont: A GMI eszközök használata nem engedélyezett a feladatok megoldása során. Ez azt jelenti, hogy a GMI eszközök nem használhatók a formatív vagy szummatív értékelési elemek elkészítése, megoldása során és a generatív MI használata tanulmányi kötelességszegésnek minősül. Az MI eszközök nyelvi és helyesírás-ellenőrzésre történő használata nem tartozik az 1. álláspont szerinti teljes tilalom alá.

Irodalom
Kötelező irodalom

[1] A Python nyelv hivatalos oldala: https://www.python.org/ [2] Peter Wentworth, Jeffrey Elkner, Allen B. Downey and Chris Meyers: Hogyan gondolkozz úgy, mint egy informatikus: Tanulás Python 3 segítségével 3. kiadás, (2019) https://mtmi.unideb.hu/course/view.php?id=9#section-1

Ajánlott irodalom

[3] Ramses van Zon: Introduction to Programming (SCMP142), (2024) All lecture slides: https://education.scinet.utoronto.ca/mod/resource/view.php?id=3486 [4] Marty Stepp, Moshe Goldstein: Introduction to Programming with Python (2016) Slides: https://sites.cs.ucsb.edu/~tyang/class/240a16w/slides/pythonQuick.pdf