Lekciju kurss FMF datorzinātņu bakalaura programmas un programmētāja
profesionālās programmas 2.kursa
studentiem
Kursa kods: DatZ2059
Kursa grupa: izvēles
Lektors: Kārlis Čerāns, LU MII 421.ist., e-pasts:
Karlis.Cerans@mii.lu.lv,
tel. 7 213 716
Nodarbības: trešdienās 10.30 - 12.10, LU, Raiņa b. 19, 12.auditorijā.
Kursa mērķis ir iespējami
vienkāršā veidā:
- dot priekšstatu par pamata idejām klasiskajās datorzinātnes nodaļās
(datoru arhitektūra, programmu veidošana, izpilde un analīze, u.c.),
- dot priekšstatu par datoriku kā vienotu zinātni,
- ilustrēt matemātisko metožu izmantošanu datorzinātnē.
Kurss balstās uz vienkāršu matemātisko modeļu
izveidošanu un pētīšanu aplūkojamajās datorzinātnes nozarēs.
Plānotais kursa saturs
1. Datorzinātnes priekšmets. Algoritma intuitīvais jēdziens,
abstraktās mašīnas. Diskrēti, nepārtraukti un hibrīdi procesi.
2. Galīgie automāti, to izmantošana sistēmu modelēšanā. Galīgo automātu
algoritmiskā analīze. Paplašināta automāta jēdziens.
3. Tjūringa mašīnas: algoritma jēdziena formalizācija. Universālā Tjūringa mašīna.
4. Datora arhitektūras līmeņi. Loģiskās shēmas, to izmantošana
datoros. Saskaitīšanas algoritma paralēla realizācija. Atmiņas elementa
shēma.
5. RAM mašīna - teorētisks mašīnvalodas prototips.
6. Programmēšanas valodu konkrētā un abstraktā sintakse. Jēdziens par kompilatoru un interpretatoru.
7. Programmēšanas valodu semantika. Dabiskās un operacionālās semantikas definējumi imperatīvai valodai IMP.
8. Jēdziens par programmu korektību. Daļējās un pilnās
korektības apgalvojumi. Hoara loģika strukturētu programmu korektības
pierādīšanai. Jēdziens par cikla invariantu un cikla variantu programmu
korektības pierādījumos.
9. Algoritmiski neatrisināmas problēmas.
10. Programmu ātrdarbība (efektivitāte) un tās novērtēšana. Teorēma
par redukcijas
novērtēšanu.
11. Paralēlu sistēmu modeļi, to salīdzināšana. Paralēlu sistēmu
valodu un bisimulācijas ekvivalences.
12. Petri tīkli, to
izmantošana modelēšanā. Marķējuma pārklājamības problēma Petri tīkliem.
13. Jēdziens par funkcionālo programmēšanu.
Lambda - rēķini: algoritma jēdziena formalizācija. Funkcionālās
programmēšanas valodas ML elementi.
Mājas darbi | Atbalsta materiāli | Eksāmena jautājumi |
Vērtēšana
Minimālās prasības ieskaites saņemšanai ir iesniegti un atbildēti visi mājas darbi, kā arī spēja atbildēt uz vienkāršiem teorijas jautājumiem (tiks publicēti šajā lapā).
Ja mājas darbi iesniegti noteiktajos termiņos, spēja atbildēt visus
tos, kā arī teorijas jautājumus, vienā reizē dod atzīmi "9". Kavēšanās
ar mājas darbu iesniegšanu, kā arī nepieciešamība atlikt uzsāktu to
atbildēšanu
studenta nezināšanas dēļ, pazemina atzīmi. Ieskaiti un atzīmi nevar
saņemt
students, kas līdz semestra pēdējās lekcijas sākumam nav iesniedzis
vismaz
50% no visiem mājas darbiem. Atzīmi "10" var saņemt students, kas ir
papildus
atzīmes "9" prasību izpildei semestra gaitā iesniedzis izpildītus
vismaz
3 mājas darbu papilduzdevumus (paaugstinātas grūtības variantus) un
spēj
tos atbildēt, kā arī spēj tiem analoģiskus uzdevumus atrisināt eksāmena
gaitā. Students, kam bez attaisnojoša iemesla mājas darbu termiņu
kavējumu
summa nedēļās (nepilna nedēļa tiek skatīta kā pilna) pārsniedz uzdoto
mājas
darbu skaitu, uz atzīmi "10" pretendēt nevar.