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. Disse vil bli gjennomg?tt av foreleser n?r tiden strekker til. Sjekk ogs? mappen med korte videoforklaringer p? sentrale begreper. L?sning p? gjennomg?tte plenumsoppgaver legges ut etter timen (det kan av praktiske ?rsaker ta litt tid f?r de er tilgjengelige der).


Uke 1

Dato: 18/8-254/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), 1.12 (egg.py, side 46) 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: 25/8-31/8 (kalenderuke 35)

Foreleser: Ole Christian Lingj?rde og Joakim Sundnes

Pensum: kap. 3 i l?reboka (l?kker, lister og vilk?r)

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), 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.1 (f2c_table_while.py, side 82), 2.2 (f2c_approx_table.py, side 82), 2.4 (odd.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: 1/9-7/9 (kalenderuke 36)

Foreleser: Joakim Sundnes

Pensum: kap. 4 i l?reboka (funksjoner)

Plenumsoppgaver: 2.7 (coor.py, side 83), 2.8 (ball_table1.py, side 83), 2.15 (index_nested_list.py, side 85), 3.20 (hw_func.py, side 136), 3.23 (egg_func.py, side 137), 3.28 (maxmin_list.py, side 139) fra Langtangen

Obligatoriske innleveringsoppgaver (frist 5/9 kl 16.00): 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), 3.11 (alkane.py, side 8), 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: 8/9-14/9 (kalenderuke 37)

Foreleser: Joakim Sundnes

Pensum: Avsnitt 6.1 og 6.2 + avsnitt 2.12 og 8.2 i l?reboka (testfunksjoner, feilh?ndtering, lese data fra fil)

Plenumsoppgaver: 4.1 (f2c_qa.py, side 216), 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 12/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: 15/9-21/9 (kalenderuke 38)

Foreleser: Ole Christian Lingj?rde og Joakim Sundnes

Pensum: kap. 5 + avsnitt 8.1 i l?reboka (arrays og plotting)

Oppgaver i plenum: 5.7 (slicing.py, side 314), 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 19/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.7, 8.1-8.2.

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: 22/9-28/9 (kalenderuke 39)

Foreleser: Joakim Sundnes

NB endrede tidspunkt for forelesninger: Mandag 22/9 kl 16.15-18 og onsdag 24/9 kl 08.15-10. Forelesningen holdes i Sophus Lies Auditorium som vanlig, og opptak blir lagt ut i etterkant for de som ikke har mulighet til ? delta. Endringen gjelder bare denne uka, neste uke er vi tilbake til de vanlige tidene.

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.1 (sequence_limits.py, side 671), A.4 (loan.py, side 672), A.7 (growth1_index_ip1.py), A.14 (sin_Taylor_series_diffeq.py, side 676), fra Langtangen

Frivillige innleveringsoppgaver (frist 27/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: 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.6 (fortune_and_inflation2.py, side 672), A.12 (diffeq_midpoint.py, side 675) fra Langtangen

Mer informasjon om uke 39


Uke 7

Dato: 29/9-5/10 (kalenderuke 40)

Foreleser: Joakim Sundnes

Pensum: Kap. 11 + avsnitt 5.2 i l?reboka (likningsl?sning + dictionaries)

Oppgaver i plenum: A.19 (growth_logistic2.py, side 678), A.10 (Secant.py, side 674), 6.7 (humans.py, side 404), fra Langtangen

Frivillige innleveringsoppgaver (frist 4/10 kl 16.00): 6.13 (approx_abs.py, side 23), 6.14 (graph1.py, side 23) A.2 (fibonacci.py, side 41), A.4 (finding_pi.py, side 42) fra oppgaveheftet

Anbefalte underveisoppgaver fra l?reboka: 5.8-5.10 og 11.1-11.4

Andre anbefalte oppgaver: 6.15 (graph2.py, side 23), 6.16 (prime_ineff.py, side 24) fra oppgaveheftet, A.20 (growth_logistic3.py, side 679) 6.5 (stars_data_dict1.py, side 403), 6.6 (stars_data_dict2.py, side 403) fra Langtangen

Mer informasjon om uke 40


Uke 8

Dato: 6/10-12/10 (kalenderuke 41)

Midttermineksamen.


Uke 9

Dato: 13/10-19/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), 6.11 (poly_diff.py, side 405), 7.2 (Account2.py, side 471), 7.10 (Hello.py, side 474), 7.11 (F2.py, side 474) fra Langtangen

Tekstfilene som trengs til oppgave 5.16 kan lastes ned her: density_air.txt, density_water.txt.

Anbefalte innleveringsoppgaver (frist 17/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: 20/10-26/10 (kalenderuke 43)

Foreleser: Joakim Sundnes

Pensum: Avsnitt 7.4 i l?reboka

Ekstra forberedelser: Kort quiz om klasser Gj?r denne 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.

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 24/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: 27/10-2/11 (kalenderuke 44)

Foreleser: Ole Christian Lingj?rde og 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 31/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: 3/11-9/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 7/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: 10/11-16/11 (kalenderuke 46)

Forelesere: Joakim Sundnes

Pensum: Ingen ordin?re forelesninger, men foreleser er tilgjengelig til vanlig tid og sted for eventuelle sp?rsm?l om prosjektet. Send gjerne mail p? forh?nd hvis det er spesielle tema fra prosjektet som du ?nsker skal bli gjennomg?tt.

Obligatoriske innleveringsoppgaver (frist 14/11 kl 16.00): Prosjekt om modellering av smittsomme sykdommer


Uke 14

Dato: 17/11-23/11 (kalenderuke 47)

Forelesere: Joakim Sundnes

Ingen forelesning mandag 17/11

Forelesning onsdag 19/11: Gjennomgang av avsluttende eksamen fra 2023. Gjennomgang av utvalgte oppgaver, med tips om hva som er viktig, hva sensor ser etter i rettingen o.l.

Uke 15

Dato: 24/11-30/11 (kalenderuke 48)

Forelesere: Joakim Sundnes

Ingen forelesning mandag 17/11

Forelesning onsdag 19/11: Gjennomgang av det avsluttende prosjektet fra i h?st, med fokus p? de delene som er mest relevant for eksamen.

Uke 16

Dato: 1/12-7/12 (kalenderuke 49)

Ingen undervisning

Uke 17-18

Dato: 7/12-17/12 (kalenderuke 50-51)

Fredag 12/12: 14.15-16.00 - Gjennomgang av pr?veeksamen (eksamen 2024) i Sophus Lies Auditorium

Mandag 15/12: 12.15-16.00 - Eksamensorakel, Auditorium 1 i Vilhelm Bjerknes hus