Computer Science Fakultet U D A C I T Y

Discussion in 'Operativni sistemi, aplikacije i programiranje' started by Mujka, Apr 16, 2012.

  1. Mujka

    Mujka Komšija

    Za sve koje interesuje CS http://www.udacity.com prijavite se profesori su super. Dosta gradiva se prelazi zadace su fine generalno citav community je fin pa eto bujrum.
    Od danas su ponudjeni ovi predmeti.
    [​IMG]
    :smt006

    Zadovoljna "musterija"
     
  2. AhmeT

    AhmeT Overclocker

    Haha :D

    Ovo je na Fb pa je malo nabrzaka, uglavnom kao sto pise gore, od mene tople preporuke, sigurno svako moze barem nesto nauciti, a sam projekat je ozbiljan i zasad kompletno besplatan bez ikakvih reklama ili icega napornog, te stvarno treba probati ovo.

    Ako je ko prije cuo za AI-Class, i DB-Class te ML-Class, to su kao poceci neki bili. Sebastian Thrun (http://en.wikipedia.org/wiki/Sebastian_Thrun) je eksperimentalno sa Peterom Norvigom predavao taj AI-Class na https://www.ai-class.com/ (mogu se lekcije i dalje pogledati) i radi jako finog odgovora samih studenata i svega poceo je i ovaj projekat na Udacity.com. Tu je i Coursera.com te i MIT-jev odgovor na mitx.mit.edu (imaju oni i OCW ali postoje razlike sad medju tim, da ne duzim), pa je sad ovo jako popularno.

    Uglavnom, probajte, mozemo organizovati kao neku study grupu na HWBu ako treba, ovo bi trebalo jako fino ici, predavaci su vrhunski i ja ovo ne mogu dovoljno nahvaliti. Ja cekam da vidim sad u kakvom ce formatu poslati "diplomu" za ova dva sto su prosla, vjerovatno ce biti kao neko pismo u fazonu Statement of Accomplishment kao i za ove prosle predmete, i sigurno nije na odmet ni u nekom CVu.
     
  3. kolinsb

    kolinsb Veteran foruma

    evo i ja se prijavio. ne izgleda ovo loshe. mozda bi me malo zezao engleski (posto sam ucio njemacki, a engleski sam samouk), ali valjda cu se snaci. Zanima me ovaj CS253 i CS212 i CS262 :D:D imam nekakvog iskustva u Pascalu, ponesto i u Delphi-u i VB-u, ali sam Pascal i Delphi skoro zaboravio, dok se sa VB-om ponekad druzim kad radim nekakvu bazicu u Access-u :)
     
  4. AhmeT

    AhmeT Overclocker

    Dobrodosao :) Haman da ovo pustaju sad, maintenance je na stranici pa ce vjerovatno procepiti uskoro za sat-dva. Slobodno se prijavi i na CS101, cisto da malo pokupis Pythona, jer koriste taj jezik kao "osnovu" za sve ostale predmete, prvenstveno jer je jako lijep za pisati, lagan za pocetnike a i poprilicno mocan tako da je super za ucenja. MIT ga isto koristi u uvodu u CS kao jezik, tako da i to treba da znaci nesto :)

    Osnove jezika (pa i naprednije stvari) se brzo mogu pokupiti tu: http://www.openbookproject.net/thinkcs/ ... english2e/ Tako da ako ko naleti na neke probleme uz ovo bi to trebalo biti lahko, a naravno tu je i oficijalni tutorijal (http://docs.python.org/tutorial/) te dokumentacija na istoj adresi, a i Google uvijek pomogne pa ne bi trebao biti belaj to. Ovo naravno sve ako se ne odluci posvetiti vrijeme za ovaj CS101 gdje se obradjuje Python.
     
  5. sumeir

    sumeir Komšija

    Kakav je tempo predavanja. Jesu li snimljena predavanja pa se može preslušati "kad možeš".Kakav je tempo odvijanja nastave,zadaće itd i koliko vremena iziskuje(mislim na učenje).Dali se ovo može ukolipiti kao neki "kurs" u slobodnom vremenu ili zahtjeva da "ostaviš" sve što imaš da bi ovo mogao prariti. I na kraju kako se ocjenjuje rad.

    Hvala
     
  6. AhmeT

    AhmeT Overclocker

    Tempo zavisi od predmeta. CS101 je recimo isao jako "sporo", u smislu da se sve islo fino potanko, obradjivale su se osnovne stvari, buduci da je to bio kao uvod u programiranje i sam CS, kroz citav kurs se razvijala trazilica za net, pa u svakoj sedmici po jedan dio. Prva sedmica je uvela osnovne stvari, varijable, tipove podataka, operacije sa stringovima i sl. Druga sedmica je vec uvela procedure (metode). Treca je uvela liste i operacije sa njima, cetvrta jos ovako svasta, peta loopove, sesta rekurziju i onda je bio kao finalni ispit.

    Sam tempo znaci zavisi od poznavanja materije. Predavanja se snime te se puste za tu tekucu sedmicu, obicno ponedjeljkom, pa se ima fore do kraja kursa to pregledati, stim da i svake sedmice bude zadaca koja se mora uraditi za 7 dana, tako da nije stiska sa vremenom.

    Sto se vremena tice, predavanja sedmicno izadju mozda oko 2 sata, nije preko 3 sa office hoursima i dodatnim pojasnjenjima, odgovorima na testove i to, i tu je i zadaca, i zavisi kako si upratio koliko ce ti to odvojiti. Ja eto uz studiranje i ovih 5-6 predmeta sam mogao uklopiti ova dva, CS101 (mada sam tu Python vec znao pa mi nije bio problem, ali sam naucio pofajn novih stvari), i CS373 (koji je vezan za Programiranje auta koje vozi samo, tu se isto Python koristio, bilo je podosta nepoznatih stvari i dosta toga se preslo, od raznih filtera, lokalizacije, algoritama i sl, i kurs je bio poprilicno tezak, ja sam nekako jedva pratio jer nisam bas imao previse vremena da se skroz posvetim tome, ali je definitivno bilo zanimljivo).

    Ne znam kako ce sad ici za ovaj 101, da li ce koristiti materijale od proslog "semestra" ili ce nanovo snimati, ali je to definitivno koristan kurs i sigurno nece uzeti previse vremena, uz nekih pola sata dnevno se sigurno moze nauciti sve i stici zadaca i to, a i vikendi su tu pa se moze fino odvojiti jedan dan za nekoliko ovih predmeta.

    Ovi ostali predmeti su haman malo ko potezi, recimo CS212 koji sam krenuo, nije bas za pocetnike i neko bez nekod predznanja nece bas sve pohvatati jer gdin. Norvig (koji inace jako divno pise kod i sve izadje smisleno, kratko, lijepo i efikasno, u par linija) ide brzo, prelijece dosta toga pa treba te neke pozadine. Ostale nisam jos stigao pregledati, osim ovog za Web programiranje, gdje sad govori osnove HTMLa i to, tu fino sporo ide, ne bi ni to trebao biti problem.

    I na kraju, sto se ocjenjivanja tice, svaki predmet ima male testove koji se pojavljuju tokom gradiva. Mogu bili ili da se izabere tacan odgovor, ili da se nesto malo iskodira i sl, i odmah se dobija feedback, i detaljan video sa rjesenjima, tako da je to jako fino. Zadace se obicno nadovezuju na koncepte naucene te sedmice, te nakon isteka roka za slanje zadace, takodjer se postave rjesenja. Tu su i forumu, sa dosta aktivne raje i njihovog staffa, pa nije ni to problem. Same zadace nisu prije bile "obavezne", jer su stavili da ce na finalnom ispitu dati ocjenu koja je najveca od ove dvije opcije: finalni ispit, ili pola finalni pola zadace dosad. Tako da ako je neko sve naucio, ali zadace fulao, ima opet priliku dobiti 100% na predmetu, a ko je redovno radio zadace, pa malo podbaci na finalnom, nece biti previse ostecen, uglavnom u svakom slucaju student je na dobitku :) Vjerovanto ce ovaj isti koncept i sada primjenjivati.
     
  7. Mujka

    Mujka Komšija

    sto se tice cs101 objavili su na stranici da je sve dostupno i da je na studentu da odradi kad god to hoce : )
     
  8. sumeir

    sumeir Komšija

    @AhmeT

    Zahvaljujem na ovako finom i opširnom odgovoru.

    A tebi Mujka svaka čast na otvaranju teme.
     
  9. kolinsb

    kolinsb Veteran foruma

    ja sam krenuo sa CS101 :) zavrsavam prvu lekciju, izdvajanje linkova (extracting links).
     
  10. BaDa12

    BaDa12 Novi član

    Da se i ja javim kao ponosna studentica Udacity-ja. :)
    Prošli "semestar" nisam baš bila redovna (uključila se i ulazila svako par sedmica :oops: ), ali ovaj "semestar" sam krenula i sa novim predmetima, a CS101 idem iz početka, mada mi je mnogo stvari dosta poznato, tako da preko toga preletim i imam više vremena za druge predmete, malo zahtjevnije.
    Super mi je što su ljudi temeljiti (negdje i previše detaljisti), ali dobro dođe za obnovu znanja i/ili za stjecanje novog znanja za početnike. Ima relativno dosta vremena za sve zadaće, za gledanje lekcija... Sve u svemu, hvala ovim profesorima. Odličan gest od njih. [Znanje je znanje dati. :wink: ]

    Drago mi je šta ima zainteresovanih ljudi i ovdje. Kako jedan od profesora reče:"See you in class!"

    :smt006
     
  11. AhmeT

    AhmeT Overclocker

    Nije znanje znanje znati, nego je znanje znanje dati, kao što bi rekli [ljuti] Krajišnici :)

    Samo da dodam update, što se zadaće tiče. Sada su izmijenili način, pa ide ovako:
    Ukratko, zadaća se može uraditi bilo kad, sa instant feedbackom za tačno-netačno, a poslije roka za predaju je dostupan i video sa rješenjem, a i tada se može predati. Jako fino, malo će olakšati pritisak a opet motivisati rad ne samo na kraju.
     
  12. kolinsb

    kolinsb Veteran foruma

    ja sam zavrsio Unit 3, evo krecem raditi Homework 3. ide ovo laganice :) naravno CS101
     
  13. kolinsb

    kolinsb Veteran foruma

    raja, hajte malo pomozite, ne mogu vise biti pametan. napisao sam kod koji prema mojim provjerama dobro radi, dok kad kliknem na submit, kaze da ne prolazi njihove testne podatke. evo o cemo se radi:


    # Define a procedure, greatest,
    # that takes as input a list
    # of positive numbers, and
    # returns the greatest number
    # in that list. If the input
    # list is empty, the output
    # should be 0.

    Code:
    def greatest(list):
        najveci=0
        i=0
        while i<len(list):
            if najveci<list[i]:
                najveci=list[i]
            i=i+1
        print najveci
    
    testirao sam na primjerima:

    Code:
    greatest([4,23,1])
    #>>> 23
    greatest([])
    #>>> 0
    greatest([50,12,23])
    greatest([1,2,3])
    greatest([1,1,3])
    greatest([2,1,3])
    
    i dobio rezultate:

    [​IMG]

    btw. preskocio sam provjeru da li je svaki clan pozitivan, a testirao sam na pozitivnim clanovima, pa ne vjerujem da mi radi toga kod pada.
     
  14. Mujka

    Mujka Komšija

    edit uradio si dobro samo nisi return-o vrijednost
    Code:
    def greatest(list):
        najveci=0
        i=0
        while i<len(list):
            if najveci<list[i]:
                najveci=list[i]
            i=i+1
        return najveci
        
        
    
    
    print greatest([4,23,1])
    #>>> 23
    print greatest([])
    #>>> 0
    al ovako je bolje

    Code:
    def greatest(list):
        najveci=0
        for x in list:
            if x > najveci:
                najveci = x
        return najveci
     
  15. kolinsb

    kolinsb Veteran foruma

    ne kontam te mujka. Koliko sam ja shvatio, mogu proceduru zavrsiti na 2 nacina:

    1. sa return x, pa je pozivam print procedura(x)
    2. ili sa print x, pa je pozivam samo procedura(x) bez print.

    ja sam odradio na ovaj drugi nacin.
    posto mi je u primjeru samo pozivao proceduru sa argumentom bez print-a ispred, to mi je znacilo da je ja trebam zavrsiti sa print najveci, a ne sa return najveci.

    evo prethodnog primjera:

    Code:
    # Define a procedure, product_list,
    # takes as input a list of numbers,
    # and returns a number that is
    # the result of multiplying all
    # those numbers together.
    
    def product_list(list):
        i=0
        proizvod=1
        while i<len(list):
            proizvod=proizvod*list[i]
            i=i+1
        return proizvod
            
    
    
    
    
    
    
    
    print product_list([9])
    #>>> 9
    
    print product_list([1,2,3,4])
    #>>> 24
    
    print product_list([])
    #>>> 1
    
    kao sto vidis, procedura mi zavrsava sa return proizvod, ali je zato pozivam sa print product_list(lista).

    ako proceduru zavrsim sa
    Code:
    print proizvod
    pa je pozovem sa
    Code:
    product_list([9])
    dobit' cu tacan rezultat, ali kad kliknem na Submit, dobit' cu:

    Code:
    Incorrect. Your procedure did not return 8 for testcase [8]. Your submission passed 0 out of 6 test cases.
    sto znaci da je u zadatku koji sam ja postavio greska kod njih, jer su na primjerima ispod asocirali pozivanje procedure samo sa greatest(lista), dok su je na svojim testnim primjerima istu pozivali sa print greatest(lista)
     
  16. selvin

    selvin Moderator

    Pa funkcija/metod/procedura ne bi nikad trebala da printa rezultat. Pozivas je da bi koristio negdje taj rezultat, tj. da ti ona to vrati pa da dalje koristis. Kakve koristi imas ako isprintas na konzolu a ti hoces da koristis taj metod najveci negdje u drugoj funkciji? Po tome nikad neces moci iskoristit tu funkciju ako uradis print.
     
  17. AhmeT

    AhmeT Overclocker

    Moze biti da su pretpostavili to sto se tice primjera, tj onako naveli primjere i njihov return, ne sta ce biti isprintano, ali generalno kao sto Selvin kaze, cilj ti je da funkcija/procedura nesto vraca. Ako je u tekstu zadatka receno da ima return, to i treba odraditi.

    Evo recimo kako bi ja to uradio, malo je krace i cini mi se ljepse :)
    Code:
    def greatest(p):
    	greatest = 0
    	for e in p:
    		if e > greatest:
    			greatest = e
    	return greatest
     
  18. Mujka

    Mujka Komšija

    print greatest(lista) znaci ti zoves greatest([5,6,7,8]) al da bi vidio rezultat treba print ispred u tvom slucaju je jedina greska sto printas reko ti je selvin cak na onoj tvojoj slici iako je sad ne vidim pisalo je da tvoj cod nije returno znaci to ti samo fali :D al eto pogledaj ove for puno su laksi i bolji.
     
  19. kolinsb

    kolinsb Veteran foruma

    ma negdje koristim for, negdje while, kako mi gdje padne napamet :D cilj je dobiti rezultat :) e sad kako sam davno ispao iz fazona programiranja, meni ga dodje na isto, ili koristio for ili while. sto se tice brzine izvrsavanja koda, mislim da je to na istom.
     
  20. AhmeT

    AhmeT Overclocker

    Uredu je i to sve, bitno je da je rezultat OK :) Nema ni ovdje neke razlike u efikanosti, jedino je onakav kod elegantniji, nema pravljenja bespotrebnih varijabli za pracenje gdje si, a i nekako je logicnije, ako imas listu, da kroz nju ides elemenat po elemenat, ne po indexima pa onda te indexe koristis da bi pristupio nekom elementu.

    Ima Python ovih nekih lijepih i korisnih stvari, vidjeces kako odmakne poslije. Npr sa dictionary tipom je pogotovo intuitivno koristiti to for e in p.