Detaljert undervisningsplan
Løsning på gjennomgått i plenum legges ut på etter timen (send mail til Joakim Sundnes eller Ole Christian Lingjærde hvis dette ikke er gjort).
Anbefalte forberedelser til hver uke:
- Les det aktuelle kapittelet i
- Bruk litt tid på å gå gjennom plenumsoppgavene, og tenk gjennom hvordan oppgaven kan løses og mulige utfordringer.
- Sjekk også mappen med korte videoforklaringer på sentrale begreper i kurset (/studier/emner/matnat/ifi/IN1900/h22/ressurser/forklaringsvideoer)
Undervisningsuke 1 (kalenderuke 34; 22/8-28/8)
Oppgaver i plenum: 1.1 (1plus1.py
, side 42), 1.2
(hello_world.py
, side 43), 1.3 (seconds2years.py
, side 43) fra
Forelesninger: kap. 1 og 2 i (intro, formulas)
Foreleser: Joakim Sundnes
Anbefalte oppgaver: 1.1 (hello.py
, side 2), 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
Undervisningsuke 2 (kalenderuke 35; 29/8-4/9)
Oppgaver i plenum: 1.4
(length_conversion.py
, side 43), 1.12 (egg.py
, side 46), fra
Forelesninger: kap. 3 i (loops, lists)
Foreleser: Ole Christian Lingjærde
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
Obligatoriske innleveringsoppgaver: 2.2 (interest_rate.py
, side 3), 2.3 (population.py
, side 3),
2.4 (find_roots.py
, side 4) fra
Mer informasjon om
Undervisningsuke 3 (kalenderuke 36; 5/9-11/9)
Oppgaver i plenum: 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.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
Forelesninger: kap. 4 i (functions, if-tests)
Foreleser: Ole Christian Lingjærde
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
Obligatoriske innleveringsoppgaver (frist 9/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
Mer informasjon om
Undervisningsuke 4 (kalenderuke 37; 12/9-18/9)
Oppgaver i plenum: 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
Forelesninger: kap. 5 i (user input, error handling)
Foreleser: Joakim Sundnes
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
Obligatoriske innleveringsoppgaver (frist 16/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, 2 poeng) fra
Undervisningsuke 5 (kalenderuke 38; 19/9-25/9)
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
Forelesninger: kap. 6 i (arrays, plotting)
Foreleser: Joakim Sundnes
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
Obligatoriske innleveringsoppgaver (frist 23/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:
Undervisningsuke 6 (kalenderuke 39; 26/9-2/10)
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.
Forelesninger: kap 1 i (difference equations)
Foreleser: Ole Christian Lingjærde
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
Obligatoriske innleveringsoppgaver (frist 30/9 kl 17.00): 5.10 (temp_read_write.py
,
side 17, 2 poeng), 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, 2 poeng) fra
I oppgave 5.10 skal man lese fra to filer, som kan lastes ned herfra:
,
Undervisningsuke 7 (kalenderuke 40; 3/10-9/10)
Oppgaver i plenum: A.14 (sin_Taylor_series_diffeq.py
, side
676), 5.14 (read_2columns.py
, side 315) fra
Forelesninger: kap 7 i (dictionaries, strings)
Forelesere: Ole Christian Lingjærde
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
Obligatoriske innleveringsoppgaver (frist 7/10 kl 17.00):
6.13 (approx_abs.py
, side 23, 2 poeng), 6.14 (graph1.py
, side 23, 2 poeng)
A.2 (fibonacci.py
, side 41), A.4 (finding_pi.py
, side 42) fra
Undervisningsuke 8 (kalenderuke 41; 10/10-16/10)
Midttermineksamen.
Undervisningsuke 9 (kalenderuke 42; 17/10-23/10)
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
Forelesninger: kap 8 i (klasser)
Forelesere: Joakim Sundnes
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
Obligatoriske innleveringsoppgaver (frist 21/10 kl 17.00):
A.6 (lotka_volterra.py
, side 43, 2 poeng), 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.
Mer informasjon om
Undervisningsuke 10 (kalenderuke 43; 24/10-30/10)
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
Forelesninger: 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.
Forelesere: Joakim Sundnes
Anbefalte oppgaver: 8.7 (class_diff.py
, side 34)
fra
,
Obligatoriske innleveringsoppgaver (frist 28/10 kl 17.00):
8.1 (class_people.py
, side 31), 8.2 (right_triangle.py
, side 31, 2 poeng),
8.3 (F.py
, side 32, 2 poeng), 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:
Mer informasjon om
Undervisningsuke 11 (kalenderuke 44; 31/10-6/11)
Oppgaver i plenum: 9.4 (Polynomial_hier.py
, side 636)
fra
Forelesninger: kap 9 i (OOP), kap 2 i (ODEer)
Forelesere: Ole Christian Lingjærde
Anbefalte oppgaver: 9.3 (vector.py
, side 39)
fra
,
Obligatoriske innleveringsoppgaver (frist 4/11 kl 17.00):
8.7 (class_diff.py
, side 34, 2 poeng), 8.9 (Coords.py
, side 35, 3 poeng),
9.2 (polynomial.py
, side 39, 2 poeng)
fra
Mer informasjon om
Undervisningsuke 12 (kalenderuke 45; 7/11-13/11)
Oppgaver i plenum: 9.6 (PolarPoint.py
, side 636), E.21 (RK4_func.py
, side 811),
E.22 (RK4_class.py
, side 811) fra
Forelesninger: Kap 2 og 3 i (ODEer og systemer av ODEer)
Forelesere: Ole Christian Lingjærde
Obligatoriske innleveringsoppgaver (frist 11/11 kl 17.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, 2 poeng)
fra
Mer informasjon om
Undervisningsuke 13 (kalenderuke 46; 14/11-20/11)
Forelesninger: Ingen ordinær undervisning, men det blir satt opp orakeltimer for spørsmål om prosjektet. Tidspunkt og andre detaljer blir annonsert senere.
Obligatoriske innleveringsoppgaver: Totalt 25 poeng.. Filer som brukes i prosjektet ODESolver.py og beta_values.txt
Undervisningsuke 14 (kalenderuke 47; 21/11-27/11)
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.