Uvod u programiranje
Doc. dr. Senka Krivić
Univerzitet u Sarajevu
Elektrotehnički fakultet Sarajevo
O predmetu
Naziv: Uvod u programiranje
Šifra kursa: ETF UUP I-1170
ETCS: 6
Broj sati predavanja/LV/tutorijala: 44/26/0
Opterećenje- samostalni rad: 80
Predmetni nastavnik:
Doc. dr. Senka Krivić
email: senka.krivic@etf.unsa.ba
Kabinet: 1.08
O predmetu
Saradnici na predmetu
Vahidin Hasić Majda Čurtić-Hodžić Amina Fajić Mubina Kamberović
Ciljevi predmeta
- Naučiti osnove programiranja i razumijevanja koda
- Upoznati osnove programskog jezika C
- Konceptualno razumijevanje strategija za rješavanje
problema koristeći algoritamski pristup
●Da li je programiranje teško?
Šta je to programiranje?
●Na osnovu opisa problema formirati opis rješenja
●Prevesti opis rješenja u jezik koji razumije računar
●Potrebno je sebi precizno predstaviti šta želimo da računar
uradi, odnosno korake koje treba da obavi
●Potrebno je „programersko razmišljanje“
−dobro definisati ulaze i izlaze
−rastaviti zadatak na podzadatke
−predvidjeti sve moguće situacije
Šta znači „znati programirati“?
●Sposobnost rješavanja proizvoljnog problema
1) sposobnost
2) rješavanja
3) proizvoljnog
4) problema
● Programski jezik, okruženje itd. nije bitno
Kako naučiti programirati?
●Samostalno rješavanje problema
●Učenje na greškama
●Tražite pomoć!
●Probati što više različitih stvari
●Čitanje, istraživanje, google-anje (ali prvo naučiti kako!)
●Učenje se nikada ne završava...
Zašto učiti programiranje?
●Tradicionalni biznis preuzimaju softverske firme
Izvor: WSJ, „Why Software Is Eating The World“
Zašto C?
●Jedan od najpopularnijih jezika svih vremena
●Stvari koje učimo su dovoljno jednostavne da jezik i nije
bitan
●Najbolje podržan jezik na svim
platformama
●Jezici nalik na C (C-like)
−C++, C#, Java,
PHP, JavaScript…
Najpopularniji programski jezici
danas
Nedostaci C-a
●Okruženje neće upozoriti na mnoge vrste grešaka
−Program radi... ponekad
−Krahiranje, memorijske greške,
neočekivani (besmisleni)
rezultati...
Literatura
Osnovna:
- Slajdovi i skripte sa predavanja
- Ljubović, Pajić, "Uvod u programiranje - C i C++",
Sarajevo, 2018.
Dodatno:
Alati
Na predmetu će se koristiti: razvojno okruženje Theia IDE
C9ETF WebIDE https://c9.etf.unsa.ba/
Autor: Vedran Ljubović
Kontakt u slučaju tehničkih poteškoća: vljubovic@etf.unsa.ba
Uputstvo za korištenje c9
Dodatna razvojna okruženja (IDE):
Code::Blocks
Način provjere znanja
Aktivnost na predmetu :
UUP Game 10 bodova
Kviz 5 bodova
Aktivnost na vježbama 12+3 bodova
izrada vježbi unaprijed + prezentacija zadataka (min 3)
Parcijalni ispit 30 bodova
Završni ispit 30 bodova
Usmeni ispit 10 bodova
(Preduslov za izlazak na završni ispit je ostvareno
minimalno 15 bodova na parcijalnom!)
UKUPNO: 100 bodova
Ocjene
Bodovi Ocjena
55-64 6
65-74 7
75-84 8
85-94 9
95-100+ 10
Laboratorijske vježbe - Aktivnost
● Prisustvo na vježbama, izrada zadataka i aktivno praćenje
nosi 12 bodova
● Vježbu je potrebno samostalno probati uraditi kroz c9.
Saradnici imaju uvid u ono što ste i kada radili
● Prezentacija rješenja nosi 3 boda - obvezna aktivnost
● Unutar jedne vježbe samo jedno izlaganje je moguće
● Studenti moraju izlagati bar jednom u toku semestra inače
postoji mogućnost da izgube i ostalih 12 bodova
● Na drugom satu studenti dobijaju zadatak za samostalni
rad
● Vježbe su predviđene za pomoć (dva časa po 45 minuta)
● Studenti mogu postavljati pitanja vezana za zadatke
isključivo preko foruma s ciljem povećanja
Aktivnost
● 10 bodova za aktivnost stiču se kroz interaktivnu igru UUP
GAME gdje osvajate bodove i pojačanja i ujedno učite
programirati.
● Kroz igru dobijate različite programske zadatke (svako
dobija unikatne zadatke! nema prepisivanja!)
● Svaki program koji napišete se automatski testira.
● Ukupno 10 nivoa po 1 bod, u sklopu svake lekcije
rješavate 6 zadataka (za lakše zadatke oko 10 minuta, za
najteže do 1 sat vremena izrade)
● UUP Game se radi isključivo do kraja semestra. Nakon
toga se bodovi anuliraju. Nema produžetka roka.
● Ostatak trajanja vježbi služi za pomoć studentima oko
zadataka iz UUP GAME
Aktivnost
● Uputstvo za upotrebu
Aktivnost za dodatne bodove
● Sudjelovanje u korisničkoj studiji o razumijevanju načina
korištenja i utjecaja alata umjetne inteligencije na učenje
programiranja
● Studija traje cijeli semestar i sastoji se od 4 vrste upitnika,
za čije popunjavanje je potrebno od 2 do 15 minuta:
1. Kratki upitnik o prethodnom znanju programiranja i
korištenja alata umjetne inteligencije
2. Test ličnosti i test preferiranog načina učenja
3. Sedmični upitnik o korištenju alata umjetne inteligencije i
radu na predmetu
4. Finalni upitnik na kraju semestra o korištenju alata umjetne
inteligencije na predmetu i stavovima u vezi njihove
pomoći u učenju programiranja
Parcijalni ispit
●Rješavanje programskih zadataka na papiru + analiza
koda + teoretska pitanja
●Bitno je i ispravno razumijevanje zadatka
●Parcijalno bodovanje
●Tolerišu se sitne greške (tipfeleri, zagrade, tačka-zarezi)
osim ako se vidi da student ne razumije
●Završni ispit: na računaru!
● Svako ponavljanje ispita poništava prethodni rezultat
Komunikacija sa nastavnim
ansamblom
● Forum na c2 - sva pitanja vezana za gradivo, tutorijale,
UUP game isključivo se postavljaju na forum.
● U jako malo slučajeva studenti trebaju slati pitanja direktno
saradnicima na predmetu - jedino u slučaju poruka
osjetljivog pitanja- npr. ljekarsko opravdanje za izostanak
● Email (ako ne spada u prethodne kategorije)
○ Zaglavlje emaila [UUP] Pitanje za…
○ Sadrzaj:
■ Ime i prezime studenta
■ godina i odsjek
■ predmet na koji se odnosi pitanje
■ konkretno pitanje (bez izvinjenja)
● Emailovi koji nemaju zaglavlje vjerovatno neće biti
pročitani
Opterećenje na predmetu
●Svi predmeti:
30 ECTS kredita
* 25 sati kredit =
750 sati u semestru
/ 20 sedmica =
37,5 sati sedmično
Opterećenje na predmetu UUP
●Uvod u programiranje
6 ECTS kredita
* 25 sati kredit =
150 sati u semestru
/ 20 sedmica =
7,5 sati sedmično
Opterećenje na predmetu UUP
●Uvod u programiranje
7,5 sati sedmično
- 3 sata predavanja
- 2 sata tutorijala
- 2,5 sata samostalnog
rada kod kuće (UUP GAME)
Opterećenje na predmetu UUP
● UUP Game se sastoji od 10 lekcija pri čemu iz svake
lekcije radite po 15 zadataka, tri skupine po pet zadataka:
○ lagani zadaci - 10-15 minuta po zadatku
○ srednji zadaci - 15-40 minuta po zadatku
○ teški zadaci - 40-60 minuta po zadatku. Ipak, na
pojedinim zadacima ćete (zbog neiskustva) izgubiti i
100 ili više minuta
● Sveukupno prosječno vrijeme za zadatke na UUP GAME
je oko 45 minuta po zadatku
Osvrt na ankete
Puno sreće i uspjeha na predmetu
želi vam
NASTAVNI ANSAMBL

Prezentacija 1: Uvod u C programiski jezik

  • 1.
    Uvod u programiranje Doc.dr. Senka Krivić Univerzitet u Sarajevu Elektrotehnički fakultet Sarajevo
  • 2.
    O predmetu Naziv: Uvodu programiranje Šifra kursa: ETF UUP I-1170 ETCS: 6 Broj sati predavanja/LV/tutorijala: 44/26/0 Opterećenje- samostalni rad: 80 Predmetni nastavnik: Doc. dr. Senka Krivić email: senka.krivic@etf.unsa.ba Kabinet: 1.08
  • 3.
    O predmetu Saradnici napredmetu Vahidin Hasić Majda Čurtić-Hodžić Amina Fajić Mubina Kamberović
  • 4.
    Ciljevi predmeta - Naučitiosnove programiranja i razumijevanja koda - Upoznati osnove programskog jezika C - Konceptualno razumijevanje strategija za rješavanje problema koristeći algoritamski pristup ●Da li je programiranje teško?
  • 5.
    Šta je toprogramiranje? ●Na osnovu opisa problema formirati opis rješenja ●Prevesti opis rješenja u jezik koji razumije računar ●Potrebno je sebi precizno predstaviti šta želimo da računar uradi, odnosno korake koje treba da obavi ●Potrebno je „programersko razmišljanje“ −dobro definisati ulaze i izlaze −rastaviti zadatak na podzadatke −predvidjeti sve moguće situacije
  • 6.
    Šta znači „znatiprogramirati“? ●Sposobnost rješavanja proizvoljnog problema 1) sposobnost 2) rješavanja 3) proizvoljnog 4) problema ● Programski jezik, okruženje itd. nije bitno
  • 7.
    Kako naučiti programirati? ●Samostalnorješavanje problema ●Učenje na greškama ●Tražite pomoć! ●Probati što više različitih stvari ●Čitanje, istraživanje, google-anje (ali prvo naučiti kako!) ●Učenje se nikada ne završava...
  • 8.
    Zašto učiti programiranje? ●Tradicionalnibiznis preuzimaju softverske firme Izvor: WSJ, „Why Software Is Eating The World“
  • 9.
    Zašto C? ●Jedan odnajpopularnijih jezika svih vremena ●Stvari koje učimo su dovoljno jednostavne da jezik i nije bitan ●Najbolje podržan jezik na svim platformama ●Jezici nalik na C (C-like) −C++, C#, Java, PHP, JavaScript…
  • 10.
  • 11.
    Nedostaci C-a ●Okruženje nećeupozoriti na mnoge vrste grešaka −Program radi... ponekad −Krahiranje, memorijske greške, neočekivani (besmisleni) rezultati...
  • 12.
    Literatura Osnovna: - Slajdovi iskripte sa predavanja - Ljubović, Pajić, "Uvod u programiranje - C i C++", Sarajevo, 2018. Dodatno:
  • 13.
    Alati Na predmetu ćese koristiti: razvojno okruženje Theia IDE C9ETF WebIDE https://c9.etf.unsa.ba/ Autor: Vedran Ljubović Kontakt u slučaju tehničkih poteškoća: vljubovic@etf.unsa.ba Uputstvo za korištenje c9 Dodatna razvojna okruženja (IDE): Code::Blocks
  • 14.
    Način provjere znanja Aktivnostna predmetu : UUP Game 10 bodova Kviz 5 bodova Aktivnost na vježbama 12+3 bodova izrada vježbi unaprijed + prezentacija zadataka (min 3) Parcijalni ispit 30 bodova Završni ispit 30 bodova Usmeni ispit 10 bodova (Preduslov za izlazak na završni ispit je ostvareno minimalno 15 bodova na parcijalnom!) UKUPNO: 100 bodova
  • 15.
    Ocjene Bodovi Ocjena 55-64 6 65-747 75-84 8 85-94 9 95-100+ 10
  • 16.
    Laboratorijske vježbe -Aktivnost ● Prisustvo na vježbama, izrada zadataka i aktivno praćenje nosi 12 bodova ● Vježbu je potrebno samostalno probati uraditi kroz c9. Saradnici imaju uvid u ono što ste i kada radili ● Prezentacija rješenja nosi 3 boda - obvezna aktivnost ● Unutar jedne vježbe samo jedno izlaganje je moguće ● Studenti moraju izlagati bar jednom u toku semestra inače postoji mogućnost da izgube i ostalih 12 bodova ● Na drugom satu studenti dobijaju zadatak za samostalni rad ● Vježbe su predviđene za pomoć (dva časa po 45 minuta) ● Studenti mogu postavljati pitanja vezana za zadatke isključivo preko foruma s ciljem povećanja
  • 17.
    Aktivnost ● 10 bodovaza aktivnost stiču se kroz interaktivnu igru UUP GAME gdje osvajate bodove i pojačanja i ujedno učite programirati. ● Kroz igru dobijate različite programske zadatke (svako dobija unikatne zadatke! nema prepisivanja!) ● Svaki program koji napišete se automatski testira. ● Ukupno 10 nivoa po 1 bod, u sklopu svake lekcije rješavate 6 zadataka (za lakše zadatke oko 10 minuta, za najteže do 1 sat vremena izrade) ● UUP Game se radi isključivo do kraja semestra. Nakon toga se bodovi anuliraju. Nema produžetka roka. ● Ostatak trajanja vježbi služi za pomoć studentima oko zadataka iz UUP GAME
  • 18.
  • 19.
    Aktivnost za dodatnebodove ● Sudjelovanje u korisničkoj studiji o razumijevanju načina korištenja i utjecaja alata umjetne inteligencije na učenje programiranja ● Studija traje cijeli semestar i sastoji se od 4 vrste upitnika, za čije popunjavanje je potrebno od 2 do 15 minuta: 1. Kratki upitnik o prethodnom znanju programiranja i korištenja alata umjetne inteligencije 2. Test ličnosti i test preferiranog načina učenja 3. Sedmični upitnik o korištenju alata umjetne inteligencije i radu na predmetu 4. Finalni upitnik na kraju semestra o korištenju alata umjetne inteligencije na predmetu i stavovima u vezi njihove pomoći u učenju programiranja
  • 20.
    Parcijalni ispit ●Rješavanje programskihzadataka na papiru + analiza koda + teoretska pitanja ●Bitno je i ispravno razumijevanje zadatka ●Parcijalno bodovanje ●Tolerišu se sitne greške (tipfeleri, zagrade, tačka-zarezi) osim ako se vidi da student ne razumije ●Završni ispit: na računaru! ● Svako ponavljanje ispita poništava prethodni rezultat
  • 21.
    Komunikacija sa nastavnim ansamblom ●Forum na c2 - sva pitanja vezana za gradivo, tutorijale, UUP game isključivo se postavljaju na forum. ● U jako malo slučajeva studenti trebaju slati pitanja direktno saradnicima na predmetu - jedino u slučaju poruka osjetljivog pitanja- npr. ljekarsko opravdanje za izostanak ● Email (ako ne spada u prethodne kategorije) ○ Zaglavlje emaila [UUP] Pitanje za… ○ Sadrzaj: ■ Ime i prezime studenta ■ godina i odsjek ■ predmet na koji se odnosi pitanje ■ konkretno pitanje (bez izvinjenja) ● Emailovi koji nemaju zaglavlje vjerovatno neće biti pročitani
  • 22.
    Opterećenje na predmetu ●Svipredmeti: 30 ECTS kredita * 25 sati kredit = 750 sati u semestru / 20 sedmica = 37,5 sati sedmično
  • 23.
    Opterećenje na predmetuUUP ●Uvod u programiranje 6 ECTS kredita * 25 sati kredit = 150 sati u semestru / 20 sedmica = 7,5 sati sedmično
  • 24.
    Opterećenje na predmetuUUP ●Uvod u programiranje 7,5 sati sedmično - 3 sata predavanja - 2 sata tutorijala - 2,5 sata samostalnog rada kod kuće (UUP GAME)
  • 25.
    Opterećenje na predmetuUUP ● UUP Game se sastoji od 10 lekcija pri čemu iz svake lekcije radite po 15 zadataka, tri skupine po pet zadataka: ○ lagani zadaci - 10-15 minuta po zadatku ○ srednji zadaci - 15-40 minuta po zadatku ○ teški zadaci - 40-60 minuta po zadatku. Ipak, na pojedinim zadacima ćete (zbog neiskustva) izgubiti i 100 ili više minuta ● Sveukupno prosječno vrijeme za zadatke na UUP GAME je oko 45 minuta po zadatku
  • 26.
  • 27.
    Puno sreće iuspjeha na predmetu želi vam NASTAVNI ANSAMBL