Gruppe 25

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.