Undervisningsmateriale og pensumliste IN1900

Undervisningsmateriale IN1900 H18

Læringsmålet for IN1900 er god forståelse av ukeoppgavene og oppgavene fra plenumsøvelser (se undervisningsplanen). Eksamen vil teste denne forståelsen.

Oppgavene, og stoffet som bygger opp under oppgavene, er i hovedsak hentet fra læreboken A Primer on Scientific Programming with Python, Fifth Edition av Hans Petter Langtangen. Man kan også bruke 3. og 4. utgave av boka, men da er kapitler og oppgaver nummerert forskjellig. Oppgavene for 5. utgave er tilgjengelige som en PDF fil.

Alle eksempelfiler referert til i læreboken kan lastes ned til egen PC eller UiO-konto.

Eksamen

Eksamen består av to deler, en midttermineksamen i uke 41 og en avsluttende eksamen i desember. Maksimal score er til sammen 100 poeng, 25 poeng på midttermineksamen og 75 poeng på avsluttende eksamen. Poenggrensene for de forskjellige karakterene varier noe fra år til år ut fra hvordan eksamen slår ut, men gjennomsnittstall fra de fem siste årene er A: 93, B: 81, C: 62, D: 50, E: 40.

Et tilstrekkelig antall obligatoriske oppgaver må være bestått

For å fremstille seg til eksamen, må man ha nok godkjente obligatorise ukeinnleveringer. I 2018 er kravet satt til 40 poeng innen 21. november.

Pensumliste IN1900 H18

Merk

Pensum defineres gjennom et sett oppgaver. Det er et sett anbefalte kapitler i læreboken som danner bakgrunn for å forstå disse oppgavene.

Pensumliste til midttermineksamen i IN1900 10/10 2018

Relevante kapitler fra boken: kapittel 1-5, unntatt 1.6, 1.7, 3.3, 4.4, 4.8, 4.10, 5.5.1, 5.5.3, 5.7, og 5.9-5.12. Se også undervisningsplanen, inkludert den mer detaljerte siden om hver uke, for informasjon om læringsmål og viktige tema hver uke. Alle oppgaver som har vært obligatorisk ukeoppgaver eller har vært gjennomgått i plenum er relevante for eksamen. Følgende oppgaver er spesielt relevante til midttermineksamen 2018:

  • 1.4 (length_conversion.py, side 43)
  • 1.11 (kick.py, side 45)
  • 2.1 (f2c_table_while.py, side 82)
  • 2.8 (ball_table1.py, side 83)
  • 2.9 (ball_table2.py, side 83)
  • 2.17 (ball_table3.py, side 86)
  • 2.11 (sum_while.py, side 84)
  • 2.7 (coor.py, side 83)
  • 2.15 (index_nested_list.py, side 85)
  • 3.8 (roots_quadratic.py, side 129)
  • 3.16 (area_triangle.py, side 134)
  • 4.4 (f2c_file_read_write.py, side 217)
  • 4.5 (f2c_cml_exc.py, side 217)
  • 4.11 (ball_cml_qa.py, side 218)
  • 4.12 (ball_cml_tcheck.py, side 219)
  • 4.14 (ball_file_read_write.py, side 219)
  • 5.3 (fill_arrays_vectorized.py, side 313)
  • 5.7 (slicing.py, side 314)
  • 5.10 (plot_ball2.py, side 314)
  • 5.12 (f2c_shortcut_plot.py, side 314)
  • 5.28 (plot_wavepacket.py, side 322)

De fleste av disse oppgavene har enten vært ukeinnleveringer eller plenumsøvelser. På eksamen vil det bli gitt oppgaver som tematisk ligger tett opp til disse oppgavene, men på midttermin-eksamen høsten 2018 gis bare flervalgsoppgaver. De fleste av oppgavene vil være av typen hva skrives ut, som handler om å lese og forstå små Python-programmer, og avgjøre hva som skrives ut. I tillegg vil det være oppgaver hvor man skal finne feil i programmer, og oppgaver hvor man må velge mellom flere mulige løsninger i et program. Tidligere midttermin-eksamener er relevante, selv om disse også inneholder oppgaver hvor man skal skrive små programmer selv. Disse er er også relevante, men årets oppgaver vil ha mest felles med hva skrives ut-oppgavene og flervalgsoppgavene fra 2017.

Eksamen er digital og skjer i programsystemet Inspera.

Pensumliste til avsluttende eksamen i IN1900 2018

Bakgrunnsmateriale fra boken består av følgende kapitler: kapittel 1-7, kapittel 9, og Appendiks A og E unntatt kap. 1.6-1.7, 3.3, 4.4, 4.8, 4.9.8-4.9.9, 4.10, 5.5, 5.7, 5.8.4, 5.9-5.12, 6.3-6.6, 7.4-7.6, 9.2-9.5, A.2.

Følgende oppgaver er pensum til avsluttende eksamen høsten 2018:

  • 1.4 (length_conversion.py, side 43)
  • 1.11 (kick.py, side 45)
  • 2.1 (f2c_table_while.py, side 82)
  • 2.15 (index_nested_list.py, side 85)
  • 3.16 (area_triangle.py, side 134)
  • 3.23 (egg_func.py, side 137)
  • 4.5 (f2c_cml_exc.py, side 217)
  • 4.10 (ball_cml.py, side 218)
  • 4.4 (f2c_file_read_write.py, side 217)
  • 4.14 (ball_file_read_write.py, side 219)
  • 5.12 (f2c_shortcut_plot.py, side 314)
  • 5.13 (plot_trajectory.py, side 314)
  • 5.28 (plot_wavepacket.py, side 322)
  • 5.14 (read_2columns.py, side 315)
  • 5.16 (read_density_data.py, side 316)
  • 5.18 (fit_density_data.py, side 317)
  • 6.3 (density_improved.py, side 403)
  • 6.7 (humans.py, side 404)
  • 6.10 (poly_repr.py, side 405)
  • 6.11 (poly_diff.py, side 405)
  • 7.2 (Account2.py, side 471)
  • 7.25 (Polynomial_sub.py, side 480)
  • 9.2 (Cubic_Poly4.py, side 635)
  • 9.4 (Polynomial_hier.py, side 636)
  • A.3 (growth_years_efficient.py, side 672)
  • A.5 (fortune_and_inflation1.py, side 672)
  • A.14 (sin_Taylor_series_diffeq.py, side 676)
  • E.21 (RK4_func.py, side 811)
  • E.22 (RK4_class.py, side 811)
  • E.30 (RungeKutta2_func.py, side 813)
  • E.41 (SIR.py, side 817)
  • E.42 (SIR_class.py, side 819)
  • E.43 (SIRV.py, side 820)
  • E.44 (SIRV_varying_p.py, side 820)
  • E.45 (SIRV_optimal_duration.py, side 821)
  • E.46 (SIZR.py, side 821)
  • E.47 (Night_of_the_Living_Dead.py, side 823)
  • E.48 (war_on_zombies.py, side 824)

På eksamen vil man få oppgaver som ligger tett opptil disse oppgavene. Alle oppgavene har vært gitt som ukeinnleveringer eller gjennomgått i plenum på forelesninger. De fleste tidligere eksamensoppgaver er også veldig relevante, men pensum forandrer seg litt fra år til år så enkelte tidligere oppgaver er ikke relevante.

Eksamen vil bestå av tre oppgavetyper:

  • Flervalgsoppgaver
  • Oppgaver av typen "Hva skrives ut", hvor svaret skrives som tekst
  • Oppgaver hvor det skal skrives små programmer

Fordelingen mellom de ulike oppgavetypene blir ganske lik avsluttende eksamen i 2017. Selv om vi i år har brukt Python 3 i kurset er det fullt mulig å bruke Python 2 syntaks på eksamen.

Av Joakim Sundnes
Publisert 14. nov. 2018 09:40