Charles Explorer logo
🇨🇿

Metodika programování a filozofie programovacích jazyků

Předmět na Matematicko-fyzikální fakulta |
NPRG003

Sylabus

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í.

Anotace

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".