Osnovi programiranja


Duško Vitas

vitas@matf.bg.ac.yu

Sadržaj kursa

  • Računarstvo i društvo
  • Struktura i funkcionisanje računarskog sistema
  • Programski jezici. BNF i EBNF
  • Jezički procesori. Struktura kompilatora i interpretatora
  • Neformalna i formalna definicija algoritma. Algoritamski nerešivi problemi. Kompleksnost problema i algoritama. Donja i gornja ocena. NP-problemi. Faze u rešavanju zadatka na računaru
  • Elementarne komponente programskog jezika
  • Projektovanje programa. Programi zasnovani na iteraciji. Algoritmi sortiranja i pretraživanja
  • Funkcije. Rekurzija. Programi zasnovani na rekurziji. Rekurzivni algoritmi sortiranja i pretraživanja
  • Apstraktni tipovi podataka. Dinamička alokacija. Algoritmi sortiranja i pretraživanja nad dinamičkim strukturama
  • Odabrani algoritmi iz nekih od sledećih oblasti: kombinatorika, teorija igara, geometrija, teorija grafova, obrada teksta, numerička matematika
  • Stilovi programiranja. Strukturno programiranje. Paradigme programiranja: proceduralno, logičko, funkcionalno i objektno programiranje

Program kursa: Osnovi programiranja

Organizacija nastave i ispit

  • Fond časova: nedeljno 2 časa predavanja i
    2 časa vežbi, tokom 1. i 2. semestra
  • Predavanja: ponedeljkom, u sali 706,
    od 12 - 14 časova
  • Konsultacije: prema dogovoru pismom: vitas@matf.bg.ac.yu
  • Vežbe: Jelena Grmuša
  • Praktična obuka fakultativna, prema posebnom rasporedu, u Računarskoj laboratoriji
  • Obavezni seminarski radovi: U prvom semestru, jedan seminarski rad koji se sastoji u etiketiranju strukture teksta (SGML, HTML, XML). U drugom semestru, jedan seminarski rad koji podrazumeva programiranje u C-u, prema posebnom uputstvu.
    Seminarski radovi za školsku 2000/01.
  • Kolokvijumi: Tokom školske godine se organizuju dva pismena kolokvijuma: na kraju januarskog ispitnog roka i pred početak junskog ispitnog roka. Kandidat koji položi oba kolokvijuma oslobađa se pismenog dela ispita, načelno, u junskom ispitnom roku.
    Pod određenim uslovima, u dogovoru sa nastavnikom, kao kolokvijum se mogu priznati i programerski rezultati.
  • Ispit se sastoji iz pismenog i usmenog dela.
    • Pismeni ispit traje 4 sata. Redovni rokovi za polaganje ispita su junski, septembarski, oktobarski i januarski
    • Ispitna pitanja za usmeni deo ispita školske 1999/2000. (paskal - važe do junskog roka 2001).
    • Ispitna pitanja za usmeni deo ispita školske 2000/2001. (C - važe najmanje do junskog roka 2002).
robot

Osnovna literatura

Knjige i skripta:

  • Beauquier, D.; Berstel, J; Chrétienne, Ph.:Eléments d'algorithmique, Masson, Paris, 1992
  • Gonnet, G.H.; Baeza-Yates, R.:Handbook of Algorithms and Data Structures, Addison-Wesley, 1991
  • Kernighan, B.W.; Ritchie, D.M.: The C Programming Language, (Second Edition), Prentice Hall, 1988 (srpski prevod: B. Kernigen, D. Riči: Programski jezik C, Savremena administracija, Beograd)
  • Kernighan, B.W.; Pike, R.: The Practice of Programming, Addison-Wesley, 1999
  • Knuth, D.:The Art of Computer Programming, vol. I - III, Addisson-Wesley, 1968
  • Pavlović-Lažetić, G.: Osnovi programiranja, Skripta - Radni materijal, 1999.-2000.
  • Sedgewick, R.: Algorithms in C, Addison Wesley, 1990 (postoji i verzije iste knjige Algorithms, kod istog izdavača, na paskal-u) i C++
  • Tondo, C.L.; Gimpel, S.E.: The C Answer Book, Prentice Hall, 1989

Lokalni dokumenti u e-obliku:



Zanimljive strane na web-u:

K-R C

Knuth


Poslednja izmena:
novembar 2001.