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: 19/8-25/8 (kalenderuke 34)

Foreleser: Joakim Sundnes

Pensum: kap. 1 og 2 i l?reboka (intro + formulas)

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: 26/8-1/9 (kalenderuke 35)

Foreleser: Ole Christian Lingj?rde

Pensum: kap. 2 og 3 i l?reboka (formulas, loops, lists)

Plenumsoppgaver: 2.1 (f2c_table_while.py, side 82), 2.3 (primes.py, side 82), fra Langtangen

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 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: 2/9-8/9 (kalenderuke 36)

Foreleser: Ole Christian Lingj?rde and Joakim Sundnes

Pensum: kap. 4 i l?reboka(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 Langtangen

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 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: 9/9-15/9 (kalenderuke 37)

Foreleser: Joakim Sundnes

Pensum: kap. 5 i l?reboka (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 Langtangen

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 oppgaveheftet

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: 16/9-22/9 (kalenderuke 38)

Foreleser: Ole Christian Lingj?rde

Pensum: kap. 6 i l?reboka (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 oppgaveheftet. I oppgave 5.7 skal man lese fra en fil, som kan lastes ned herfra: oxygen.txt

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: 23/9-29/9 (kalenderuke 39)

Foreleser: Joakim Sundnes

Pensum: Appendix A i ODE-boka (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 Langtangen

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 den nye l?reboka, 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 oppgaveheftet I oppgave 5.10 skal man lese fra to filer, som kan lastes ned herfra: temp_oct_1945.txt, temp_oct_2014.txt

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: 30/9-6/10 (kalenderuke 40)

Foreleser: Ole Christian Lingj?rde

Pensum: kap 7 i l?reboka (dictionaries, strings)

Oppgaver i plenum: 5.14 (read_2columns.py, side 315) fra boka

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

Andre anbefalte oppgaver: 6.15 (graph2.py, side 23), 6.16 (prime_ineff.py, side 24) fra oppgaveheftet, A.13 (arclength.py, side 675), 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: 7/10-13/10 (kalenderuke 41)

Midttermineksamen.


Uke 9

Dato: 14/10-20/10 (kalenderuke 42)

Foreleser: Joakim Sundnes

Pensum: kap 8 i l?reboka (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 Langtangen

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 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: 21/10-27/10 (kalenderuke 43)

Foreleser: Joakim Sundnes

Pensum: kap 8 og 9 i l?reboka (klasser, OOP)

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 er beskrevet i boka p? side 130, og koden kan lastes ned herfra: polynomial_class.py

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 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: 28/10-3/11 (kalenderuke 44)

Foreleser: Ole Christian Lingj?rde

Pensum: kap 9 i l?reboka (OOP), kap 1 i ODE-boka

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 oppgaveheftet

Mer informasjon om uke 44


Uke 12

Dato: 4/11-10/11 (kalenderuke 45)

Forelesere: Ole Christian Lingj?rde

Pensum: Kap 1 og 2 i ODE-boka (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 oppgaveheftet

Mer informasjon om uke 45


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): Prosjekt om modellering av smittsomme sykdommer


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.