PowerPoint Presentation
Dušan Ramljak
www.isr.ist.utl.pt\~dusan
dusan@vzs.edu.yu
3292517, lok. 124
13h00 – 15h00
ponedeljak Kabinet 79
petak Kabinet 79
U navedenim terminima rado ću vas primiti!
Nadam se da ćete mi pomoći da napišem skripte!
Ova prezentacija nalazi se na sledećoj adresi:
http://147.91.215.125/alg/vezbe/prva
Toplo bih vam preporučio da pretražujete Internet!
Molim vas postavljajte pitanja!
Pomozite mi!
Dajte mi povratnu info!
Recite da li da pričam
Brže ili sporije
((( )))
Visoko podignuta ruka
Mahanje
Imate pitanje ili neki komentar
Imate da kažete nešto odmah!
Mogu li da dobijem preporuke?
Kroz dve godine:
Ne verujem da ću hteti da dajem preporuke nekome koga ne znam.
Pokažite se sada, nikad ne znate za šta će vam to biti potrebno!
Uvod
Dušan Ramljak
Viša železnička škola
Algoritmi
Vežbe 1
Čemu nam služe ti algoritmi?
Šta čini jednog inžinjera i kako rešavati probleme?
Rešeni primeri
Dakle, želite da budete programeri?
Da li vam je želja da samo otaljavate posao?
Ili da razmišljate, stvarate i upravljate?
Originalnost
Dakle, originalnost:
Šef Vam daje zadatak:
Date su vam cene komponenti i kompletnih vozova…
Dati su uslovi i ograničenja koje treba da zadovolji konstrukcija voza.
Napravite/odaberite/ kupite najjeftiniji voz.
Sigurno ćete se suočiti sa sličnim zadatkom!
Pa… Recite šta da programiram!
S obzirom na sve veću ponudu programera,
neće više moći da se otaljava posao.
Vaš odgovor:
Vaš odgovor:
Naučila sam ovaj sjajni algoritam koji će obaviti posao.
Ali, već sada su važniji
algoritmi svima dostupni.
Vaš odgovor:
Ja mogu da smislim novi algoritam.
Kreativni ljudi
su uvek i svuda potrebni.
Dobru osnovu: Široki pogled na fundamentalne probleme i rešenja.
Metode: Principe i tehnike neophodne da se reši veliki spektar novih problema koji se pojavljuju u svakodnevnom poslu.
Budućnost pripada kreativnim ljudima, tj. onima koji poseduju:
Na vežbama se neću truditi
Da vam izložim brdo algoritama koje ćete.
Naučiti napamet.
Podešavati i pratiti sve dok niste uvereni da rade.
Implementirati.
class InsertionSortAlgorithm extends SortAlgorithm {
void sort(int a[]) throws Exception {
for (int i = 1; i < a.length; i++) {
int j = i;
int B = a[i];
while ((j > 0) && (a[j-1] > B)) {
a[j] = a[j-1];
j–; }
a[j] = B;
}}
Svim silama ću se truditi da
Izložim tehniku izgradnje algoritama.
Razvijem kod vas abstraktno mišljenje.
Predstavim alat kojim možete da razvijete nove algoritme za bilo koji problem koji iskrsne.
Molim vas postavljajte pitanja!
Pomozite mi!
Dajte mi povratnu info!
Recite da li da pričam
Brže ili sporije
Anketa:
Dosta iskusnih programera je zamoljeno da kodiraju binarnu pretragu.
Anketa:
Dosta iskusnih programera je zamoljeno da kodiraju binarnu pretragu.
80% ih nije dobro uradilo
Dobro je da to nije bilo za potrebe nuklearne elektrane u Černobilu!? A možda i jeste?!
Šta im je nedostajalo?
Šta im je nedostajalo?
Formalni dokazi?
Šta im je nedostajalo?
Formalni dokazi?
Verovatno
Vodeći ljudi u industriji počinju da shvataju koliko su formalni dokazi neophodni.
Ali čak i bez njih…. ?
Šta im je nedostajalo?
Fundamentalno razumevanje dizajna algoritama.
Abstraktno mišljenje.
Sadržaj vežbi:
Vežbaćemo notacije, analogije i abstrakcije, u 4 reči – sve što profesorka predaje!
Trudićemo se da sami razvijamo algoritme, razmišljamo o njima i
opisujemo ih.
Samim tim tačnost se podrazumeva!
Čitajte unapred
Trudite se da čitate lekcije i pretražite internet pre vežbi.
To će olakšati/poboljšati produktivnost diskusija na času.
Shvatite ovo
ozbiljno
Probajte da
dokažete
sve što u
knjizi piše.
Objašnjavanje
Na ispitu će se tražiti od vas da objasnite svoj algoritam!
Prema tome najbolji način da naučite ovo je da objašnjavate ono što ste naučili.
Prvo sebi
zatim kolegama, …
barem kućnom ljubimcu!?
Doživite problem
Matematika je u osnovi svakog inžinjerskog posla.
Nažalost moramo da se bavimo njom da bi je savladali i zavoleli.
Dopustite da problem udje u vašu podsvest.
Ideje će doći same od sebe.
Tokom dana/noći treba da
Budite kreativni
Postavljajte pitanja.
npr. Zašto je to uradjeno baš na taj način?
Da li može i na ovaj,
ili još neki?
Pogadjanja i kontra primeri
Pogodite algoritam koji bi mogao da reši problem.
Smislite ulazne promenljive za koje vaš algoritam daje pogrešno rešenje.
Doživite rad kao igru i takmičite se medjusobno.
Zaključak:
Najbolje rešenje proizilazi iz procesa ponavljanja, podešavanja i pronalaženja alternativnih rešenja
A sada algoritmi
Većina slajdova je prevedena od profesora po njegovom odobrenju
Profesor Jeff Edmonds
jeff@cs.yorku.ca
Slajdovi su preuzimani i od
Rudich Steven-a
Carnegie Mellon University
/docProps/thumbnail.jpeg