Metodika programování a filozofie programovacích jazyků - NPRG003
Anglický název: Programming Methodology and Philosophy of Programming Languages
Zajišťuje: Katedra softwaru a výuky informatiky (32-KSVI)
Fakulta: Matematicko-fyzikální fakulta
Platnost: od 2018
Semestr: letní
E-Kredity: 3
Rozsah, examinace: letní s.:2/0 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
Způsob výuky: prezenční
Garant: RNDr. Rudolf Kryl
Třída: Informatika Bc.
Informatika Mgr. - učitelské studium informatiky
Kategorizace předmětu: Informatika > Programování
Výsledky anket   Termíny zkoušek   Rozvrh   Nástěnka   
Anotace -
Poslední úprava: ()
Přednáška je vhodná především pro studenty informatiky - jak odborného, tak i učitelského studia, mohou ji však navštěvovat i posluchači jiných oborů, kteří se hlouběji zajímají o programování. Přednáška předpokládá u posluchačů znalosti základů programování, programovacích jazyků Pascal (včetně objektového programování v něm), C a C++ a některého neprocedurálního jazyka - nejlépe Prologu. Složení příslušných zkoušek však není vstupní podmínkou. Na přednášce se společně zamyslíme nad vývojem metodiky programování (strukturované, modulární, objektové, event-driven, logické, funkcionální,... programování) a nad tím, jak se tyto koncepty projevily v nejdůležitějších programovacích jazycích. Půjde nám o souvislosti, ne o detaily nebo přesný historický popis vývoje. Při výběru programovacích jazyků budeme větší pozornost věnovat těm, které se skutečně "ujaly v praxi".
Literatura
Poslední úprava: RNDr. Rudolf Kryl (25.06.2019)

Ellis Horowitz, ed.: Programming Languages: A Grand Tour, Rockville, Computer Science Press 1987

další zdroje budou průběžně doplňovány během přednášky

Sylabus -
Poslední úprava: RNDr. Rudolf Kryl (25.06.2019)

Přesná náplň přednášky může být přizpůsobena zájmům studentů. Míra pozornosti věnovaná jednotlivým aspektům a programovacím jazykům bude záviset i na zájmu posluchačů. Výklad bude veden pomocí příkladů, nepředpokládá se však, že by posluchači museli psát a ladit svoje programy v jednotlivých jazycích.

Některá témata, která téměř jistě nemineme (nejde však o chronologii přednášky):.

I. Prehistorie programovacích jazyků až po FORTRAN. FORTRAN a jeho další vývoj. PL/I.

II. ALGOL 60 a jeho bezprostřední následníci (ALGOL 68, Pascal,...).

III. SIMULA a programování diskrétních simulací.

IV. LISP, APL a funkcionální programování.

V. ADA.

VI. SMALLTALK.

VII. Co přineslo C a C++.

VIII. Java a C#.

IX. Implementace některých rysů programovacích jazyků.

U zkoušky si student vybere jeden z jazyků, kterým bude na přednášce věnována největší pozornost. Zvolený jazyk bude muset znát podrobněji. Kromě toho bude vypsán jistý počet \"přehledových\" otázek pokrývajících přednášku.

Další možností jak splnit požadavky zkoušky je, že student vypracuje esej na relevatní téma (podléhá schválení přednášejícího) a její téze při zkoušce obhájí.