„A programozás alapjai 2” változatai közötti eltérés

Nincs szerkesztési összefoglaló
a Jegyszámítás javítva
 
(30 közbenső módosítás, amit 15 másik szerkesztő végzett, nincs mutatva)
1. sor: 1. sor:
{{Tantárgy
{{Tantárgy
|nev=A programozás alapjai 2
|nev=A programozás alapjai 2
|targykod=VIAUAA00
|tárgykód=VIAUAA01
|regitargykod=VIAUA116
|régitárgykód=VIAUA116
|szak=villany
|szak=villany
|kredit=7
|kredit=6
|felev=2
|felev=2
|kereszt=nincs
|kereszt=nincs
16. sor: 16. sor:
|targyhonlap=https://www.aut.bme.hu/Course/VIAUA116
|targyhonlap=https://www.aut.bme.hu/Course/VIAUA116
}}
}}
{{Egyértelműsítő|programozás alapjai|A programozás alapjai (egyértelműsítő lap)}}


'''A programozás alapjai 2''' előkövetelménye [[A programozás alapjai 1]] kreditjének megszerzése, ezáltal a C programozási nyelv ismerete. A tárgy célja, hogy folytassa a számítógépes problémamegoldás módszereinek és alapvető eszközeinek megismertetését annak érdekében, hogy a hallgatók azt a későbbiek folyamán képesek legyenek hatékonyan alkalmazni. Ennek eszköze a C nyelv ismeretének elmélyítése, valamint a bevezetés az objektumorientált programozásba a C++ programozási nyelv által.
'''A programozás alapjai 2''' előkövetelménye [[A programozás alapjai 1]] kreditjének megszerzése, ezáltal a C programozási nyelv ismerete. A tárgy célja, hogy folytassa a számítógépes problémamegoldás módszereinek és alapvető eszközeinek megismertetését annak érdekében, hogy a hallgatók azt a későbbiek folyamán képesek legyenek hatékonyan alkalmazni. Ennek eszköze a C nyelv ismeretének elmélyítése, valamint a bevezetés az objektumorientált programozásba a C++ programozási nyelv által.


Az új [[Informatika 2]] felvételéhez szükséges A programozás alapjai 2 kreditjének megszerzése.
Az [[Informatika 2]] felvételéhez szükséges A programozás alapjai 2 kreditjének megszerzése.
 


==Követelmények==
==Követelmények==


*'''Előkövetelmény:''' [[A programozás alapjai 1]] című tárgy teljesítése.
*'''Előkövetelmény:''' [[A programozás alapjai 1]] című tárgy teljesítése.
*'''Jelenlét:''' A gyakorlatok és a laborok 70%-án kötelező a részvétel.
*'''Jelenlét:''' A laborok 70%-án kötelező a részvétel.
*'''Laborok:''' A számítógépes laborokon a laborvezetők beugróval vagy előfeladattal ellenőrizhetik a felkészültséget, az elégtelen felkészültség hiányzásnak minősül.
*'''Laborok:''' A számítógépes laborokon a laborvezetők '''beugró'''val ellenőrzik a felkészültséget, az elégtelen felkészültség hiányzásnak minősül.
*'''Nagy házifeladat:''' A félév során egy nagy házifeladat beadása kötelező. Az elfogadott feladatot a gyakorlatvezetők értékelik - Elfogadott vagy nem elfogadott. Nem elfogadható nagy házifeladat esetén a tárgyból szerzett jegy elégtelen. Némelyik gyakorlatvezető azt is megengedi, hogy házi feladatként egy egyedi, megfelelő bonyolultságú saját ötletet valósítsatok meg.
*'''Nagy házi feladat:''' A félév során '''egy nagy házi feladat''' beadása kötelező. Az elfogadott feladatot a laborvezetők értékelik az utolsó laboron - elfogadott vagy nem elfogadott, pont nem jár érte. Nem elfogadható nagy házi feladat esetén a tárgyból szerzett jegy elégtelen. Némelyik laborvezető azt is megengedi, hogy házi feladatként egy egyedi, megfelelő bonyolultságú saját ötletet valósítsatok meg.
*'''KisZH:''' A félév során a gyakorlatokon 5 db kis zárthelyit íratnak a gyakorlatvezetők, ezek közül legalább háromnak el kell érnie az elégséges szintet. A félévközi jegybe a három legjobban sikerült átlaga számít (KZH). A kis zárthelyik pótlására nincs lehetőség. <br> A gyakorlatvezetők a KZH átlagot plusz-mínusz 0,5-tel megváltoztathatják a hallgató féléves munkájának függvényében.
*'''KisZH:''' A félév során a laborokon '''5 db kis zárthelyi'''t íratnak a laborvezetők, ezek közül legalább háromnak el kell érnie az elégséges szintet (40%), de összességében az öt kiszhnak az összpontszám 40%-át  el kell érni! A félévközi jegybe a három legjobban sikerült összege számít (KZH). A kis zárthelyik '''pótlására nincs lehetőség'''. Természetesen amikor épp kisZh van, akkor azzal ellenőrzik a jelenlétet nem beugróval. A sikertelen kis zárthelyi ennélfogva hiányzásnak számít.
*'''NagyZH:''' A tárgyból két nagy zárthelyit íratnak, a két nagyZH-ból együttesen legalább 50%-ot kell elérni az elégséges jegyhez, külön-külön nincs minimumkövetelmény. Eredménye (NZH) kétszeres súllyal számít a végső jegy kialakításában. A nagy zárthelyik a pótlási héten pótolhatók, különeljárási díj megfizetése mellett. A pótlási héten írt nagy zárthelyi a félév közben rosszabbul sikerült nagy zárthelyi eredményét helyettesíti.
*'''NagyZH:''' A tárgyból '''két nagy zárthelyi'''t íratnak, a két nagyZH-ból '''együttesen legalább 50%'''-ot kell elérni az elégséges jegyhez, külön-külön nincs minimumkövetelmény. Eredménye (NZH) kétszeres súllyal számít a végső jegy kialakításában. Pótlási héten egyetlen ZH-n lehet a kettőt pótolni, amely a teljes anyagrészt felöleli. Ilyenkor a már megírt ZH eredménye elvész.
*'''Félévközi jegy:''' A végső jegyet a következőképpen számítják: '''JEGY = ( 2 * NZH + KZH ) / 3'''
*'''Félévközi jegy:''' Végeredmény% = (ZH1 %-os eredménye) / 3 + (ZH2 %-os eredménye) / 3 + (NagyHF %-os eredménye) / 6 + (3 legjobb kisZH %-os eredményének összege) / 18
 
*Ponthatárok:
*(Eredmény [E])
:{| class="wikitable" style="text-align: center; width: 120px; height: 40px;"
!E %!!Jegy
|-
|0 - 39|| 1
|-
|40 - 54|| 2
|-
|55 - 69|| 3
|-
|70 - 84|| 4
|-
|85 - 100|| 5
|}


==Segédanyagok==
==Segédanyagok==


==Jegyzet==
*<span style="color: red">Kiemelt</span> segédanyag: [[Média:Prog2 jegyzet.pdf|pdf jegyzet]] - online formában is, letölthető példafeladatokkal itt: [http://psiroki.github.io/ccjegyzet/ jegyzet]
*<span style="color: red">Kiemelt</span> segédanyag: [[Media:Prog2_jegyzet.pdf|jegyzet]] - online formában, letölthető példafeladatokkal itt: [http://psiroki.github.io/ccjegyzet/ jegyzet]
Siroki Péter HaT-os öregtag által készített C++ jegyzet. A témakörök sorrendje a tantárgytematikát követi. Az esetleges hibákat a wiki@sch.bme.hu címre vár
Siroki Péter HaT-os öregtag által készített C++ jegyzet. A mérnökinfós tematikát követi, de villanyos tárgyhoz is jól használható. Az esetleges hibákat a wiki@sch.bme.hu címre várjuk.


===Egyéb segédanyagok===
*[[Média:Prog2 Bjarne Stroustrup C++.PDF|Bjarne Stroustrup: C++]] – A C++ megalkotójának könyve
*[[Média:Prog2 Általában a parancssori argumentumokról.PDF|Általában a parancssori argumentumokról]]


*[[Média:Prog2_Bjarne_Stroustrup_C++.PDF|Bjarne Stroustrup: C++]] – A C++ megalkotójának könyve
'''Előadásjegyzet Dr. Levendovszky Tihamér 2007-es előadásai alapján:'''
*[[Média:Prog2_Általában_a_parancssori_argumentumokról.PDF|Általában a parancssori argumentumokról]]
(Kissé hiányosak és eléggé vázlatosak, de azért vannak benne hasznos anyagok)


===Előadásjegyzet Dr. Levendovszky Tihamér 2007-es előadásai alapján===
*[[Média:Prog2 Levendovszky előadásjegyzet 2007 2 Bevezetés.PDF|2. Előadás: Bevezetés]]
*[[Média:Prog2 Levendovszky előadásjegyzet 2007 3 Objektumok, konstruktor, destruktor.PDF|3. Előadás: Objektumok, konstruktor, destruktor]]
*[[Média:Prog2 Levendovszky előadásjegyzet 2007 4 Dinamikus memóriafoglalás.PDF|4. Előadás: Dinamikus memóriafoglalás]]
*[[Média:Prog2 Levendovszky előadásjegyzet 2007 5 Osztály, névterek.PDF|5. Előadás: Osztály, névterek]]
*[[Média:Prog2 Levendovszky előadásjegyzet 2007 6 Statikus tagok, operátor-túlterhelés.PDF|6. Előadás: Statikus tagok, operátor-túlterhelés]]
*[[Média:Prog2 Levendovszky előadásjegyzet 2007 7 Öröklés.PDF|7. Előadás: Öröklés]]
*[[Média:Prog2 Levendovszky előadásjegyzet 2007 11 Sablonok.PDF|11. Előadás: Sablonok]]
*[[Média:Prog2 Levendovszky előadásjegyzet 2007 12 Kivételkezelés.PDF|12. Előadás: Kivételkezelés]]


Kissé hiányosak és eléggé vázlatosak, de azért vannak benne hasznos anyagok:
==Kis zárthelyik==


*[[Média:Prog2_Levendovszky_előadásjegyzet_2007_2_Bevezetés.PDF|2. Előadás: Bevezetés]]
Az előadáson és gyakorlaton leadott, laboron begyakorolt anyagokból áll a kis zh anyaga. A kis zh-n főként az elméleti fogalmakat és szintaktikát kérik számon, sosincs benne nehéz algoritmus implementálása.
*[[Média:Prog2_Levendovszky_előadásjegyzet_2007_3_Objektumok,_konstruktor,_destruktor.PDF|3. Előadás: Objektumok, konstruktor, destruktor]]
Típusfeladatok:
*[[Média:Prog2_Levendovszky_előadásjegyzet_2007_4_Dinamikus_memóriafoglalás.PDF|4. Előadás: Dinamikus memóriafoglalás]]
* Elméleti, kifejtős kérdés néhány pontért (fogalmak elmagyarázása).
*[[Média:Prog2_Levendovszky_előadásjegyzet_2007_5_Osztály,_névterek.PDF|5. Előadás: Osztály, névterek]]
* Szöveges specifikáció alapján osztály tervezése és implementálása.
*[[Média:Prog2_Levendovszky_előadásjegyzet_2007_6_Statikus_tagok,_operátor-túlterhelés.PDF|6. Előadás: Statikus tagok, operátor-túlterhelés]]
* UML diagram alapján öröklési hierarchia tervezése és az osztályok implementálása.
*[[Média:Prog2_Levendovszky_előadásjegyzet_2007_7_Öröklés.PDF|7. Előadás: Öröklés]]
Az itt összegyűjtött néhány feladatsor csupán iránymutatás, de ettől merőben eltérő feladatsorok is lehetnek! Gyakorlásra viszont jók a régi mintatantervben íratott kis zárthelyik:
*[[Média:Prog2_Levendovszky_előadásjegyzet_2007_11_Sablonok.PDF|11. Előadás: Sablonok]]
** [[Média:Prog2 3kisZH 2013tavasz.jpg|2013. tavasz - 3. kisZH]]
*[[Média:Prog2_Levendovszky_előadásjegyzet_2007_12_Kivételkezelés.PDF|12. Előadás: Kivételkezelés]]
** [[Média:Prog2 4kisZH 2013tavasz.jpg|2013. tavasz - 4. kisZH]]


==Kiszárthelyik==
==Nagy zárthelyik==


A kiszárthelyiket a gyakorlatvezető állítja össze, így meglehetősen felemás képet mutatnak mind nehézség, mind stílus tekintetében.<br/>Ahhoz viszont tarták magukat, hogy csak olyanra kérdeznek rá, amit leadtak vagy előadáson vagy a gyakorlaton.<br/>Az itt összegyűjtött néhány feladatsor csupán iránymutatás, de ettől merőben eltérő feladatsorok is lehetnek! Gyakorlásra viszont jók.
Az ''első zárthelyit'' a 7. héten íratják és 25 pontot lehet rajta szerezni. Ebből 3 feladat valamilyen fogalom elmagyarázása, saját példával szemléltetése (ez 15 pontot ér), és egy nagyobb, tervezős feladat, (mely 10 pontot ér).  


*[[Média:Prog2_3kisZH_2013tavasz.jpg|2013. tavasz - 3. kisZH]]
A ''második zárthelyit'' az utolsó héten íratják, és azon 20 pont szerezhető. Minden évben hasonló felépítésű, négyféle típusfeladatot tartalmaznak:
*[[Média:Prog2_4kisZH_2013tavasz.jpg|2013. tavasz - 4. kisZH]]
#Generikus (template) konténerosztály elkészítése. (5 pont)
#Hibakeresés: Meg kell mondani, hogy egy adott kódrészlet hibás-e, ha igen, fordítási/futási idejű-e a hiba. (5 pont)
#Adott C++ lehetőség (pl: operátor-túlterhelés, kivételkezelés) visszakérdezése példával. (4 pont)
#Egyszerű osztályhierarchia implementálása szöveges specifikáció alapján. (6 pont)


==Régi ZH-k==
*[[Média:Prog2 zh összefoglaló Ihász Dávid.PDF|Kidolgozott ZH feladatok]] - ''Ihász Dávid'' munkája. Sok átfedés van a fenti kidolgozással, azonban a fenti kidolgozást nézzétek elsősorban, mert ott ellenőrzötten helyes megoldások vannak, valamint a ZH feladatok nagy része is azok közül kerül ki.
*[[Média:Prog2 blackboxZH 2018.pdf|Összefoglaló az 1. és 2. zárthelyihez]] - Forstner Bertalan előadó által kiadott blackbox kérdések kidolgozása. Az anyag az 1. és a 2. zárthelyi témaköreit fedi le. (Molnár Martin, 2018)


A zárthelyik minden évben hasonló felépítésűek, négyféle típusfeladatot tartalmaznak:
=== Korábbi ZH-k ===
#Generikus (template) konténerosztály elkészítése.
#Hibakeresés: Meg kell mondani, hogy egy adott kódrészlet hibás-e, ha igen, fordítási/futási idejű-e a hiba.
#Adott C++ lehetőség (pl: operátor-túlterhelés, kivételkezelés) visszakérdezése példával.
#Egyszerű osztályhierarchia implementálása szöveges specifikáció alapján.


*[http://users.hszk.bme.hu/~kz612/nagyzh.htm ZH feladatok] – Ezen az oldalon az AUT C++ példatár vonatkozó feladatai vannak összegyűjtve, megoldásokkal együtt. '''A ZH feladatok 90%-a ezek közül kerül ki!!!!'''
*Első:
*[[Média:Prog2_zh_összefoglaló_Ihász_Dávid.PDF|Kidolgozott ZH feladatok]] - ''Ihász Dávid'' munkája. Sok átfedés van a fenti kidolgozással, azonban a fenti kidolgozást nézzétek elsősorban, mert ott ellenőrzötten helyes megoldások vannak, valamint a ZH feladatok nagy része is azok közül kerül ki.
** [[Média:Prog2 ZH 2018-03-22.pdf|2018.03.22]]


==Tippek==
==Tippek==
80. sor: 105. sor:
AUT C++ példatár: [http://www.aut.bme.hu/CppPeldatar/Tags/El%C5%91sz%C3%B3 c++]
AUT C++ példatár: [http://www.aut.bme.hu/CppPeldatar/Tags/El%C5%91sz%C3%B3 c++]
*Érdemes a félév során aktívan részt venni a gyakorlatokon és a laborokon, illetve igényes munkát végezni az otthoni feladatokon, hiszen a gyakorlatvezető saját belátása alapján plusz-mínusz fél jegyet módosíthat a kialakult félév végi osztályzatodon. Extrém esetben, akár gyenge hármas nagyzárthelyivel is szerezhető jeles érdemjegy, amennyiben a többi követelményt maximális pontszámmal teljesítetted.
*Érdemes a félév során aktívan részt venni a gyakorlatokon és a laborokon, illetve igényes munkát végezni az otthoni feladatokon, hiszen a gyakorlatvezető saját belátása alapján plusz-mínusz fél jegyet módosíthat a kialakult félév végi osztályzatodon. Extrém esetben, akár gyenge hármas nagyzárthelyivel is szerezhető jeles érdemjegy, amennyiben a többi követelményt maximális pontszámmal teljesítetted.
*Kis és nagyZh-kra való készülésben nagyon hasznos tud lenni a Szoftverfejlesztés C++ nyelven című könyv. Az előadás is épít rá, így ismétlésnek is tökéletes. A NagyZh-knál tényleg ajánlott a C++ példatárat "forgatni", készségszinten begyakorolni és megérteni.


{{Lábléc_-_Villamosmérnök_alapszak 2014}}
{{Lábléc_-_Villamosmérnök_alapszak 2014}}