Cílem této bakalářské práce je navrhnout a realizovat sadu úkolů pro kurz Programovací metody, u kterých bude prováděna automatická kontrola správnosti vypracovaných řešení. Práce se zabývá tvorbou a implementací úkolů, které seznámí studenty s programováním v jazyce C, s využitím verzovacího systému Git a také s jednotkovými testy pro testování správnosti vypracovaných řešení.
Teoretická část je zaměřena na obecné seznámení s programovacími jazyky, podrobněji pak s jazykem C, a na nástroje pro tvorbu úkolů, jejich odevzdání a následnou kontrolu. Také jsou zde popsány některé aspekty výuky programování. Praktická část popisuje strukturu a obsah vypracovaných úkolů, způsob testování správnosti vytvořených řešení studenty, vý-sledky testování úkolů v reálné výuce a návrhy na potencionální úpravy úkolů.
Anotace v angličtině
Goal of this work is design and implement a set of assignments for "Programming meth-ods" course, where automatic check of correctness with GitLab system will be used. This work deals with creation and implementation of assignments, introducing students to ba-sics of programming in language C, using version-control system Git and its basic functions and using unit tests for testing correctness of solutions created by students.
Theoretical part is focused on a general introduction to programming, in more detail with C language, and on tools for creating assignments, their submission, inspection and grading. Some aspects of teaching computer programming are also described here. Practical part describes structure and content of created assignments, methods of testing the correctness of student solutions, results of testing the assignments in real lectures with students and suggestions for potential improvements of assignments.
Klíčová slova
Jazyk C, Git, Jednotkové testování, výuka programování
Klíčová slova v angličtině
Language C, Git, Unit testing, programming education
Rozsah průvodní práce
64
Jazyk
CZ
Anotace
Cílem této bakalářské práce je navrhnout a realizovat sadu úkolů pro kurz Programovací metody, u kterých bude prováděna automatická kontrola správnosti vypracovaných řešení. Práce se zabývá tvorbou a implementací úkolů, které seznámí studenty s programováním v jazyce C, s využitím verzovacího systému Git a také s jednotkovými testy pro testování správnosti vypracovaných řešení.
Teoretická část je zaměřena na obecné seznámení s programovacími jazyky, podrobněji pak s jazykem C, a na nástroje pro tvorbu úkolů, jejich odevzdání a následnou kontrolu. Také jsou zde popsány některé aspekty výuky programování. Praktická část popisuje strukturu a obsah vypracovaných úkolů, způsob testování správnosti vytvořených řešení studenty, vý-sledky testování úkolů v reálné výuce a návrhy na potencionální úpravy úkolů.
Anotace v angličtině
Goal of this work is design and implement a set of assignments for "Programming meth-ods" course, where automatic check of correctness with GitLab system will be used. This work deals with creation and implementation of assignments, introducing students to ba-sics of programming in language C, using version-control system Git and its basic functions and using unit tests for testing correctness of solutions created by students.
Theoretical part is focused on a general introduction to programming, in more detail with C language, and on tools for creating assignments, their submission, inspection and grading. Some aspects of teaching computer programming are also described here. Practical part describes structure and content of created assignments, methods of testing the correctness of student solutions, results of testing the assignments in real lectures with students and suggestions for potential improvements of assignments.
Klíčová slova
Jazyk C, Git, Jednotkové testování, výuka programování
Klíčová slova v angličtině
Language C, Git, Unit testing, programming education
Zásady pro vypracování
Prostudujte možnosti realizace automatické kontroly správnosti kódu v systému Gitlab.
Navrhněte sadu úkolů pro kurz Programovací metody, které budou zaměřeny na procvičení jazyka C, implementaci algoritmů pro práci s textem a implementaci vybraných dynamických datových struktur.
Pro jednotlivé úkoly implementujte vzorová řešení, jednotkové testy a testovací scénáře.
V systému Gitlab realizujte skripty pro automatickou kontrolu správnosti odevzdaných řešení.
Výslednou sadu vyzkoušejte v reálné výuce.
Zásady pro vypracování
Prostudujte možnosti realizace automatické kontroly správnosti kódu v systému Gitlab.
Navrhněte sadu úkolů pro kurz Programovací metody, které budou zaměřeny na procvičení jazyka C, implementaci algoritmů pro práci s textem a implementaci vybraných dynamických datových struktur.
Pro jednotlivé úkoly implementujte vzorová řešení, jednotkové testy a testovací scénáře.
V systému Gitlab realizujte skripty pro automatickou kontrolu správnosti odevzdaných řešení.
Výslednou sadu vyzkoušejte v reálné výuce.
Seznam doporučené literatury
WRÓBLEWSKI, Piotr. Algoritmy. Brno: Computer Press, 2015. ISBN 9788025141267.
KERNIGHAN, Brian W. a Dennis M. RITCHIE. Programovací jazyk C. 2. vydání. Přeložil Zbyněk ŠÁVA. Brno: Computer Press, 2019. ISBN 9788025149652.
PROKOP, Jiří. Algoritmy v jazyku C a C++. 2., rozš. a aktualiz. vyd. Praha: Grada, 2012. Průvodce (Grada). ISBN 9788024739298.
MYERS, Glenford J., Tom BADGETT, Todd M. THOMAS a Corey SANDLER. The art of software testing. 2nd ed. Hoboken, N.J.: John Wiley, c2004. ISBN 0-471-46912-2.
WRÓBLEWSKI, Piotr. Algoritmy: datové struktury a programovací techniky. Brno: Computer Press, 2004. ISBN 8025103439.
Seznam doporučené literatury
WRÓBLEWSKI, Piotr. Algoritmy. Brno: Computer Press, 2015. ISBN 9788025141267.
KERNIGHAN, Brian W. a Dennis M. RITCHIE. Programovací jazyk C. 2. vydání. Přeložil Zbyněk ŠÁVA. Brno: Computer Press, 2019. ISBN 9788025149652.
PROKOP, Jiří. Algoritmy v jazyku C a C++. 2., rozš. a aktualiz. vyd. Praha: Grada, 2012. Průvodce (Grada). ISBN 9788024739298.
MYERS, Glenford J., Tom BADGETT, Todd M. THOMAS a Corey SANDLER. The art of software testing. 2nd ed. Hoboken, N.J.: John Wiley, c2004. ISBN 0-471-46912-2.
WRÓBLEWSKI, Piotr. Algoritmy: datové struktury a programovací techniky. Brno: Computer Press, 2004. ISBN 8025103439.
Přílohy volně vložené
-
Přílohy vázané v práci
-
Převzato z knihovny
Ne
Plný text práce
Přílohy
Posudek(y) oponenta
Hodnocení vedoucího
Záznam průběhu obhajoby
Student v krátké prezentaci seznámil komisi s výsledky své práce.
Po přečtení posudků vedoucího a oponenta byly zodpovězeny dotazy z posudků.
Komise neměla k předložené práci žádné doplňující dotazy.