Undervisningsmateriale og pensumliste INF1100

Undervisningsmateriale INF1100 H16

Læringsmålet for INF1100 er god forståelse av ukeoppgavene (se undervisningsplanen) og "oppgavene fra plenumsøvelser": "live-programmering/". Eksamen vil teste denne forståelsen.

Oppgavene, og stoffet som bygger opp under oppgavene, er hentet fra læreboken A Primer on Scientific Proramming with Python, Fifth Edition av Hans Petter Langtangen. (Merk at kapitler og oppgaver er forskjellig nummerert i de ulike utgavene av boken. Det er spesielt store endringer i oppgavene fra 3. til 4. utgave, men oppgavene for 4. utgave er tilgjengelige som en PDF fil. 1. og 2. utgave anbefales ikke brukt.)

I tillegg til læreboken er det utarbeidet et sett med foiler som brukes i forelesningene. Foilene gir en oversikt over de viktigste delene av stoffet. Teksten i boken tar sikte på å forklare dette stoffet i detalj, som sammen med aktiv oppgaveløsning skal resultere i forståelse for og mestring av programmering.

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 tilsammen 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 det 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 2016 er kravet satt til 45 poeng innen 1. desember.

Pensumliste INF1100 H16

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 INF1100 10/10 2016

Relevant stoff fra boken: kapittel 1-5, unntatt 1.6, 1.7, 3.3, 4.8, 4.10, 5.5.1, 5.5.3, 5.7, og 5.9-5.12. Se også undervisningsplanen, og spesielt den mer detaljerte siden om hver uke, for informasjon om hva som er viktig og relevant stoff fra foiler og lærebok.

På eksamen vil man få oppgaver som ligger tett opptil tidligere midttermineksamener og et utvalg oppgaver fra ukeinnleveringer og plenumsøvelser:

  • 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)
  • 3.22 (gaussian2.py, side 137)
  • 3.29 (Heaviside.py, side 139)
  • 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)

I tillegg vil det komme oppgaver der man skal simulere små programbiter for hånd. Tidligere eksamensoppgaver er relevante.

Midttermineksamen teller 25% av sluttkarakteren i kurset. Vi anbefaler at man går gjennom alle oppgavene listet over og kontrollerer at man forstår hver oppgave og løsningen. For forståelsen kan det være helt avgjørende at man studerer teksten i læreboken.

En faglærer kommer går en runde i alle lokalene ca 45 minutter etter at eksamen har begynt.

Pensumliste til avsluttende eksamen i INF1100 2016

Bakgrunnsmateriale fra boken består av kapittel 1-9, Appendiks A og E i boken, unntatt kap. 1.6-1.7, 4.8, 4.9.8-4.9.9, 4.10, 5.5.1, 5.5.3, 5.7, og 5.9-5.12, 6.3-6.6, 7.4-7.6,8.5-8.7, 9.3-9.5, A.2.

På eksamen vil man få oppgaver som ligger tett opptil et utvalg oppgaver fra ukeinnleveringer og plenumsøvelser samt gamle eksamensoppgaver:

  • 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)
  • 3.29 (Heaviside.py, side 139)
  • 4.2 (f2c_cml.py, side 216)
  • 4.5 (f2c_cml_exc.py, side 217)
  • 4.10 (ball_cml.py, side 218)
  • 4.12 (ball_cml_tcheck.py, side 219)
  • 5.6 (simulate_vector_computing.py, side 313)
  • 5.12 (f2c_shortcut_plot.py, side 314)
  • 4.4 (f2c_file_read_write.py, side 217)
  • 4.14 (ball_file_read_write.py, side 219)
  • 5.3 (fill_arrays_vectorized.py, side 313)
  • 5.33 (plot_wavepacket_movie.py, side 324)
  • 5.39 (animate_Taylor_series.py, side 326)
  • 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)
  • A.15 (cos_Taylor_series_diffeq.py, side 677)
  • 5.14 (read_2columns.py, side 315)
  • 5.16 (read_density_data.py, side 316)
  • 5.18 (fit_density_data.py, side 317)
  • 5.22 (position2velocity.py, side 319)
  • 6.3 (density_improved.py, side 403)
  • 6.7 (humans.py, side 404)
  • 6.9 (area_triangle_dict.py, side 405)
  • 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)
  • 8.1 (flip_coin.py, side 549)
  • 8.2 (compute_prob.py, side 550)
  • 8.8 (sum_4dice.py, side 551)
  • 8.16 (flip_coin_vec.py, side 553)
  • 8.14 (draw_balls.py, side 552)
  • 9.2 (Cubic_Poly4.py, side 635)
  • 9.4 (Polynomial_hier.py, side 636)
  • E.21 (RK4_func.py, side 811)
  • E.22 (RK4_class.py, side 811)
  • E.23 (yx_ODE_FE_vs_RK4.py, side 811)
  • E.16 (radioactive_decay.py, side 809)
  • 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)
Av Joakim Sundnes
Publisert 26. nov. 2016 20:56