INF4331 – Problemløsning med høynivå-språk
Beskrivelse av emnet
Kort om emnet
Det gis en innføring i grunnleggende og avanserte sider ved script-språket Python, bl.a. datastrukturer, regulære uttrykk, interaksjon med operativsystemet, plattform-uavhengig kode, avansert tekstprosessering, effektiv design av programsystemer med tidskritiske operasjoner og utvidelser i kompilerte språk som C/C++. Emnet gir også en grunnleggende innføring i script-språket Bash og programmering, utviklingsverktøy som git og github, kompilering/linking, optimalisering og profilering av C, C++ kode. Spesiell vekt legges på praktisk problemløsning.
Hva lærer du?
- har du kjennskap til grunnleggende og mer avanserte sider ved scriptspråk, Bash og programmeringsspråket Python, bl. a. datastrukturer, regulære uttrykk og interaksjon med operativsystemet.
- kan du skrive script i Python og Bash for å automatisere egne arbeidsoppgaver.
- kan du bruke vektorisering til å skrive effektive programmer i Python.
- kan du kombinere Python med kompilerte programmeringsspråk som C, C++ og Fortran
- kan du skrive programmer som løser oppgaver fra ulike fagområder, som fysikk, medisin, biologi og finans.
- vil du få en dypere forståelse av mer avanserte sider ved Python-språket, for eksempel effektive numeriske beregninger ved bruk av vektorisering, utvidelse av Python med kode skrevet i C/C++ (extending Python) og integrasjon av Python i kompilerte programmer (embedding Python.
Opptak og adgangsregulering
Studenter må hvert semester søke og få plass på undervisningen og melde seg til eksamen i Studentweb.
Studenter tatt opp til andre masterprogrammer kan, etter søknad, få adgang til emnet hvis dette er klarert med eget program.
Dersom du ikke allerede har studieplass ved UiO, kan du søke om opptak til våre studieprogrammer, eller søke om å bli enkeltemnestudent.
Forkunnskaper
Anbefalte forkunnskaper
INF1000 – Grunnkurs i objektorientert programmering (videreført)/INF1100 – Grunnkurs i programmering for naturvitenskapelige anvendelser (videreført)
Overlappende emner
- 10 studiepoeng overlapp mot INF3331 – Problemløsning med høynivå-språk (videreført)
- 5 studiepoeng overlapp mot INF3330 – Problemløsning med høynivå-språk (nedlagt)
- 5 studiepoeng overlapp mot INF4330 – Problemløsning med høynivå-språk (nedlagt)
- 5 studiepoeng overlapp mot INF5660 – Avansert problemløsning med høynivå-språk (nedlagt)
Undervisning
2 timer forelesninger og 2 timer øvelser per uke. Forelesningene vil være en kombinasjon av ordinære forelesninger og veiledet prosjektarbeid og oppgaveløsning.
Eksamen
Mappeevaluering. Les mer om krav til innlevering av oppgaver, gruppearbeid og lovlig samarbeid under retningslinjer for obligatoriske oppgaver..
Hjelpemidler
Alle hjelpemidler tillatt
Karakterskala
Emnet bruker karakterskala bestått/ikke bestått. Les mer om karakterskalaen.
Begrunnelse og klage
Adgang til ny eller utsatt eksamen
Studenter som dokumenterer gyldig fravær fra ordinær eksamen, kan ta utsatt eksamen i starten av neste semester.
Det tilbys ikke ny eksamen til studenter som har trukket seg under ordinær eksamen, eller som ikke har bestått.
Trekk fra eksamen
Det er mulig å ta eksamen i emnet inntil tre ganger. Dersom du trekker deg fra eksamen etter fristen eller under eksamen, bruker du et eksamensforsøk.
Annet
Det er sterkt anbefalt å møte på første forelesning fordi det vil bli gitt viktig informasjon.