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)
- En pr?veeksamen blir tilgjengelig i Inspera fra ca 5/12. Pr?veeksamen blir identisk med eksamen fra 2024, og er nyttig for ? teste hvordan man l?ser programmeringsoppgaver i Inspera.
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