PředmětyPředměty(verze: 845)
Předmět, akademický rok 2019/2020
   Přihlásit přes CAS
Programování 1 - NPRG030
Anglický název: Programming 1
Zajišťuje: Katedra softwaru a výuky informatiky (32-KSVI)
Fakulta: Matematicko-fyzikální fakulta
Platnost: od 2019
Semestr: zimní
E-Kredity: 5
Rozsah, examinace: zimní s.:2/2 Z [hodiny/týden]
Počet míst: neomezen
Minimální obsazenost: neomezen
Stav předmětu: vyučován
Jazyk výuky: čeština, angličtina
Způsob výuky: prezenční
Garant: RNDr. Tomáš Holan, Ph.D.
doc. RNDr. Pavel Töpfer, CSc.
RNDr. Martin Pergel, Ph.D.
Třída: Informatika Bc.
Kategorizace předmětu: Informatika > Programování
Neslučitelnost : NMIN101, NMIN102, NPRM044, NPRM045
Je neslučitelnost pro: NMIN111
Je prerekvizitou pro: NSWI178
Je záměnnost pro: NMIN111
Anotace -
Poslední úprava: doc. RNDr. Pavel Töpfer, CSc. (02.02.2018)
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.
Podmínky zakončení předmětu -
Poslední úprava: RNDr. Martin Pergel, Ph.D. (06.10.2017)

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.

Literatura -
Poslední úprava: doc. RNDr. Pavel Töpfer, CSc. (02.02.2018)

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

Sylabus -
Poslední úprava: doc. RNDr. Pavel Töpfer, CSc. (02.02.2018)

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.

 
Univerzita Karlova | Informační systém UK