Detaljert undervisningsplan
Viktig: før hver undervisningsuke anbefales det sterkt at du leser det aktuelle kapittelet i læreboka.
Du bør også sette deg godt inn i og gjerne prøve å løse på forhånd plenumsoppgavene som står oppført for hver uke nedenfor. Mye av tiden på forelesning blir brukt på å løse og diskutere disse oppgavene.
Løsning på gjennomgåtte plenumsoppgaver legges ut her etter timen.
Uke 1
Dato: 17/8-23/8 (kalenderuke 34)
Foreleser: Joakim Sundnes
Pensum: kap. 1 og 2 i læreboka
Plenumsoppgaver: 1.3 (seconds2years.py, side 43), 1.4
(length_conversion.py, side 43) fra
Langtangen
Andre anbefalte oppgaver: 1.2 (versions.py side2) fra
oppgaveheftet,
1.1 (massdensity.py, side 5), 1.2 (solarmass.py, side 5) fra
fysikkheftet,
1.1 (glucose.py, side 1) fra
kjemiheftet
Mer informasjon om uke 34
Uke 2
Dato: 24/8-30/8 (kalenderuke 35)
Foreleser: Joakim Sundnes
Pensum: kap. 3 i læreboka (løkker, lister og vilkår)
Oppgaver: Legges ut her før forelesningene.
Plenumsoppgaver: 1.12 (egg.py, side 46), 2.1 (f2c_table_while.py, side 82), 2.3 (primes.py, side 82),
2.4 (odd.py, side 82), 2.7 (coor.py, side 83), 2.8 (ball_table1.py, side 83), 2.9 (ball_table2.py, side 83) fra
Langtangen,
5.1 (quadratic_roots_input.py, side 14) fra oppgaveheftet
Frivillige innleveringsoppgaver (frist 29/8 kl 16.00): 2.2 (interest_rate.py, side 3), 2.3 (population.py, side 3),
2.4 (find_roots.py, side 4) fra
oppgaveheftet
Andre anbefalte oppgaver: 2.5 (hydrogen.py, side 4), 2.6 (formulas_shapes.py, side 5),
3.1 (multiplication.py, side 6) fra
oppgaveheftet,
2.2 (f2c_approx_table.py,
side 82) fra
Langtangen,
2.2 (relativistic_momentum.py, side 8) fra
fysikkheftet,
1.3 (ideal_gas.py, side 1), 2.1 (energy_levels.py, side 3)
fra
kjemiheftet
Mer informasjon om uke 35
Uke 3
Dato: 31/8-6/9 (kalenderuke 36)
Foreleser: Joakim Sundnes
Pensum: kap. 4 i læreboka (funksjoner)
Plenumsoppgaver:
2.15 (index_nested_list.py, side
85), 2.2 (f2c_approx_table1.py, side 82), 2.16 (f2c_approx_lists.py, side 86), 3.20 (hw_func.py, side 136), 3.23 (egg_func.py, side
137), 3.28 (maxmin_list.py, side 139) 3.25 (fact.py, side 138) fra
Langtangen
Obligatoriske innleveringsoppgaver (frist 4/9 kl 16.00): Første del av innleveringen er en quiz i nettskjema: https://nettskjema.no/a/643700
Gjør quizen, ta et skjermbilde av kvitteringssiden og last det opp som jpg-fil i devilry sammen med de andre filene. Det er obligatorisk å svare på alle spørsmål, men det er ingen krav til antall rette.
Andre del av den obligatoriske innleveringen er følgende oppgaver:
3.4 (sum_for.py, side 6), 3.5 (sum_while.py, side 7),
3.7 (population_table.py, side 7), 3.8, (population_table2.py, side 7) fra
oppgaveheftet
Andre anbefalte oppgaver: 3.12 (interest_rate_loop.py, side 8),
4.2 (sumint.py, side 10), 4.3 (factorial.py, side 10) fra
oppgaveheftet,
2.6 (energy_levels.py, side 83), 3.4 (f2c.py, side 128) fra
Langtangen,
3.1 (nernst_function.py, side 5), 3.3 (pH_titration.py, side
5) fra
kjemiheftet
Mer informasjon om uke 36
Uke 4
Dato: 7/9-13/9 (kalenderuke 37)
Foreleser: Joakim Sundnes
Pensum: Avsnitt 2.12, 8.2, 6.1, 6.2, og i læreboka (brukerinput, lese data fra fil, feilhåndtering, testfunksjoner)
Plenumsoppgaver:
4.2 (f2c_cml.py, side 216), 4.3 (f2c_file_read.py, side
216), 4.4 (f2c_file_read_write.py, side 217), 4.5 (f2c_cml_exc.py, side 217),
3.7 (sum_func.py, side 129), 3.6 (test_double.py, side 128, 3.8 (roots_quadratic.py, side 129). (og
kanskje 2.19 (repeated_sqrt.py, side 87), 2.20
(machine_zero.py, side 87), 2.21 (compare_floats.py, side 87)). Alle oppgavene er fra
Langtangen
Frivillige innleveringsoppgaver (frist 11/9 kl 16.00): 4.1 (pop_func.py, side
10), 4.4 (triangle_area.py, side 11),
4.5 (half_wave.py, side 11), 4.8 (statistics.py, side 12) fra
oppgaveheftet
Anbefalte underveisoppgaver fra læreboka: 2.10, 6.1-6.5, 8.3.
Andre anbefalte oppgaver: 3.11 (trapezint.py, side
130), 3.21 (sinesum1.py, side 136), 3.36 (L3_recursive.py, side 142),
3.37 (cos_sum.py, side 142), 4.1 (f2c_qa.py, side 216),
4.2 (f2c_cml.py, side 216)
fra
Langtangen,
4.2 (particle_accelerator.py, side 16), 4.5
(newton_gravitation_file.py, side 19) fra
fysikkheftet,
4.1 (nernst_equation2.py, side 7) fra
kjemiheftet
Mer informasjon om uke 37
Uke 5
Dato: 14/9-20/9 (kalenderuke 38)
Foreleser: Joakim Sundnes
NB ingen forelesning torsdag 17/9: Det blir ingen forelesning torsdag denne uka.
Pensum: kap. 5 i læreboka (arrays, dictionaries)
Oppgaver i plenum:
5.1 (fill_lists.py, side 313), 5.2 (fill_arrays_loop.py, side 313), 5.3 (fill_arrays_vectorized.py, side 313),
5.7 (slicing.py, side 314), fra
Langtangen
Frivillige innleveringsoppgaver (frist 18/9 kl 16.00): 5.2 (quadratic_roots_cml.py, side 14),
5.3 (quadratic_roots_error.py, side 14), 5.7
(read_file_isotopes.py, side 15) fra
oppgaveheftet.
I oppgave 5.7 skal man lese fra en fil, som kan lastes ned herfra:
oxygen.txt
Anbefalte underveisoppgaver fra læreboka: 5.1-5.10
Andre anbefalte oppgaver: 5.11 (unnamed_exception.py, side 18) fra
oppgaveheftet
4.21 (sinesum2.py, side 222),
4.22 (sinesum3.py, side 222), 5.12 (f2c_shortcut_plot.py side 314),
5.28 (plot_wavepacket.py side 322)
fra
Langtangen,
5.2 (momentum_plot.py, side 20), 5.3
(capacitor_vectorization.py, side 21) fra
fysikkheftet
Mer informasjon om uke 38
Uke 6
Dato: 21/9-27/9 (kalenderuke 39)
Foreleser: Joakim Sundnes
Pensum: Avsnitt 5.2 (fra forrige uke), avsnitt 8.1 + Kap. 11 i læreboka (plotting + likningsløsning)
Oppgaver i plenum: 6.7 (humans.py, side 404), 5.9 (plot_ball1.py, side 314),
5.10 (plot_ball2.py, side 314), 5.11 (plot_ball3.py, side
314), 5.13 (plot_trajectory.py, side 314), 5.39 (animate_taylor_series.py) fra
Langtangen
Frivillige innleveringsoppgaver (frist 25/9 kl 16.00): 5.10 (temp_read_write.py,
side 17), 6.1 (fill_log_arrays_loop.py, side 19), 6.2
(fill_log_arrays_vectorized.py, side 19), 6.4 (oscillating_spring.py,
side 19) fra
oppgaveheftet
I oppgave 5.10 skal man lese fra to filer, som kan lastes ned herfra:
temp_oct_1945.txt, temp_oct_2014.txt
Anbefalte underveisoppgaver fra læreboka: 8.1-8.2, 11.1-11.4
Andre anbefalte oppgaver: 6.15 (graph2.py, side 23),
6.16 (prime_ineff.py, side 24) fra
oppgaveheftet,
6.5 (stars_data_dict1.py, side 403),
6.6 (stars_data_dict2.py, side 403) fra
Langtangen
Oppgave 6.16 (prime_ineff.py) refererer til en fil, som kan lastes ned herfra: prime_check.txt.
Mer informasjon om uke 39
Uke 7
Dato: 28/9-4/10 (kalenderuke 40)
Foreleser: Joakim Sundnes
Pensum: Kap. 13 i læreboka (differenslikninger)
Oppgaver i plenum: 5.14 (read_2columns.py, side 315), 5.29 (judge_plot.py, side 322), A.10 (Secant.py, side 674), A.4 (loan.py, side 672), A.7 (growth1_index_ip1.py), A.19 (growth_logistic2.py, side 678), A.20 (growth_logistic3.py, side 679) fra Langtangen
Frivillige innleveringsoppgaver (frist 2/10 kl 16.00): 6.13 (approx_abs.py, side 23), 6.14 (graph1.py, side 23), A.4 (finding_pi.py, side 42) fra
oppgaveheftet
Anbefalte underveisoppgaver fra læreboka: 13.1-13.4
Andre anbefalte oppgaver: 6.6 (roots.py, side 21) fra
oppgaveheftet,
5.32 (plot_Taylor_sin.py, side 323), 5.40 (plot_velocity_pipeflow.py, side
327), 5.45 (energy_physics.py, side 328), A.1 (sequence_limits.py, side 671), A.6 (fortune_and_inflation2.py, side 672),
A.12 (diffeq_midpoint.py, side 675), A.14 (sin_Taylor_series_diffeq.py, side 676), fra
Langtangen
Mer informasjon om uke 40
Uke 8
Dato: 5/10-11/10 (kalenderuke 41)
Midttermineksamen.
Uke 9
Dato: 12/10-18/10 (kalenderuke 42)
Foreleser: Joakim Sundnes
Pensum: Avsnitt 7.1-7.3 i læreboka
Oppgaver i plenum: 5.16 (read_density_data.py, side 316), 5.18 (fit_density_data.py, side 317),
6.9 (area_triangle_dict.py, side 405), 7.1 (F.py, side 470), 7.2 (Account2.py, side 471), 7.10 (Hello.py, side 474),
7.11 (F2.py, side 474), og kanskje 6.11 (poly_diff.py, side 405) fra
Langtangen
Tekstfilene som trengs til oppgave 5.16 kan lastes ned her: density_air.txt, density_water.txt.
Anbefalte innleveringsoppgaver (frist 16/10 kl 16.00):
7.2 (chemical_elements_dict.py, side 26),
7.4 (atm_moon.py, side 27), 7.5 (plot_round_off_error.py, side 27),
7.6 (people_dict.py, side 28), A.6 (lotka_volterra.py, side 43), 7.3 (poly_dict.py, side 27)
fra
oppgaveheftet,
5.19 (fit_pendulum_data.py, side 318),
6.14 (temperature_data.py, side 407) fra
Langtangen
Tekstfilen som trengs til atm_moon.py kan lastes ned her.
Programmet approx_derivative_sine.py som skal brukes i Oppgave 7.5 finnes
her.
I tilfelle noen har problemer med å kjøre programmet finnes det også en ferdig
output-fil som
kan lastes ned.
Mer informasjon om uke 42
Uke 10
Dato: 19/10-25/10 (kalenderuke 43)
Foreleser: Joakim Sundnes
Pensum: Avsnitt 7.4 i læreboka
Ekstra forberedelser: Kort quiz om klasser Gjør helst denne quizen før undervisningen i uke 10, for å være sikker på at du har forstått det grunnleggende om klasser før vi bygger videre på det. Svarene på quizen blir gjennomgått i forelesningen på tirsdag.
Oppgaver i plenum: 7.3 (Account3.py, side 471), 7.12 (Sum.py, side 474), 7.25 (Polynomial_sub.py, side 480),
9.1 (dir_subclass.py, side 635), 9.3 (sin_plus_quadratic.py, side 636), 9.4 (Polynomial_hier.py, side 636),
9.6 (PolarPoint.py, side 636)
fra Langtangen
Oppgave 7.25 refererer til klassen Polynomial. En oppdatert version av denne klassen kan lastes ned herfra:
polynomial_class.py
Anbefalte innleveringsoppgaver (frist 23/10 kl 16.00):
8.1 (class_people.py, side 31), 8.2 (right_triangle.py, side 31),
8.3 (F.py, side 32), 8.4 (BankAccountP.py, side 32), 8.7 (class_diff.py, side 34)
fra
oppgaveheftet
Oppgave 8.4 refererer til klassen BankAccountP i boka.
Klassen finnes på side 122, og py-fil med koden kan lastes ned herfra:
account_protected.py
Mer informasjon om uke 43
Uke 11
Dato: 26/10-1/11 (kalenderuke 44)
Foreleser: Joakim Sundnes
Pensum: Kapittel 14.1-14.4 i læreboka
Oppgaver i plenum:
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.21 (RK4_func.py, side 811), E.22 (RK4_class.py, side 811),
fra Langtangen
De fleste av oppgavene om ODE-løsere bygger på kode-eksempler fra boka. Eksemplene fra Langtangen-boka er skrevet i Python 2 og er ikke helt oppdatert, men oppdaterte versjoner av de samme løserne finnes her. Dette er kildekode skrevet for boka Solving ODEs in Python, hvor kapittel 1 og 2 er basert på Appendiks E i Langtangen sin bok, og tilsvarer kapittel 14 i den nye læreboka.
Anbefalte innleveringsoppgaver (frist 30/10 kl 16.00):
8.7 (class_diff.py, side 34), 8.9 (Coords.py, side 35),
9.2 (polynomial.py, side 39), 9.3 (vector.py, side 39)
fra
oppgaveheftet
Mer informasjon om uke 44
Uke 12
Dato: 2/11-8/11 (kalenderuke 45)
Forelesere: Joakim Sundnes
Pensum: Kap 14.1-14.7, 14.9, 14.10 i læreboka
Oppgaver i plenum: E.24 (ForwardEuler_sys_func2.py, side 812), E.30 (RungeKutta2_func.py, side 813), E.29 (radioactive_decay2.py, side 813) fra Langtangen
Anbefalte innleveringsoppgaver (frist 6/11 kl 16.00): E.1 (simple_ODE_func.py, side 44), E.2 (simple_ODE_class.py, side 44), E.3 (simple_ODE_class_ODE_solver.py, side 44), E.5 (Midpoint.py, side 45), E.7 (coffee.py, side 46) fra oppgaveheftet
Mer informasjon om uke 45
Uke 13
Dato: 9/11-15/11 (kalenderuke 46)
Forelesere: Joakim Sundnes
Pensum: Ingen forelesninger. Denne uka er satt av til det obligatoriske prosjektet.
Obligatoriske innleveringsoppgaver (frist 13/11 kl 16.00): Prosjekt om modellering med ODEer (Publiseres her senere)
Uke 14
Dato: 16/11-22/11 (kalenderuke 47)
Forelesere: Joakim Sundnes
Forelesninger: Tema annonseres senere. Sannsynligvis gjennomgang av en tidligere eksamensoppgave og eventuelt eksamensrelevante deler av prosjektet.
Uke 15
Dato: 23/11-29/11 (kalenderuke 48)
Forelesere: Joakim Sundnes
Forelesninger: Ingen ordinære forelesninger. Kanskje det blir satt opp en gjennomgang av tidligere eksamensoppgaver.
Uke 16
Dato: 30/11-6/12 (kalenderuke 49)
Forelesninger: Ingen ordinære forelesninger. Kanskje det blir satt opp en gjennomgang av tidligere eksamensoppgaver og eventuelt prøveeksamen.
Prøveeksamen: En prøveeksamen blir tilgjengelig i Inspera fra ca 30/11.
Uke 17
Dato: 7/12-13/12 (kalenderuke 50)
Forelesninger: Ingen forelesninger denne uka.
Eksamensorakel: Tidspunkt annonseres her senere.
Eksamen: Fredag 11/12 kl 15.00-19.00. Avsluttende skriftlig eksamen.