„Eseményvezérelt és vizuális programozás” változatai közötti eltérés

a Tematika: Link helyének javítása
 
(47 közbenső módosítás, amit 7 másik szerkesztő végzett, nincs mutatva)
8. sor: 8. sor:
|tanszék=AUT
|tanszék=AUT
|labor=van
|labor=van
|kiszh=labor beugrók
|kiszh=laborbeugrók
|nagyzh=nincs
|nagyzh=2 db
|hf=2 db
|hf=nincs
|vizsga=nincs
|vizsga=nincs
|tad=https://portal.vik.bme.hu/kepzes/targyak/VIAUBB01/
|tad=https://portal.vik.bme.hu/kepzes/targyak/VIAUBB01/
|targyhonlap=https://www.aut.bme.hu/Course/VIAUBB01
|targyhonlap=https://www.aut.bme.hu/Course/VIAUBB01}}
|levlista=Slack  }}


A tárgy keretein beül a hallgatók a korábbi objektum-orientált ismereteikre alapozva megismerik az eseményvezérelt és grafikus programozás legfontosabb módszereit. A hallgatók megismerik a C# nyelvet és a .NET környezeten keresztül elsajátítják a grafikus felhasználói felület (GUI - Graphical User Interface) programozási alapjait. Megismerik a modern osztálykönyvtárak fontosabb szolgáltatásait (reflexiós technikák, adatkötés, rajz és szöveg megjelenítése stb.), valamint betekintést kapnak a feladatok párhuzamos futtatásának lehetőségeibe.
A tárgy keretein beül a hallgatók a korábbi objektum-orientált ismereteikre alapozva megismerik az eseményvezérelt és grafikus programozás legfontosabb módszereit. A hallgatók megismerik a C# nyelvet és a .NET környezeten keresztül elsajátítják a grafikus felhasználói felület (GUI - Graphical User Interface) programozási alapjait. Megismerik a modern osztálykönyvtárak fontosabb szolgáltatásait (reflexiós technikák, adatkötés, rajz és szöveg megjelenítése stb.), valamint betekintést kapnak a feladatok párhuzamos futtatásának lehetőségeibe.
34. sor: 33. sor:
*A '''házi feladatok''' darabonként 30-30 pontot érnek. A házi feladatok idő előtt való leadása pluszpontot ér.
*A '''házi feladatok''' darabonként 30-30 pontot érnek. A házi feladatok idő előtt való leadása pluszpontot ér.


====2020. őszén (A "hibrid" oktatás alatt) hozott változtatások====
==== 2020. őszén (A "hibrid" oktatás alatt) hozott változtatások ====
* A '''labor'''ok jelentősen megváltoztak. Összesen 10 darab labor, mindegyik pontozva van 0-5 között és akkor számít részvételnek ha egy laboron min. 1 pontot elért valaki (70% részvétel követelmény, lehetnek fél pontok is). Moodle-ön tartozhat "online beugró" egy laborhoz, amit teljesíteni kell az érintett labor előtti vasárnap éjféléjig, különben mínusz pont jár érte. Laborokat mindenki egy külön github repository-ba csinálta és leadás egy pull request ahol a "laborvezető" meg van adva reviewer-nek.  
* A '''labor'''ok jelentősen megváltoztak. Összesen 10 darab labor, mindegyik pontozva van 0-5 között és akkor számít részvételnek ha egy laboron min. 1 pontot elért valaki (70% részvétel követelmény, lehetnek fél pontok is). Moodle-ön tartozhat "online beugró" egy laborhoz, amit teljesíteni kell az érintett labor előtti vasárnap éjféléjig, különben mínusz pont jár érte. Laborokat mindenki egy külön github repository-ba csinálta és leadás egy pull request ahol a "laborvezető" meg van adva reviewer-nek.  
* Csak a '''csapatmunka (3 fős) házi feladat''' van és maximum 25 pontot lehet rá kapni.
* Csak a '''csapatmunka (3 fős) házi feladat''' van és maximum 25 pontot lehet rá kapni.
* Van jelenléti '''ZH''', ami 25 pontos.
* Van jelenléti '''ZH''', ami 25 pontos.
**Engedélyezve volt az online források használata (labvez szavai: "StackOverflow-t nyugodtan kérdezzük, de a padtársakat légyszi ne").
** Engedélyezve volt az online források használata (labvez szavai: "StackOverflow-t nyugodtan kérdezzük, de a padtársakat légyszi ne").
* Tehát a pontszámítás így néz ki:
** Teljesítése nem követelmény, de póthéten lehet pótolni.
** Laborok(max. 50) + házi(max. 25) + zh(max. 25) = max. 100 pont
* Tehát a pontszámítás a következő: Laborok(max. 50) + házi(max. 25) + zh(max. 25) = max. 100 pont


*'''Pótlási lehetőségek:'''
==== 2021. őszén hozott változtatások ====
**A '''házi feladatok''' előre kihirdetett időpontokban, késedelmesen is le lehet adni.
 
**A '''laborok''' nem pótolhatóak. A házi feladat korábbi időpontban való leadás további pluszpontokkal járhat.
* '''Nincsen NHF'''.
* '''Két jelenléti ZH van''' és mindegyik min. 40%-os teljesítése kötelező.
* Laborokra nem kötelező jelenlétiben bejárni, otthon is elvégezhetőek.
* Ha mégis jelenléti laborra szeretnél menni, azt Moodle-n előre jelezni kell.
* Teams-en van egy egységes felület a laborral kapcsolatos kérdéseknek. Válaszolhat rájuk az előadó, a laborvezető, de hallgató is.
* A félév végén lehet szavazni azon hallgató társaidra, akik a legtöbbet segítettek neked vagy másoknak a kérdéseitek megválaszolásával. 50 pontot osztanak szét azon 5 ember között, akikre a legtöbb szavazat jön.
* '''Pontszámítás: Laborok(max.50)+2 ZH(max.50)+bónuszpontok'''
 
==== Pótlási lehetőségek: ====
* A '''házi feladatok''' előre kihirdetett időpontokban, késedelmesen is le lehet adni.
* A '''laborok''' nem pótolhatóak. A házi feladat korábbi időpontban való leadás további pluszpontokkal járhat.
* A '''zh''' 1szer pótolható, egy előre kihirdetett időponton póthéten.


=== Félévvégi jegy ===
=== Félévvégi jegy ===
64. sor: 74. sor:


== Tematika ==
== Tematika ==
=== Előadások ===
=== Előadás ===
* 2020 ősz
A prezentációk a [https://edu.vik.bme.hu/course/view.php?id=10528 Moodle-re], a példakódok pedig a [https://github.com/eviplabs/peldak2023/ GitHubra] vannak feltöltve.
** [[Media:evip_eloadas_1.pdf | 02 EA - CS alapok]]  
 
** [[Media:evip_eloadas_2.pdf | 03 EA - Szovegkezeles]]  
==== .NET ====
** [[Media:evip_eloadas_3.pdf | 04 EA - Kollekciok, IEnumerable]]  
* 1. hét: [[Média:Evip 01 EA 20230907 Bevezeto.pdf| bevezetés]], [[Média:Evip 01 EA 20230907 Culture Deck.pdf| culture deck]]
** [[Media:evip_eloadas_4.pdf | 05 EA - Linq]]  
* 2. hét: Git-kvíz; Visual Studio; [https://github.com/eviplabs/peldak2023/blob/main/ElsoSolution/ElsoKonzolosApp/Program.cs C#-bevezetés] ([[Média:Evip eloadas 1.pdf|korábbi előadás]]): args, Console.WriteLine(), static, ref, nullable type, getter-setter
** [[Media:evip_eloadas_5.pdf | 06 EA - UWP]]  
* [https://github.com/eviplabs/peldak2023/tree/main/ElsoSolution/ElsoKonzolosApp 3. hét]: compiler és interpreter, bytecode, JVM, JIT, CIL; ref, [https://github.com/eviplabs/peldak2023/blob/main/ElsoSolution/ElsoKonzolosApp/Ember.cs getter-setter], virtual, [https://github.com/eviplabs/peldak2023/blob/main/ElsoSolution/ElsoKonzolosApp/Ember.cs override], [https://github.com/eviplabs/peldak2023/blob/main/ElsoSolution/ElsoKonzolosApp/IEmberPrinter.cs interface], factory method, [https://github.com/eviplabs/peldak2023/blob/main/ElsoSolution/ElsoKonzolosApp/DesignPrinter.cs base], [https://github.com/eviplabs/peldak2023/blob/main/ElsoSolution/ElsoKonzolosApp/Program.cs $-string, StringBuilder, Exception, TryParse, out]
** [[Media:evip_eloadas_6.pdf | 07 EA - Esemenyek INPC]]  
* 4. hét: [https://github.com/eviplabs/peldak2023/tree/main/RegexProbak regex] ([[Média:Evip eloadas 2.pdf|korábbi előadás]]), [https://github.com/eviplabs/peldak2023/tree/main/Serialization serialization]
** [[Media:evip_eloadas_7.pdf | 08 EA - Adatkotes]]  
* 5. hét: kollekciók ([[Média:Evip eloadas 3.pdf|korábbi előadás]]): [https://github.com/eviplabs/peldak2023/blob/main/Enumerable/Program.cs IEnumerable], Dictionary, tuple, 2D array; foreach, yield return
** [[Media:evip_eloadas_8.pdf | 09 EA - MVVM ICommand]]  
* 6. hét: 2022. őszi [[#ZH | ZH1]] (A csoport) megoldása
** [[Media:evip_eloadas_9a.pdf | 10 EA 1 - Rajzolas]]  
* [https://github.com/eviplabs/peldak2023/tree/main/LinqRefactorDemo 7. hét] ([[Média:Evip eloadas 4.pdf|korábbi előadás]]): IComparer, CompareTo(), linq: Select(), Where(), Contains(), GroupBy(), OrderBy(), First(), FirstOrDefault(), Last(), Single(), SingleOrDefault()
** [[Media:evip_eloadas_9b.pdf | 10 EA 2 - UI elemek]]  
 
** [[Media:evip_eloadas_10.pdf | 11 EA - Tobbszalusag]]  
==== .NET MAUI ====
** [[Media:evip_eloadas_11.pdf | 12 EA - Attributum Reflection]]  
* [https://github.com/eviplabs/peldak2023/tree/main/FirstMauiApp/FirstMauiApp 8. hét]: partial, VerticalStackLayout, HorizontalStackLayout, Button, Image, xmlns, x:(Static)
** [[Media:evip_eloadas_12.pdf | 13 EA - Profiling]]  
* [https://github.com/eviplabs/peldak2023/tree/main/MauiBindingDemo/MauiBindingDemo 9. hét]: data binding ([[Média:Evip eloadas 7.pdf|korábbi előadás]]): x:Binding, event, nameof(), typeof(), Frame, converter, BindingContext, x:Reference, SelectedItem.Model, BoxView; MVVM ([[Média:Evip eloadas 8.pdf|korábbi előadás]])
* 10. hét: threading ([[Média:Evip eloadas 10.pdf|korábbi előadás]]): lock, dispatch loop; async, await, Run(), DoItAsync(), ContinueWith(), Report(), Dispatcher, DispatchAsync()
* 11. hét: ''szünet''
* [https://github.com/eviplabs/peldak2023/tree/main/PerformanceProfiling 12. hét]: performance profiler ([[Média:Evip eloadas 12.pdf|korábbi előadás]]); reflection ([[Média:Evip eloadas 11.pdf|korábbi előadás]])
* [https://github.com/eviplabs/peldak2023/tree/main/Zh2Konzi 13. hét]: felkészülés a [[#ZH | ZH2]]-re
 
=== Labor ===
A GitHub Classroom csatlakozási linkek a [https://edu.vik.bme.hu/course/view.php?id=10528 Moodle-re] vannak feltöltve.
 
Vannak [https://www.youtube.com/playlist?list=PLb8EWPCoqCDYUeE-MoAb_VJvKO6dRXkow YouTube]-videók is a régi UWP-s feladatokhoz.
 
==== .NET ====
* 1. hét: ''elmaradt''
* 2. hét: ''szünet''
* [https://github.com/eviplabs/lab01start 3. hét]: Git(hub) és Visual Studio setup (debug); class és unit test prímszámok összegének kiszámítására
* [https://github.com/eviplabs/lab02start 4. hét]: TurkMite: teljes refaktorálás, OpenCvSharp, xUnit
* [https://github.com/eviplabs/lab03start 5. hét]: regex
* [https://github.com/eviplabs/lab05start 6. hét]: generics, collections
* [https://github.com/eviplabs/zh1start 7. hét]: [[#ZH | ZH]]1
 
==== .NET MAUI ====
* [https://github.com/eviplabs/lab06start 8. hét]: LINQ, .svg (XML)
* [https://github.com/eviplabs/lab07start 9. hét]: MAUI bevezető
* [https://github.com/eviplabs/lab09start 10. hét]: Expenses: data binding
* [https://github.com/eviplabs/lab10start 11. hét]: AttaxxPlus: módosítások (BorderColor, StaticResource)
* [https://github.com/eviplabs/lab12start 12. hét]: progress bars: módosítások
* [https://github.com/eviplabs/lab14start 13. hét]: Mandelbrot: módosítások
* 14. hét: [[#ZH | ZH2]]


== Segédanyagok ==
== Segédanyagok ==
* A tantárgyi oldalon rengeteg segédanyaggal találkozhattok, akár pptx, akár videó formájában, melyeket érdemes átnézni a laborok előtt.
* A tantárgyi oldalon rengeteg segédanyaggal találkozhattok, akár pptx, akár videó formájában, melyeket érdemes átnézni a laborok előtt.
* [[Media:Git_Temalab_MIA_2019.pdf | GitHub használat alapok]]
* [[Média:Git Temalab MIA 2019.pdf| GitHub használat alapok]]
* [[Media:evip_csoop_bevezeto.pdf | C# OOP bevezető]]
* [[Média:Evip csoop bevezeto.pdf| C# OOP bevezető]]
* [https://docs.microsoft.com/hu-hu/dotnet/fundamentals/ .NET dokumentáció]
* [https://docs.microsoft.com/hu-hu/dotnet/fundamentals/ .NET dokumentáció]


== ZH ==
== ZH ==
* 2020 ősz
* 2023. ősz
** [[Media:evip_zh_sablon.pdf | Zh sablon]]
** ZH1
** [[Media:evip_zh_Acsoport.pdf | Zh - A csoport]]
***[[Média:EVIP ZH1 20231017 A.pdf|A csoport]]
*** B csoport nagyon kevésben különbözött: a kimenetet minimálisan máshogy kellet csinálni és a ''PrimeGenerator'' helyett ''FibonacciGenerator''-t kellet csinálni.
** ZH2
** [[Media:evip_potzh.pdf | PótZh]]
*** [[Média:EVIP zh2 20231205 A.pdf|A csoport]]
* 2022. ősz
** ZH1
*** [[Média:EViP ZH1 B 2022-ősz OCR.pdf| A csoport]], [https://github.com/eviplabs/peldak2023/tree/main/ZH1_2022 megoldások]
**** A 4. feladat 1. bekezdésének vége helyesen (mivel nem lehet csupán korból születési dátumot számolni): ''"Aladár (130 cm) '''kora: 15 év.'''"''
**** A 4. feladat 2. bekezdése helyesen (hiányzó lényeges vesszők): ''A ClassRoom osztályba tegyél egy GetAverageAge függvényt''',''' ami visszaadja az osztály átlagéletkorát''',''' és egy GetTallestPerson függvényt, ami visszaadja a legmagasabb tagját.''
*** [[Média:EvipZh1 2022.pdf| B csoport]]
** ZH2
*** [[Média:EvipZh2 2022.pdf| B csoport]], [https://github.com/morzsiHUN/EvipFinalZhGyak megoldások]
* 2021. ősz
** [[Média:Evip zh1 sablon 2021.pdf| ZH1 minta]]
** [[Média:Evip zh2 sablon 2021.pdf| ZH2 minta]]
* 2020. ősz
** ZH
*** [[Média:Evip zh Acsoport.pdf| A csoport]]
*** A ''B'' csoport nagyon kevésben különbözött: a kimenetet minimálisan máshogy kellett csinálni, és a ''PrimeGenerator'' helyett ''FibonacciGenerator''t kellet csinálni.
** [[Média:Evip potzh.pdf| pótZH]]
** [[Média:Evip zh sablon.pdf| ZH minta]]


== Házi feladat ==
== Házi feladat ==
102. sor: 156. sor:


* 2020.-ban a csapatmunka házi feladat max 25 pontos lehetett és egy videót is kellet hozzá készíteni, ahol a csapat bemutatja, hogy milyen feladatokat teljesített.
* 2020.-ban a csapatmunka házi feladat max 25 pontos lehetett és egy videót is kellet hozzá készíteni, ahol a csapat bemutatja, hogy milyen feladatokat teljesített.
** [[Media:evip_nhf_kiadas.pdf | Kiadás]]
** [[Média:Evip nhf kiadas.pdf| Kiadás]]
** [[Media:evip_nhf_leadas.pdf | Leadás]]
** [[Média:Evip nhf leadas.pdf| Leadás]]


== Tippek ==  
== Tippek ==