PředmětyPředměty(verze: 845)
Předmět, akademický rok 2019/2020
   Přihlásit přes CAS
Programování 2 - NPRG031
Anglický název: Programming 2
Zajišťuje: Katedra softwaru a výuky informatiky (32-KSVI)
Fakulta: Matematicko-fyzikální fakulta
Platnost: od 2019
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, NPRG065, NPRG013
Je neslučitelnost pro: NMIN201
Je prerekvizitou pro: NPRG045
Ve slož. prerekvizitě: NPRG041
Anotace -
Poslední úprava: doc. RNDr. Pavel Töpfer, CSc. (18.01.2018)
Pokračování základního kurzu programování – procvičení a doplnění učiva z předcházejícího předmětu NPRG030 Programování 1 při řešení náročnějších a rozsáhlejších úloh. Objektový návrh programů a objektové programování.
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)

Matt Weisfeld, The Object-Oriented Thought Process, 4th ed., Addison-Wesley, Boston, MA 2013

Andrew Hunt, David Thomas, Programátor pragmatik: Jak se stát lepším programátorem a vytvářet kvalitní software, Computer Press, Brno 2007

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

Základy objektově orientovaného programování.

Třídy, objekty, ochrana přístupu. Principy zapouzdření, dědičnosti, rozhraní, polymorfismu.

Atributy a metody třídy / instance, statické a virtuální metody, abstraktní třídy a metody.

Funkce jako parametry a hodnoty proměnných.

Objektový návrh programu ­- obecné principy (SOLID), příklady (diskrétní simulace).

Programování řízené událostmi - základní myšlenky a postupy.

Práce ve vývojovém prostředí, vytváření programů s GUI.

Řešení větších úloh - hygiena programování, správa verzí, tvorba dokumentace.

Jazykový labyrint - srovnání významných objektově orientovaných jazyků (C#, C++, Java, Python)

 
Univerzita Karlova | Informační systém UK