PředmětyPředměty(verze: 825)
Předmět, akademický rok 2017/2018
   Přihlásit přes CAS
Programování II - NPRG031
Anglický název: Programming II
Zajišťuje: Katedra softwaru a výuky informatiky (32-KSVI)
Fakulta: Matematicko-fyzikální fakulta
Platnost: od 2016 do 2018
Semestr: letní
E-Kredity: 5
Rozsah, examinace: letní s.:2/2 Z+Zk [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 : NMIN201, NPRM049
Je korekvizitou pro: NPRG035, NPRG013
Je neslučitelnost pro: NMIN161, NMIN201, NMUG104, NMUG103
Je prerekvizitou pro: NPRG065, NPGR033, NPRG045
Je záměnnost pro: NMIN201
Ve slož. prerekvizitě: NPRG041
Anotace -
Poslední úprava: doc. RNDr. Pavel Töpfer, CSc. (18.01.2018)

Pokračování základního kursu programování pro studenty 1. ročníku bakalářského studia informatiky. Výuka bezprostředně navazuje na předmět NPRG030 Programování I výkladem dalších algoritmů a jejich programové realizace, postupů a technik užívaných při tvorbě programů. Posluchači se seznámi se základy objektového programování, s programovacím jazykem C# a s prací v současných vývojových prostředích. Předpokládají se vstupní znalosti v rozsahu předmětu NPRG030 Programování I, tyto znalosti jsou zahrnuty i do požadavků ke zkoušce.
Podmínky zakončení předmětu -
Poslední úprava: RNDr. Tomáš Holan, Ph.D. (03.06.2018)

Předmět je zakončen zápočtem a zkouškou.

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.

Zkouška má písemkou a ústní část.

Písemná část vyžaduje vypracování návrhu řešení složitější úlohy, konkrétně zdůvodněnou volbu algoritmu, volbu representaci dat, popis rozkladu programu na části a diskusi.

Ústní část sestává z obhajoby návrhu z písemné části a zodpovězení jedné nebo více otázek se sylabu předmětu.

Na zkoušku je jeden řádný a dva opravné termíny.

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

P. Töpfer: Algoritmy a programovací techniky, Prometheus 1995

M. Virius: C# pro zelenáče, Neocortex Praha, 2002

E. Gunnerson: Začínáme programovat v C#, Computer Press Praha 2001

J. Kent: Visual C# 2005 bez předchozích znalostí, Computer Press Brno 2007

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

1. Algoritmy a programování

  • efektivita algoritmů, způsoby zvyšování efektivity (předvýpočet, "chytrá" rekurze, ořezávání a heuristiky u backtrackingu)
  • metody návrhu efektivních algoritmů - rozděl a panuj, dynamické programování
  • vnější třídění (přímé, přirozené)
  • stromy, grafy, průchody stromem a grafem
  • binární vyhledávací stromy, operace
  • vyčíslení hodnoty aritmetického výrazu v různých notacích
  • programová realizace vybraných grafových algoritmů (souvislost grafu, Dijkstrův algoritmus, minimální kostra, bipartitnost, topologické uspořádání)
  • hašování (s pevnou hašovací funkcí)
  • objekty, objektové programování
  • diskrétní simulace
  • programování řízené událostmi - základní myšlenky a postupy

2. Programovací jazyk C#

  • základní prostředky jazyka C#
  • princip práce ve vývojovém prostředí

Předpokládají se vstupní znalosti v rozsahu předmětu NPRG030 Programování I.

 
Univerzita Karlova | Informační systém UK