Detaljert undervisningsplan
Viktig: før hver undervisningsuke anbefales det sterkt at du leser det aktuelle kapittelet i ±ôæ°ù±ð²ú´Ç°ì²¹. 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 etter timen (det kan av praktiske Ã¥rsaker ta litt tid før de er tilgjengelige der).
Uke 1
Dato: 21/8-27/8 (kalenderuke 34)
Foreleser: Joakim Sundnes
Pensum: kap. 1 i (intro)
Plenumsoppgaver: 1.2 (hello_world.py
, side 43) fra
Andre anbefalte oppgaver: 1.2 (versions.py
side2) fra
,
1.1 (massdensity.py
, side 5), 1.2 (solarmass.py
, side 5) fra
,
1.1 (glucose.py
, side 1) fra
Mer informasjon om
Uke 2
Dato: 28/8-3/9 (kalenderuke 35)
Foreleser: Joakim Sundnes
Pensum: kap. 2 og 3 i (formulas, loops, lists)
Plenumsoppgaver: 1.1 (1plus1.py
, side 42), 1.3 (seconds2years.py
, side 43), 1.4
(length_conversion.py
, side 43), 1.12 (egg.py
, side 46), 2.1
(f2c_table_while.py
, side 82), 2.3 (primes.py
, side 82), fra
Frivillige innleveringsoppgaver (frist 1/9 kl 17.00): 2.2 (interest_rate.py
, side 3), 2.3 (population.py
, side 3),
2.4 (find_roots.py
, side 4) fra
Andre anbefalte oppgaver: 2.5 (hydrogen.py
, side 4), 2.6 (formulas_shapes.py
, side 5),
3.1 (multiplication.py
, side 6) fra
,
2.1 (f2c_table_while.py
, side 82), 2.2 (f2c_approx_table.py
,
side 82), 2.4 (odd.py
, side 82) fra
,
2.2 (relativistic_momentum.py
, side 8) fra
,
1.3 (ideal_gas.py
, side 1), 2.1 (energy_levels.py
, side 3)
fra
Mer informasjon om
Uke 3
Dato: 4/9-10/9 (kalenderuke 36)
Foreleser: Ole Christian Lingjærde
Pensum: kap. 4 i (functions, if-tests)
Plenumsoppgaver: 2.4 (odd.py
, side 82), 2.7 (coor.py
, side 83), 2.8
(ball_table1.py
, side 83), 2.14
(inverse_sine.py
, side 85), 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
Obligatoriske innleveringsoppgaver (frist 8/9 kl 17.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
Andre anbefalte oppgaver: 3.12 (interest_rate_loop.py
, side 8),
4.2 (sumint.py
, side 10), 4.3 (factorial.py
, side 10) fra
,
2.6 (energy_levels.py
, side 83), 3.4 (f2c.py
, side 128) fra
,
3.1 (nernst_function.py
, side 5), 3.3 (pH_titration.py
, side
5) fra
Mer informasjon om
Uke 4
Dato: 11/9-17/9 (kalenderuke 37)
Foreleser: Ole Christian Lingjærde
Pensum: kap. 5 i (user input, error handling)
Plenumsoppgaver: 2.19 (repeated_sqrt.py
, side 87), 2.20
(machine_zero.py
, side 87), 2.21 (compare_floats.py
, side 87),
3.7 (sum_func.py
, side 129), 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) fra
Frivillige innleveringsoppgaver (frist 15/9 kl 17.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
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
,
4.2 (particle_accelerator.py
, side 16), 4.5
(newton_gravitation_file.py
, side 19) fra
,
4.1 (nernst_equation2.py
, side 7) fra
Mer informasjon om
Uke 5
Dato: 18/9-24/9 (kalenderuke 38)
Foreleser: Joakim Sundnes
Pensum: kap. 6 i (arrays, plotting)
Oppgaver i plenum: 4.6 (objects_qa.py
, side 217),
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) fra
Frivillige innleveringsoppgaver (frist 22/9 kl 17.00):
5.1 (quadratic_roots_input.py
, side 14), 5.2 (quadratic_roots_cml.py
, side 14),
5.3 (quadratic_roots_error.py
, side 14), 5.4
(quadratic_roots_error2.py
, side 14), 5.7
(read_file_isotopes.py
, side 15) fra
.
I oppgave 5.7 skal man lese fra en fil, som kan lastes ned herfra:
Andre anbefalte oppgaver: 5.11 (unnamed_exception.py
, side 18) fra
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
,
5.2 (momentum_plot.py
, side 20), 5.3
(capacitor_vectorization.py
, side 21) fra
Mer informasjon om
Uke 6
Dato: 25/9-1/10 (kalenderuke 39)
Foreleser: Ole Christian Lingjærde
Pensum: Appendix A i (difference equations)
Oppgaver i plenum: A.1 (sequence_limits.py
, side 671), A.4
(loan.py
, side 672), 5.29 (judge_plot.py
, side 322), 5.39
(animate_Taylor_series.py
, side 326) fra
Om plotting: Hintet i oppgave 5.39 refererer til scitools
, som er en utdatert
pakke som vi ikke bruker lenger. Vi bruker matplotlib
og følger oppskriftene i
, se kap 6.
Frivillige innleveringsoppgaver (frist 29/9 kl 17.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
I oppgave 5.10 skal man lese fra to filer, som kan lastes ned herfra:
,
Andre anbefalte oppgaver: 6.6 (roots.py
, side 21) fra
,
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
Mer informasjon om
Uke 7
Dato: 2/10-8/10 (kalenderuke 40)
Foreleser: Ole Christian Lingjærde
Pensum: kap 7 i (dictionaries, strings)
Oppgaver i plenum: A.14 (sin_Taylor_series_diffeq.py
, side
676), 5.14 (read_2columns.py
, side 315) fra
Frivillige innleveringsoppgaver (frist 6/10 kl 17.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
Andre anbefalte oppgaver: 6.15 (graph2.py
, side 23),
6.16 (prime_ineff.py
, side 24) fra
,
A.13 (arclength.py
, side 675),
6.5 (stars_data_dict1.py
, side 403),
6.6 (stars_data_dict2.py
, side 403) fra
Mer informasjon om
Uke 8
Dato: 9/10-15/10 (kalenderuke 41)
Midttermineksamen.
Uke 9
Dato: 16/10-22/10 (kalenderuke 42)
Foreleser: Joakim Sundnes
Pensum: kap 8 i (klasser)
Oppgaver i plenum: 5.16 (read_density_data.py
, side 316), 5.18 (fit_density_data.py
, side 317),
6.7 (humans.py
, side 404), 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) fra
Frivillige innleveringsoppgaver (frist 20/10 kl 17.00):
A.6 (lotka_volterra.py
, side 43), 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)
fra
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.
Andre anbefalte oppgaver: 7.3 (poly_dict.py
, side 27) fra
,
5.19 (fit_pendulum_data.py
, side 318),
6.14 (temperature_data.py
, side 407) fra
Mer informasjon om
Uke 10
Dato: 23/10-29/10 (kalenderuke 43)
Foreleser: Joakim Sundnes
Pensum: kap 8 og 9 i (klasser, OOP)
Ekstra forberedelser: Kort 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.10 (Hello.py
, side 474),
7.11 (F2.py
, side 474), 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)
fra
Frivillige innleveringsoppgaver (frist 27/10 kl 17.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)
fra
Oppgave 8.4 refererer til klassen BankAccountP
i .
Klassen finnes på side 122, og py-fil med koden kan lastes ned herfra:
Andre anbefalte oppgaver: 8.7 (class_diff.py
, side 34)
fra
,
Mer informasjon om
Uke 11
Dato: 30/10-5/11 (kalenderuke 44)
Foreleser: Ole Christian Lingjærde
Pensum: kap 9 i (OOP), kap 1 i (ODEer)
Oppgaver i plenum: 9.4 (Polynomial_hier.py
, side 636)
fra
Frivillige innleveringsoppgaver (frist 3/11 kl 17.00):
8.7 (class_diff.py
, side 34), 8.9 (Coords.py
, side 35),
9.2 (polynomial.py
, side 39)
fra
Andre anbefalte oppgaver: 9.3 (vector.py
, side 39)
fra
,
Mer informasjon om
Uke 12
Dato: 6/11-12/11 (kalenderuke 45)
Forelesere: Ole Christian Lingjærde og Joakim Sundnes
Pensum: Kap 1 og 2 i (ODEer og systemer av ODEer)
Oppgaver i plenum: 9.6 (PolarPoint.py
, side 636), E.21 (RK4_func.py
, side 811),
E.22 (RK4_class.py
, side 811) fra
Obligatorisk innleveringsoppgave (frist 10/11 kl 17.00): Oblig2 For å få denne innleveringen godkjent må løsningen på oppgavene organiseres i tråd med informasjonen som ble gitt på forelesningen tirsdag 31. oktober.
Mer informasjon om
Uke 13
Dato: 13/11-19/11 (kalenderuke 46)
Ingen forelesninger, men gruppetimer gjennomføres som normalt. Spørsmål om prosjektet kan stilles på gruppetimene eller discourse.
Frivillige innleveringsoppgaver: Avsluttende eksamensrelevant prosjekt
Uke 14
Dato: 20/11-26/11 (kalenderuke 47)
Det blir ingen ordinær undervisning denne uka, men det kan bli satt opp tid til spørsmål om eksamen og gjennomgang av eksamensoppgaver. Informasjon om dette blir lagt som beskjeder på emnesiden.