Topic outline

  • Programiranje 1

    Namen predmeta Programiranje 1 je naučiti bruce programirati. Programiranje je osnovna veščina računalnikarja in kdor je ne bo obvladal, bo imel težave tudi ves preostanek študija. Z bolj optimističnega konca: kdor se bo potrudil pri tem predmetu (in drugih v prvem letniku), se mu bo to obrestovalo tako v višjih letnikih kot v življenju.

  • Izrazi, spremenljivke, funkcije, prvi program.

    Na prvem predavanju smo videli, da so računalniki pravzaprav samo malo večji (težji, dražji) kalkulatorji. Z malo več pomnilnika. No, poleg tega jim lahko napišemo tudi več računov naenkrat, na zalogo, pa jih bodo izračunali lepo enega za drugim.
    • Logični izrazi, pogojni stavki, zanka while

      Poleg tega, da znajo izvajati zaporedje računov, lahko računalnikom rečemo, naj kak račun izračunajo le, če je rezultat prejšnjega računa tak in tak. Ali pa, naj nekaj stavkov ponavlja, dokler je izpolnjen kak pogoj.

      To pa je že približno vse, kar znajo sploh početi računalniki.

      • Seznami, terke, zanka for

        Doslej so spremenljivke vsebovale eno samo, preprosto vrednost, recimo število. Kadar imamo cel seznam vrednosti, jih spravimo v ... seznam.

        Druga tema tega poglavja so zanke. While ni niti edina niti najbolj uporabljana zanka. Njena konkurenca je zanka for, ki steče prek seznama reči, prek črk v nizih, prek vrstic v datotekah...

        • Pisanje funkcij

          Naši programi se neusmiljeno daljšajo. Da jih bomo še lahko obvladovali, se jih bomo morali naučiti razkosati na posamezne dele, ki opravljajo posamezna opravila. Naučiti se moramo pisati funkcije. To nam bo precej olajšalo življenje.

          • Moduli in metode

            Da bomo počasi začeli pisati programe, ki v resnici kaj naredijo, moramo izvedeti, kje dobiti še kakšno uporabno funkcijo ter kaj vse še znajo nizi, seznami in terke.
            • Slovarji in množice

              Seznami so uporabni, hitro pa naletimo na reči, ki jim niso dorasli. Potrebovali bi nekaj drugega. Potrebovali bi ... slovarje.
              • Izpeljani seznami, slovarji, množice; generatorji

                Vse, kar smo počeli doslej, postane okorno v primerjavi s tem, kar se naučimo tule. Večina funkcij, ki smo jih doslej pisali na predavanjih in vajah ter v domačih nalogah, se lahko brez težav spravi v eno samo (in navadno niti ne zapleteno) vrstico.
                • Imenski prostori; kaj so spremenljivke, funkcije

                  Doslej so spremenljivke preprosto - bile. Zdaj se bomo vprašali, kaj spremenljivke pravzaprav so, kje živijo, kdo jih vidi, kaj pomeni prirejanje...
                  • Oblikovanje nizov in delo z datotekami

                    Čas je, da se naši programi vsaj malo znajdejo v resničnem svetu. Zato se moramo naučiti, kako lepo izpisovati in kako brati datoteke. Na predavanjih smo se naučili nekaj malega, v zapiskih je malenkost več ... več pa v Programiranje 1 ne sodi, temveč se boste teh reči učili sproti.
                    • Rekurzija

                      Rakurzija vam mora zlesti pod kožo. Če katera tema zahteva vajo, je to rekurzija. Ko jo obvladate, pa je zelo naravna in udobna.
                      • Malo risanja

                        Snov tega predavanja je - navidez - le priložnostni modul za risanje. V resnici bo služil kot priložnost za ponovitev rekurzije, uvod v objektno programiranje, v enakem okolju pa se bomo učili delati tudi uporabniške vmesnike. Tole je torej uvod v preostanek predmeta.
                        • Objektno programiranje

                          Še zadnja velika tema: kako definiramo nove podatkovne tipe (ali razrede), kako jim damo metode...

                          • Uporabniški vmesniki

                            Na zadnjih predavanjih se bomo (čas je že!) naučili delati programe, ki izgledajo, kot izgledajo običajni programi - z okenčki, gumbi ... Dovolj je že print-a in input-a!
                            • Razne koristne drobnarije

                              Razne drobnarije, za katere ni bilo časa na predavanjih - vsaj letos ne - vendar je koristno vedeti zanje in bi morda koga zanimale. Nekateri od teh zapiskov so starejši; nanašajo se lahko na, recimo, starejše različice Pythona in zato danes te stvari morda lotimo kako drugače, preprosteje.
                              • Izpitne naloge

                                Objavljeni izpiti naj bodo v pomoč pri učenju. Pazite pa, da vas preprostost objavljenih rešitev ne zaslepi: če razumete rešitev, še ne pomeni, da znate sami priti do nje! Primeren postopek dela je, da rešite nalogo, pogledate rešitev in ponovno rešite nalogo.

                                Upoštevajte, da se snov, ki pride v poštev za izpit, iz leta v leto spreminja! Letos smo se učili stvari, ki se jih lani niso in obratno; ne pritožujte se, da "tega lani ni bilo" ali da so letošnji izpiti težji od lanskih (ali, manj verjetna pritožba, lažji).