Tantárgyi adatlap
Download PDFI. Subject Specification
1. Basic Data
1.1 Title
Programozás alapjai
1.2 Code
BMEEOFTBSFC001-00
1.3 Type
Module with associated contact hours
1.4 Contact hours
| Type | Hours/week / (days) |
| Lab | 2 |
1.5 Evaluation
Midterm grade
1.6 Credits
3
1.7 Coordinator
| name | Dr. Ekler Hajnalka |
| academic rank | Assistant professor |
| ekler.hajnalka@emk.bme.hu |
1.8 Department
Department of Photogrammetry and Geoinformatics
1.9 Website
1.10 Language of instruction
hungarian
1.11 Curriculum requirements
Compulsory in the Civil Engineering (BSc) programme
1.12 Prerequisites
1.13 Effective date
1 September 2025
2. Objectives and learning outcomes
2.1 Objectives
A tantárgy fő célja, hogy a tanulók alapvető programozási ismereteket szerezzenek és Python programozási nyelvben egyszerűbb szkript feladatokat meg tudjanak oldani önállóan. Olyan programozói szokások kialakítására motiváljuk a hallgatókat, amellyek segítségével később képesek lesznek akár csapatban, komplexebb mérnöki feladatok megoldására, akár nagyobb kódbázisok módosítására is.
2.2 Learning outcomes
Upon successful completion of this subject, the student:
A. Knowledge
1. Ismeri a legfontosabb adatszerkezeteket.
2. Ismeri a legfontosabb vezérlési szerkezeteket.
3. Ismeri az algoritmizálás alapvető eszköztárát és módszereit.
4. Ismeri a programozási alaptételeket.
5. Tud függvénykönyvárakat használni.
6. Tud függvényeket írni.
7. Tud adatokat importálni, ábrázolni és exportálni is.
8. Ismeri a Python nyelv alapvető szintaxisát.
9. Ismeri a legfontosabb programozói szakkifejezéseket angol nyelven is.
B. Skills
1. Megérti a programozás szerepét és fontosságát az építőmérnöki gyakorlatban.
2. Építőmérnöki számítási feladataihoz képes programozási nyelvet és környezetet választani.
3. Képes az építőmérnöki tevékenysége során számítási feladatokat Python programozási nyelven magabiztosan megoldani.
4. Képes az építőmérnöki tervezés számítási módszereit olyan függvényekbe szervezni, amelyeket később más mérnök is fel tud használni.
5. Képes mások által létrehozott kódot olvasni, használni és módosítani.
6. Képes a programozási feladatokhoz kapcsolódó kérdéseire az interneten válaszokat keresni, majd a válaszok közül a 7. relevánsat kiszűrni és validálni.
7. Képes interaktív munkafüzetbe szervezni számításait és a hozzá tartozó dokumentációt.
8. Képes a hibaüzeneteket értelmezni és a hibákat az alapján kijavítani.
C. Attitudes
1. Képes és nyitott új programozási nyelv(ek)et megtanulni.
2. Képes és nyitott az informatikai ismereteit önállóan bővíteni, törekszik a folyamatos önképzésre.
3. Megérti, hogy a programozás nyelve az angol, így törekszik arra, hogy angol (szakmai) nyelvtudását elmélyítse.
4. Munkája során mindig szem előtt tartja, hogy a kódja mások számára is érthető, egyértelmű és könnyen módosítható legyen.
5. Kerüli a felesleges bonyolítást, átlátható, elegáns megoldásokra törekszik.
6. Feladatait igyekszik legjobb tudása szerint, magas színvonalon elvégezni.
D. Autonomy and Responsibility
1. Önállóan tud kisebb mérnöki feladatokat Python programozási nyelvben megoldani.
2. A feladatok megoldása során a rendszerelvű megközelítést alkalmazza.
3. Munkáját minden esetben ellenőrzi és validálja.
4. Felelősséget vállal az általa megírt kód minőségéért.
2.3 Methods
Laborgyakorlat lévén az oktatásban a legnagyobb szerepet az interaktív jelenléti oktatás kapja:
A gyakorlat során a hallgatók interaktív munkafüzetekben dolgoznak, ahol az elméleti részeket egyértelműen jelölt programozási feladatok szakítják meg. A hallgatók figyelmét, aktivitását és a monotonitás megtörését az órákon ezek az elméleti és aktív programozási feladatok váltogatása biztosítja.
Az órákon a hallgatók a feladatok megoldását nem látják, azonban a Tanulószoba időpontja után a megoldásokat (kódokat és a kódok szöveges leírását) nyilvánossá tesszük, ezzel biztosítva, hogy a hallgatók esetleges hiányzás esetén önállóan is fel tudjanak készülni egy-egy tananyagból.
A munkafüzetek végén összefoglalás, ellenőrző kérdések és gyakorló feladatok is segítik a felkészülést.
A kiadott interaktív munkafüzetekben egyértelműen megjelölt részeket vagy az egyéb tanulást segítő anyagokat (videó, honlap, könyvrészlet) a hallgatóknak önállóan kell elsajátítani, az ezekhez kapcsolódó kérdéseiket feltehetik a laborgyakorlatokon, Tanulószobán vagy online konzultáció során. Ezek az anyagok számonkérésre kerülnek.
A kiadott interaktív munkafüzetek tartalmaznak egyértelműen megjelölt kiegészítő anyagokat, amik vagy a megértést segítik vagy olyan a tananyaghoz kapcsolódó plusz tudást tartalmaznak, amelyek a hallgatók jelenlegi tudás szintjén túlmutat (pl. matematikából még tanult ismeretek), azonban a későbbi tanulmányaik során szükségesek. Ezek a kiegészítő anyagok természetesen nem lesznek számonkérve.
A rendszeres kontaktórák mellett a tárgy kompetenciáinak elsajátítását Tanulószoba segíti, ahol egy gyakorlatvezető válaszolja meg a felmerülő kérdéseket.
2.4 Course outline
1. Bevezetés a Python nyelvbe
2. Függvények hívása és függvénykönyvtárak importálása
3. Függvények írása
4. List adatszerkezet
5. Set, dict és tuple adatszerkezetek
6. Numpy alapismeretek
7. ZH
8. Vezérlési szerkezetek
9. Programozási alaptételek I.
10. Programozási alaptételek II.
11. Adatok írása és olvasása
12. Adatok/függvények megjelenítése, optimalizáció
13. Interpoláció
14. ZH
The above programme is tentative and subject to changes due to calendar variations and other reasons specific to the actual semester. Consult the effective detailed course schedule of the course on the subject website.
The above programme is tentative and subject to changes due to calendar variations and other reasons specific to the actual semester. Consult the effective detailed course schedule of the course on the subject website.
2.5 Study materials
Moodlben található interaktív munkafüzetek minden gyakorlathoz.
2.6 Other information
-
2.7 Consultation
Konzultációs időpontok: a tanszék honlapján megadottak szerint, vagy előzetesen, e-mail-ben egyeztetve; e-mail: ekler.hajnalka@emk.bme.hu
This Subject Datasheet is valid for:
2025/2026 I. félév
II. Subject requirements
Assessment and evaluation of the learning outcomes
3.1 General rules
A félév során 10 rövid elméleti kérdésekből álló tesztet töltenek ki a hallgatók a gyakorlatok elején, illetve két gyakorlati ZH-t kell teljesíteniük.
3.2 Assessment methods
| Teljesítményértékelés neve (típus) | Jele | Értékelt tanulási eredmények |
|---|---|---|
| Bevezetés a Python nyelvbe teszt | ED1 | A1, A9, B1, B2, B6, C1 |
| Függvénykönyvtárak teszt | ED2 | A5, A9, B5 |
| Függvényírás teszt | ED3 | A5, A6, A9, B4, C4 |
| List adatszerkezet teszt | ED4 | A1, A9 |
| Set, dict, tuple adatszerkezetek teszt | ED5 | A1, A9 |
| Numpy teszt | ED6 | A1, A5, A9, B5 |
| Zárthelyi dolgozat 1. | ZH1 | A1, A5, A6, A8, B4, B7, B8, C1-C6, D1-D4 |
| Vezérlési szerkezetek teszt | ED7 | A2, A3, A6, A9 |
| Programozási alaptételek 1. teszt | ED8 | A2, A3, A4, A6, A9 |
| Programozási alaptételek 2. teszt | ED9 | A2, A3, A4, A6, A9 |
| Import, export teszt | ED10 | A5, A7, A9, B5 |
| Zárthelyi dolgozat 2. | ZH2 | A2, A3, A4, A6, A7, A8, B3, B4, B7, B8, C1-C6, D1-D4 |
The dates of deadlines of assignments/homework can be found in the detailed course schedule on the subject’s website.
3.3 Evaluation system
| Jele | Részarány |
|---|---|
| A1, A9, B1, B2, B6, C1 | 3% |
| A5, A9, B5 | 3% |
| A5, A6, A9, B4, C4 | 3% |
| A1, A9 | 3% |
| A1, A9 | 3% |
| A1, A5, A9, B5 | 3% |
| A1, A5, A6, A8, B4, B7, B8, C1-C6, D1-D4 | 30% |
| A2, A3, A6, A9 | 3% |
| A2, A3, A4, A6, A9 | 3% |
| A2, A3, A4, A6, A9 | 3% |
| A5, A7, A9, B5 | 3% |
| A2, A3, A4, A6, A7, A8, B3, B4, B7, B8, C1-C6, D1-D4 | 40% |
| Összesen | 100% |
3.4 Requirements and validity of signature
-
3.5 Grading system
| Érdemjegy | Pontszám (P) |
|---|---|
| jeles(5) | 85≤P |
| jó(4) | 75≤P<85% |
| közepes(3) | 65≤P<75% |
| elégséges(2) | 50≤P<65% |
| elégtelen(1) | P<50% |
3.6 Retake and repeat
Az ED-knek nincs minimumpontjuk, azonban pótlási héten egyszer az összes ED-t egy komplex tesztben lehet pótolni/javítani. A pótlás/javítás során a jobb eredményt vesszük figyelembe, ezzel ösztönöve a hallgatókat, hogy a félév végén átismételjék az elméleti tananyagot.
A ZH1 minimum ponthatára 15 pont, és 2 héten belül (összevárva az összes gyakorlatot) órarenden kívül biztosítunk egy pótlási lehetőséget. A pótláson az utolsó megszerzett pont lesz figyelembe véve.
A ZH2 minimum ponthatára 20 pont, és pótlási héten órarenden kívül biztosítunk egy pótlási lehetőséget. A pótláson az utolsó megszerzett pont lesz figyelembe véve.
3.7 Estimated workload
| Tevékenység | Óra/félév |
|---|---|
| Részvétel a kontakt tanórákon | 14 x 2 = 28 |
| Készülés a gyakorlatokra | 14 x 2 = 28 |
| Készülés az elméleti tesztekre | 10 x 1 = 10 |
| Készülés a gyakorlati számonkérésre | 2 x 12 = 24 |
3.8 Effective date
1 September 2025
This Subject Datasheet is valid for:
2025/2026 I. félév