print logo

Om kurset

INF1100 har en standarisert emnebeskrivelse, men her følger litt mer detaljert informasjon om undervisningsopplegget.

Det er fire timer plenumsundervisning hver uke i Sophus Lies auditorium. På mandag vil vi i første time løse oppgaver i temaer som ble forelest torsdagen før. I andre time vil vi forelese nytt stoff. På onsdag gjør vi det samme: først oppgaver fra mandagsforelesningen, og så foreleses nytt stoff. Gjennom å vise hvordan man løser programmeringsoppgaver "live" håper vi at studentene får et bedre innblikk i hvordan man tenker rundt det å programmere. Hver uke vil vi i de to timene med ordinære forelesninger gå gjennom et kapittel i læreboken, men kapittel 7 legger beslag på to uker.

Forelesningene vil behandle noen temaer i dybden, noen temaer overfladisk, mens noen foiler og temaer vil vi hoppe over pga. den korte tiden som er til rådighet på forelesninger. Gjennomgang av foiler, enten direkte eller ved demonstrasjoner på datamaskinen, danner kjernen i forelesningene. Alle foiler er tilgjengelige på nettet og følger læreboken tett, men går ikke på langt nær like dypt ned i stoffet. Bruk gjerne foilene til å få en oversikt over temaet og læreboken og oppgaver til å forstå stoffet og oppnå mestring.

I tillegg til plenumsundervisningen er det to timer gruppeøvelser på terminalstue med en lærer man kan spørre. På disse øvelsene skal man jobbe med ukens innleveringsoppgaver, vanligvis 2-5 oppgaver fra forrige ukes forelesningstema. Disse oppgavene skal senere leveres inn elektronisk for retting og godkjenning av gruppelærerne. Normalt skal du rekke ukens oppgaver på gruppetimen dersom du har forberedt deg med å studere kapittelet, foilene og plenumsoppgavene på forhånd.

I tillegg til veiledning på gruppetimene kan du få hjelp ved å stille faglige spørsmål til kursets mailadresse: inf1100@ifi.uio.no. Gruppelærerne vil forsøke å svare innen et par dager (hvis kapasiteten tillater det).



Det er skrevet en egen lærebok for INF1100. Den nyeste tredje-utgaven av denne boken selges i Akademika. Læreboken inneholder teori, eksempler og oppgaver, og er skrevet for også å kunne brukes ved andre universiteter i verden som ønsker en innføring i programmering tett koblet mot matematikk og naturvitenskapelige anvendelser.

Det er er nå syvende gang vi gir emnet INF1100. Dette er en ny type kurs (også i internasjonal sammenheng), så vi regner fremdeles med at både undervisningsform, utvalg av oppgaver og pensum kan bli justert noe underveis, men ikke så mye som i de foregående årene. Vi ønsker å være i tett dialog med studentene om å gjøre kurset enda bedre!

Så hva skal du som student gjøre for å mestre stoffet og sikre deg en god karakter på eksamen? Opplegget er relativt enkelt (i det minste algoritmisk!):

  • Delta på alle de 6 timene med undervisning hver uke.
  • Bruk 2 timer på å lese ukens kapittel før forelesningene starter, og bla gjennom foilene for repetisjon og oversikt - da vil du få veldig mye mer ut av hva som foregår på forelesningen!
  • Bruk 2 timer på å løse oppgavene som foreleser skal gå gjennom i plenum. Da vil du også få mye mer ut av oppgavegjennomgangen.
  • Bruk 1 time på å etterarbeide disse oppgavene etter at du har løsningene tilgjengelig på nett.
  • Deretter forsøker du å løse ukens obligatoriske innleveringsoppgaver - med forberedelsene over bør du greie oppgavene på et par timer, gjerne på gruppetimen.
Summerer du timene over, får du 13, som er 1/3 av en normalarbeidsuke på 40 timer for gjennomsnittsstudenten.

Undervisningen tar utgangspunkt i at alle studenter arbeider slik listen over beskriver. Hvis du velger andre opplegg, for eksempel å gå rett på ukens obligatoriske oppgaver, vil du fort ende opp med å "knote", "ikke skjønne noenting", bla febrilsk i bøker og foiler og bruke mange unødvendige timer på frustrasjon med lavt læringsutbytte. Oppskriften over sikrer deg mest fritid og den mestring og forståelse som senere vil gi deg en god karakter - og viktigst: et godt grunnlag i programmering som du kan gjenbruke og bygge videre på. Mange kurs i påfølgende semestre tar utgangspunkt i at man mestrer programmering, så god innsats i INF1100 betaler seg i senere kurs.

Både midtveiseksamen og den endelige eksamen vil ligge tett opptil et sett med obligatoriske oppgaver og oppgaver løst i plenum. Har du forstått disse oppgavene, blir eksamen en hyggelig opplevelse. For å forstå oppgavene, vil det som regel være lurest først å lese relevant teori og eksempler i læreboken. Mange oppgaver er nemlig tett knyttet til stoffet i boken.

Til slutt noe om samarbeid. Det kan være svært utbytterikt å samarbeide med andre, men det kan også være et effektiv hinder for å oppnå egen forståelse og mestring. Erfaring viser at i en gruppe som samarbeider om oppgaver og der kunnskapsnivået blant studentene varier mye, vil den faglig sterkeste ha stort utbytte av samarbeidet gjennom å lede oppgaveløsningen og forklare andre. De svakeste vil fort ende opp i en "skrive av" situasjon der de ikke får nok tid til å forstå det som foregår. Med etterarbeiding av oppgaveløsningen på egenhånd der man trenger dypt inn i detaljene og prøver å forstå dem, så kan dette være en god form for læring. Dessverre erfarer vi at noen ender opp med bare å "skrive av". Svært få vil være så begavede fra naturens side at de forstår programmering bare ved å skrive av og lese løsninger. Så godt som alle må lære programmering (og regning og andre ferdigheter i realfag) ved å jobbe på egenhånd med et solid antall oppgaver. Mestring er krevende, men betalingen får du ved å kjenne på mesteringsfølelsen når du mestrer.

Som student er det viktig å fokusere på individuelle ferdigheter, altså at du på egenhånd har kunnskap og erfaring til å løse nye problemer. Bare på denne måten kan du greie deg senere i studiet og i arbeidslivet, og det gjelder både når du må løse problemer selv og i samarbeid med andre. Uten individuelle ferdigheter har du lite å bidra med i et samarbeid! Vi har nå et forsterket fokus på individuelle ferdigheter i INF1100 og andre kurs. Det betyr at studenter blir testet individuelt, først og fremst på eksamen, men også i forbindelse med gruppetimer for å kontrollere at oppgavene som leveres inn er forstått. I stedet for et sterkt fokus på juks, der målet er å avsløre og utvise studenter som leverer inn andres arbeid, konsentrerer vi oss om å måle kunnskapen hver enkelt student har ervervet seg. Vi bryr oss altså ikke om hvordan du fremskaffer løsningen på en oppgave, men vi bryr oss om å teste i hvilken grad du forstår hvordan et programmeringsproblem skal løses. Når du samarbeider med andre må derfor kritisk vurdere i hvilken grad samarbeidet gir deg individuelle ferdigheter. Samarbeidspartnere som er på samme mestringsnivå som deg selv kan være en god ting. Og når du leverer inn en oppgave, må du spørre deg selv om du kan forklare hva som skjer på hver linje i programmet og hvorfor linjen er nødvendig. Formelt sett er det faktisk slik at i det du trykker på innleveringsknappen samtykker du at du kan forklare alle detaljer av løsningen din.

Publisert Sat, 21 Dec 2013 22:54:27 +0100