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.