Undervisningsmateriale IN1900 H17
L?ringsm?let for IN1900 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 Programming 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.)
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 2017 er kravet satt til 45 poeng innen 1. desember.
Pensumliste IN1900 H17
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 2017
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 l?ringsm?l og viktige tema hver uke. F?lgende oppgaver er pensum til midttermineksamen 2017:
- 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)
Alle oppgavene har enten v?rt ukeinnleveringer eller plenums?velser. P? eksamen vil det bli gitt oppgaver som ligger tett opp til disse oppgavene. P? eksamen gis det i hovedsak to ulike oppgavetyper: (1) oppgaver av typen hva skrives ut, som handler om ? lese og forst? sm? Python-programmer, for ? avgj?re hva som skrives ut, og (2) oppgaver hvor du skal skrive sm? programmer selv. Se tidligere midttermineksamener for typisk form p? eksamensoppgavene.
Eksamen er digital og skjer i programsystemet Inspera. Svaret p??hver oppgave skrives i et vindu, som fungerer som en enkel editor. Editoren gir fargekoding som hjelper med Python-syntaks, men programmene kan ikke kj?res.
Pensumliste til avsluttende eksamen i IN1900 2017
Bakgrunnsmateriale fra boken best?r av kapittel 1-9, 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, 8.1.6, 8.3.3-8.3.5, 8.4-8.7, 9.2-9.5, A.2.
F?lgende oppgaver er pensum til avsluttende eksamen h?sten 2017:
- 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.5 (f2c_cml_exc.py, side 217)
- 4.10 (ball_cml.py, side 218)
- 4.12 (ball_cml_tcheck.py, side 219)
- 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.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)
- 5.22 (position2velocity.py, side 319)
- 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)
- 8.1 (flip_coin.py, side 549)
- 8.2 (compute_prob.py, side 550)
- 8.5 (rolling_dice.py, side 550)
- 8.6 (one6_ndice.py, side 550)
- 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)
- A.15 (cos_Taylor_series_diffeq.py, side 677)
- E.21 (RK4_func.py, side 811)
- E.22 (RK4_class.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)
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. Selv om vi i ?r har brukt Python 3 i kurset er det fullt mulig ? bruke Python 2 syntaks p? eksamen.