Undervisningsmateriale IN1900 H19
L?ringsm?let for IN1900 er god forst?else av ukeoppgavene og oppgavene fra plenums?velser (se undervisningsplanen). Eksamen vil teste denne forst?elsen.
Alle oppgavene er knyttet til tema 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.
Forelesningsnotatene for hver uke gir en kortversjon av kapitlene i l?reboka. Forelesningene legges ut forl?pende gjennom semesteret her. Disse er veldig kompakte, og det anbefales ? lese kapitlene i boka i tillegg. Siden l?reboka bruker Python 2 og notatene Python 3 er det noen forskjeller, men for de fleste kapitler er disse ubetydelige. Der det er vesentlige forskjeller mellom bok og notater vil dette v?re kommentert eksplisitt i notatene.
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 ? ta eksamen m? man ha nok godkjente obligatorise ukeinnleveringer.
Pensumliste IN1900 H19
Pensumliste til midttermineksamen i IN1900 9/10 2019
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 2019:
- Fra boka:
- 1.4 (length_conversion.py, side 43)
- 1.11 (kick.py, side 45)
- 2.2 (f2c_approx_table.py, side 82)
- 2.9 (ball_table2.py, side 83)
- 2.7 (coor.py, side 83)
- 2.15 (index_nested_list.py, side 85)
- 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)
- 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)
- Fra oppgaveheftet:
- 2.4 (sum_for.py, side 4)
- 2.7 (population_table2.py, side 5)
- 3.1 (pop_func.py, side 7)
- 3.5 (triangle_area.py, side 9)
- 4.1 (quadratic_roots_input.py, side 11)
- 4.3 (quadratic_roots_error.py, side 11)
- 4.10 (temp_read_write.py, side 14)
- 5.1 (fill_log_arrays_loop.py, side 15)
- 5.2 (fill_log_arrays_vec.py, side 15)
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 2019 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 ogs? relevante, men ?rets oppgaver vil ha mest felles med hva skrives ut-oppgavene og flervalgsoppgavene fra 2017 og 2018.
Eksamen er digital og skjer i programsystemet Inspera.
Pensumliste til avsluttende eksamen i IN1900 2019
Relevante kapitler fra boken: kapittel 1-7, kapittel 9, og Appendiks A og E unntatt kap. 1.6-1.7, 3.3, 4.4, 4.8-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. I kapittel 5.3-5.4 om plotting er det bare matplotlib og generell metode for plotting som er pensum, ikke Scitools og Easyviz. Forelesningsnotatene gir et sammendrag av de viktige temaene hver uke. 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 avsluttende eksamen 2019:
- Fra boka:
- 1.4 (length_conversion.py, side 43)
- 1.11 (kick.py, side 45)
- 2.2 (f2c_approx_table.py, side 82)
- 2.9 (ball_table2.py, side 83)
- 2.7 (coor.py, side 83)
- 2.15 (index_nested_list.py, side 85)
- 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)
- 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)
- 5.16 (read_density_data.py, side 316)
- 5.18 (fit_density_data.py, side 317)
- 6.7 (humans.py, side 404)
- 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.14 (sin_Taylor_series_diffeq.py, side 676)
- E.1 (simple_ODE_func.py, side 802)
- E.2 (simple_ODE_class.py, side 802)
- E.3 (simple_ODE_class_ODESolver.py, side 802)
- E.30 (RungeKutta2_func.py, side 813)
- Fra oppgaveheftet:
- 2.4 (sum_for.py, side 4)
- 2.7 (population_table2.py, side 5)
- 3.1 (pop_func.py, side 7)
- 3.5 (triangle_area.py, side 9)
- 4.1 (quadratic_roots_input.py, side 11)
- 4.3 (quadratic_roots_error.py, side 11)
- 4.10 (temp_read_write.py, side 14)
- 5.1 (fill_log_arrays_loop.py, side 15)
- 5.2 (fill_log_arrays_vec.py, side 15)
- 5.14 (graph1.py, side 20)
- E.2 (midpoint.py, side 34)
- E.4 (coffee.py, side 43)
- E.8 (bjorgvin.py, side 49)
- E.9 (SIRD.py, side 51)
- E.10 (SIRD_interaction.py, side 52)
- E.11 (plague.py, side 54)
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 2018. Selv om vi i ?r har brukt Python 3 i kurset er det fullt mulig ? bruke Python 2 syntaks p? eksamen.