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: 19/8-25/8 (kalenderuke 34)
Foreleser: Joakim Sundnes
Pensum: kap. 1 og 2 i (intro + formulas)
Plenumsoppgaver: 1.3 (seconds2years.py
, side 43), 1.4
(length_conversion.py
, side 43), 1.12 (egg.py
, side 46) 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: 26/8-1/9 (kalenderuke 35)
Foreleser: Ole Christian Lingjærde
Pensum: kap. 2 og 3 i (formulas, loops, lists)
Plenumsoppgaver: 2.1
(f2c_table_while.py
, side 82), 2.3 (primes.py
, side 82), fra
Frivillige innleveringsoppgaver (frist 30/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
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: 2/9-8/9 (kalenderuke 36)
Foreleser: Ole Christian Lingjærde and Joakim Sundnes
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 6/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
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: 9/9-15/9 (kalenderuke 37)
Foreleser: Joakim Sundnes
Pensum: kap. 5 i (user input, error handling)
Plenumsoppgaver: 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). (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
Frivillige innleveringsoppgaver (frist 13/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
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: 16/9-22/9 (kalenderuke 38)
Foreleser: Ole Christian Lingjærde
Pensum: kap. 6 i (arrays, plotting)
Frivillige innleveringsoppgaver (frist 20/9 kl 16.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: 23/9-29/9 (kalenderuke 39)
Foreleser: Joakim Sundnes
Pensum: Appendix A i (difference equations)
Oppgaver i plenum: 5.29 (judge_plot.py
, side 322), 5.39 (animate_Taylor_series.py
, side 326), A.1 (sequence_limits.py
, side 671), A.4 (loan.py
, side 672), A.14 (sin_Taylor_series_diffeq.py
, side 676), 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 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
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: 30/9-6/10 (kalenderuke 40)
Foreleser: Ole Christian Lingjærde
Pensum: kap 7 i (dictionaries, strings)
Oppgaver i plenum: 5.14 (read_2columns.py
, side 315) fra
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
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: 7/10-13/10 (kalenderuke 41)
Midttermineksamen.
Uke 9
Dato: 14/10-20/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), 7.10 (Hello.py
, side 474),
7.11 (F2.py
, side 474) fra
Tekstfilene som trengs til oppgave 5.16 og 6.7 kan lastes ned her: density_air.txt, density_water.txt, human_evolution.txt
Anbefalte innleveringsoppgaver (frist 18/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
,
5.19 (fit_pendulum_data.py
, side 318),
6.14 (temperature_data.py
, side 407) 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.
Mer informasjon om
Uke 10
Dato: 21/10-27/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.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
Oppgave 7.25 refererer til klassen Polynomial
. En oppdatert version av denne klassen er beskrevet i
på side 130, og koden kan lastes ned herfra:
Anbefalte innleveringsoppgaver (frist 25/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
Oppgave 8.4 refererer til klassen BankAccountP
i .
Klassen finnes på side 122, og py-fil med koden kan lastes ned herfra:
Mer informasjon om
Uke 11
Dato: 28/10-3/11 (kalenderuke 44)
Foreleser: Ole Christian Lingjærde
Pensum: kap 9 i (OOP), kap 1 i
Anbefalte innleveringsoppgaver (frist 1/11 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
Mer informasjon om
Uke 12
Dato: 4/11-10/11 (kalenderuke 45)
Forelesere: Ole Christian Lingjærde
Pensum: Kap 1 og 2 i (ODEer og systemer av ODEer)
Anbefalte innleveringsoppgaver (frist 8/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
Mer informasjon om
Uke 13
Dato: 11/11-17/11 (kalenderuke 46)
Forelesere: Joakim Sundnes
Pensum: Ingen ordinære forelesninger, men det blir en eller to forelesninger om det obligatoriske prosjektet.
Obligatoriske innleveringsoppgaver (frist 15/11 kl 16.00):
Uke 14
Dato: 18/11-24/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.