Hei og velkommen til gruppe 25 i IN1000 :)
Her legges det ut diverse oppgaver samt slides og programmer som blir gjennomgått i timen i egne ukesmapper.
Vi har digital lab på onsdager 12:15-14:00 og digitale gruppetimer på mandager 12:15-14:00. Zoom linker finnes i timeplanen.
Stikk også innom mattermost kanelen vår hvor jeg kommer til å gi ut beskjeder. På Mattermost kan du spørre i gruppekanelen vår eller spørre meg direkte @sirisoll om obliger, innholde i kurset, inspill til gruppetimene, etc. - vi finner ut av det sammen! Du kan også kontakte meg på sirisoll@uio.no
Uke 1
Læringsmål:
- Kunne logge på en linux-tjener ved Ifi fra egen maskin, skrive, endre og kjøre et Python-program
- Programmering i Python:
- Kunne skrive ut til og lese inn fra terminalen
- Kunne ta vare på verdier med variabler
- Kunne bruke beslutninger (if) for å avgjøre hvilke programlinjer som skal kjøres
- Kunne lese en feilmelding
- Kjenne til ulike verktøy for å skrive og kjøre Python-programmer
Uke2
Læringsmål:
- Forstå hvordan én enkelt linje utføres: Datatyper, evaluering av uttrykk og funksjoner
- Ha god forståelse av variabler
- Forstå og kunne bruke enkle prosedyrer uten parametre
- Forstå hvordan et helt program utføres - kodeflyt fra linje til linje, inkludert for beslutninger og prosedyrer
Uke 3
Læringsmål:
- Vite om begrepet objekter, samt at objekter tilbyr tjenester
- Kunne bruke samlinger for å holde på mange verdier
- Kjenne til forskjellene mellom lister, mengder og ordbøker, samt være i stand til å benytte egnet type samling for et gitt formål
Uke 4
Læringsmål:
- Kjenne til skrivemåte for while-løkker og for-løkker
- Kunne bruke løkker for å løse problemer
- Kunne bruke løkker sammen med samlinger
- Ha kjennskap til parametre i prosedyrer og parameteroverføring
- Kjenne til funksjoner og kunne bruke de for å få unngå redundans og få mer strukturerte programmer
Uke 5
Læringsmål:
-
Kjenne til innlesing fra og utskrift til fil, inkludert organisering av informasjon innad på linjer
-
Kunne bruke filer, løkker, samlinger og funksjoner for å løse mer sammensatte problemer
Uke 6
Dette er en repitisjonsuke - pass på at du føler at du har kontroll på temaene fra uke 1-5.
Er det et spesifikt tema du lurer på, så prøv deg på mengdetreningsoppgavene på Trix relatert til det temaet.
Du kan også spørre meg om hjelp på Mattermost @sirisoll :)
Uke 7
Læringsmål:
-
Kjenne til motivasjon og bakgrunn for objektorientert programmering
-
Kunne definere en klasse med instansvariabler, metoder og konstruktør
-
Kunne opprette objekter av egendefinert klasse og bruke deres tjenester gjennom metodekall
-
Forstå sentrale begreper som grensesnitt og innkapsling
-
Kjenne til utviklingsprosessen for en klasse gjennom design, implementasjon og testing
Uke 8
Læringsmål:
-
Forstå (mer av) hva som skjer bak kulissene når vi oppretter og bruker objekter
-
Kjenne til forskjellen på å endre en referansevariabel og å endre objektet den refererer til
-
Kunne skrive programmer med samlinger av (referanser til) objekter
-
Kunne sette seg inn i enkle programmer med flere klasser og objekter som refererer til andre objekter
Uke 9
Læringsmål:
-
Spesielle metoder for sammenligning og utskrift i egendefinerte klasser.
-
Samlinger av objekter i beholdere (containers) som liste og ordbok.
-
Strukturer med objekter av flere egendefinerte klasser.
-
Repetisjon og (enda) mer detaljer om grensesnitt, innkapsling, hva skjer med referanser og objekter under kjøring
Uke 10
Læringsmål:
-
Ha kjennskap til klassiske strukturer som er nyttige i programmering: lenkede lister, trær og grafer (ikke stress med denne, det er først og fremst aggregering dere skal kjenne til)
-
Kunne praktisere aggregering
-
Det viktigste i denne og kommende uker er at dere trener på å skrive programmer med flere klasser, og bruker teorien som er gjennomgått for å forstå hvorfor og hvordan de virker som de gjør.