̽»¨¾«Ñ¡

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.