IN3110/IN4110 vil ikke bli gjennomført høsten 2024.
IN4110 – Problemløsning med høynivå-språk
Beskrivelse av emnet
Kort om emnet
Emnet gir en innføring i mer avanserte sider ved script- og programmeringsspråket Python, bl.a. objektorientert programmering, regulære uttrykk, interaksjon med operativsystemet, plattform-uavhengig kode, effektiv design av programsystemer med tidskritiske operasjoner, utvidelser i kompilerte språk som C/C++, data-analyse og web-programmering. Emnet gir også en grunnleggende innføring i script-språket Bash, testing og dokumentering av kode, og versjonskontrollsystem git. Spesiell vekt legges på praktisk problemløsning med et fokus på interessante og studierelevante oppgaver.
Hva lærer du?
Etter å ha tatt emnet:
- har du kjennskap til mer avanserte sider ved programmerings-språket Python, inkludert bruk av regulære uttrykk og interaksjon med operativsystemet.
- kan du skrive script i Python og Bash for å automatisere egne arbeidsoppgaver.
- har du kjennskap til versjonskontrollsystemet git og hvordan kode kan dokumenteres og testes.
- kan du bruke vektorisering til å skrive effektive programmer i Python.
- kan du kombinere Python med kompilerte programmeringsspråk som C og C++.
- kan du skrive et web brukergrensesnitt til Python programmer.
- kan du bruke Python-verktøy for avansert data-analyse og maskinlæring.
- 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 å utvide Python med kode skrevet i C/C++ (extending Python).
- vil du lære å kjøre data-analyser og maskinlæring med avanserte Python-pakker (Pandas og scikit-learn).
Opptak til emnet
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.
Anbefalte forkunnskaper
IN1000 – Introduksjon til objektorientert programmering eller IN1900 – Introduksjon i programmering for naturvitenskapelige anvendelser
IN1010 – Objektorientert programmering eller IN1910 – Programmering for naturvitenskapelige anvendelser
Overlappende emner
- 10 studiepoeng overlapp med IN3110 – Problemløsning med høynivå-språk.
- 10 studiepoeng overlapp med INF3331 – Problemløsning med høynivå-språk (videreført).
- 10 studiepoeng overlapp med INF4331 – Problemløsning med høynivå-språk (videreført).
- 5 studiepoeng overlapp med INF3330 – Problemløsning med høynivå-språk (nedlagt).
- 5 studiepoeng overlapp med INF4330 – Problemløsning med høynivå-språk (nedlagt).
- 5 studiepoeng overlapp med 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.
Som eksamensforsøk i dette emnet teller også forsøk i følgende tilsvarende emner: IN3110 – Problemløsning med høynivå-språk, INF3331 – Problemløsning med høynivå-språk (videreført), INF4331 – Problemløsning med høynivå-språk (videreført)
Hjelpemidler til eksamen
Alle hjelpemidler tillatt
Eksamensspråk
Du kan besvare eksamen på norsk, svensk, dansk eller engelsk.
Karakterskala
Emnet bruker karakterskala bestått/ikke bestått. Les mer om karakterskalaen.
Mer om eksamen ved UiO
- Kildebruk og referanser
- Tilrettelegging på eksamen
- Trekk fra eksamen
- Syk på eksamen / utsatt eksamen
- Begrunnelse og klage
- Ta eksamen på nytt
- Fusk/forsøk på fusk
Andre veiledninger og ressurser finner du på fellessiden om eksamen ved UiO.