Agilná výuka nových vlastností jazyka C++ v C++14, C++17, C++20

Školiteľ: Ing. František Gyárfáš, PhD.

Zhotoviteľ: Martin Zavadzan

Anotacia

Cieľom bakalárskej práce je navrhnúť a vytvoriť interaktívne webové prostredie pre výuku nových vlastností jazyka C++11, C++14, C++17 a C++20 využitím agilných metód programovania. Prostredie umožní študentom riešenie úloh využívajúcich vlastnosti niektorej z verzií jazyka a refaktorizáciu do inej verzie. Úlohy budú definované pomocou testmi riadeného programovania (TDD). Web aplikácia bude obsahovať editor kódu v C++ a na serveri databázu úloh a študentských riešení, kompilátor a virtuálny server pre zbiehanie TDD riešení úloh. Súčasťou práce bude niekoľko ukážkových úloh, demonštrujúcich možnosti systému. Systém bude realizovaný pomocou technológii/nástrojov: PostgreSQL, HTML5, CSS, SASS, JavaScript (jQuery, Bootstrap, Node, React, Redux/Store, Express), TypeScript knižnice pre testovanie, kompilátor a virtuálny server.

10/2021 Tvorba webpage
11/2021 Zber materialov / Začiatok implementácie
12/2021 Začiatok písania BP
2/2022 Prvá funkčná verzia
3/2022 Finalna verzia applikáce. Tvorba úloh pre študentov
4/2022 Dopísanie práce
5/2022 Finálne testovanie a odovzdanie

Podobné práce
Matúš Gál: Web teaching tool for agile learning new features in C++11, C++14 and C++17
Tomáš Bočinec: Webová výuka programovania pomocou metodológie TDD
Tamara Savkova: Web Teaching Tool for Learning Agile Programming
Dokumentácie
Cpp documentation: https://devdocs.io/cpp//
Cpp reference: https://en.cppreference.com/w/
React documentation: https://reactjs.org/docs/getting-started.html
Literatúra
Test-Driven Development By Example By Kent Beck https://docs.google.com/viewer?a=v&pid=sites&srcid=ZGVmYXVsdGRvbWFpbnx0ZXN0MTIzNHNpbTQ2NXxneDpiYTJmYWIwYTAyOGJiZmQ
Postup práce
14.2. - 21.2. Tvorba databazy - prepojenie s BE
22.2. - 1.3. Práce na FE časti aplikácie
2.3. - 9.3. Práce na FE časti aplikácie
10.3. - 16.3. Optimalizacia BE casti, (docker)
17.3. - 23.3. Tvorba databazdy, pokracovanie na BE
24.3. - 30.3. Práce na FE časti aplikácie, rozdelenie planu pisania
31.3. - 6.4. Rozdelenie písanie BP na jednotlivé časti, vymyslenie vzorovych uloh, práca na aplikacii
7.4. - 14.4. Písanie a pracovanie na aplikacii
Text prace Github link Prezentácia postup práce