Typické prostředky a nástroje programovacích jazyků.
Práce v integrovaném vývojovém prostředí, tvorba a ladění programů (editor, překlad, výpočet, ladicí prostředky).
Programová realizace základních algoritmů ze souběžně vyučovaného kurzu NPRG062 Algoritmizace.
Poslední úprava: Töpfer Pavel, doc. RNDr., CSc. (02.02.2018)
A first course about programming and algorithms for first-year students studying computer science and computer
science education. The course covers principles of algorithms, basic algorithms, data structures, programming
techniques, typical programming environments and practical program design and debugging.
Poslední úprava: Töpfer Pavel, doc. RNDr., CSc. (09.10.2017)
Podmínky zakončení předmětu -
Předmět je zakončen zápočtem. K získání zápočtu se požaduje:
aktivní účast na cvičení spočívající obvykle v řešení úkolů (programů) v termínech stanovených cvičícím (ať už na cvičení nebo doma),
vypracování zápočtového programu a jeho odevzdání do termínu stanoveného cvičícím,
úspěšné absolvování zápočtového testu.
Povaha prvních dvou požadavků neumožňuje vypsat opravné termíny. Vyučující může stanovit podmínky, za nichž student může nahradit chybějící domácí úkoly nebo opakovaně odevzdat zápočtový program po odstranění nalezených závad.
Na složení zápočtového testu má student tři pokusy do konce zkouškového období zimního semestru (jeden řádný a dva opravné termíny). Vyučující může studentům povolit vykonat opravný termín i dodatečně během letního semestru.
Poslední úprava: Pergel Martin, RNDr., Ph.D. (06.10.2017)
Students will receive a credit for this course by successfully completing the following requirements:
Active participation in the practice sessions in the computer lab. Generally this means that students must complete the assigned programming exercises, either during the lab session or later on at home.
Completion of a semester programming project by the deadline fixed by the instructor.
Passing a written test at the end of the semester.
Due to the nature of the first two requirements, a failed attempt cannot be repeated as is possible for exams. The instructor may establish conditions whereby a student can make up for missing homework assignments or resubmit their semester project after improving deficiencies that were found the first time around.
A student has three chances to pass the written test, normally by the end of the winter exam period. The instructor may choose to allow a student to make one or more of these attempts during the following summer semester.
Cheating on a test or a homework assignment may result in automatically failing the course.
Poslední úprava: Holan Tomáš, RNDr., Ph.D. (11.10.2022)
Literatura -
John V. Guttag, Introduction to Computation and Programming Using Python: With Application to Understanding Data, 2nd ed.,, MIT Press, Cambridge, MA 2016
Allen B. Downey, Think Python: How to Think Like a Computer Scientist, 2nd ed., O'Reilly Media, Sebastopol, CA 2015
Poslední úprava: Töpfer Pavel, doc. RNDr., CSc. (25.05.2022)
John V. Guttag, Introduction to Computation and Programming Using Python: With Application to Understanding Data, 2nd ed.,, MIT Press, Cambridge, MA 2016
Allen B. Downey, Think Python: How to Think Like a Computer Scientist, 2nd ed., O'Reilly Media, Sebastopol, CA 2015
Poslední úprava: Töpfer Pavel, doc. RNDr., CSc. (25.05.2022)
Sylabus -
Proměnné, typy hodnot, desetinná čísla a problémy s přesností.
Operátory a jejich priority.
Přiřazení, základní podmínky a cykly.
Struktura programu: komentáře, odsazování
Seznamy / pole a operace nad nimi.
Dekompozice kódu.
Definice a volání funkcí, způsoby předávání parametrů.
Lokální identifikátory a jejich viditelnost.
Modularita programů.
Předávání funkcí jiným funkcím.
Používání knihoven, import, grafický výstup.
Práce s řetězci.
Podrobněji o typovém systému.
Další strukturované datové typy a operace s nimi.
Třídy a objekty. Popis reality pomocí objektů.
Odvozování typů, dědičnost.
Lineární spojové seznamy, operace.
Práce se stromy.
Ladění, defenzivní programování.
Jednotkové, regresní a integrační testy.
Výjimky a jejich odchytávání. Aserce.
Vstup a výstup. Práce se soubory.
Poslední úprava: Dvořák Tomáš, doc. RNDr., CSc. (23.09.2019)
Variables, types, floating-point numbers and inaccuracy problems..
Operators and their precedence.
Assignment, conditional statements and loops..
Program structure: comments, indentation.
List / array operations.
Code decomposition.
Function definitions and calls, parameter passing.
Local identifiers and their scope.
Modularity of programs..
Passing function as an argument to another function.
Using libraries, import, graphics output.
String processing.
Type system in greater detail.
Other structured data types.
Classes and objects. Objects as abstractions of real-world entities.
Derivation of types, inheritance.
Linear linked lists.
Tree data structures.
Debugging, defensive programming.
Unit, regression and integration tests.
Throwing and catching exceptions. Assertions.
Input and output. File processing.
Poslední úprava: Dvořák Tomáš, doc. RNDr., CSc. (23.09.2019)