Emne - Objektorientert programmering og algoritmer - AIS1002
AIS1002 - Objektorientert programmering og algoritmer
Om emnet
Det tilbys ikke lenger undervisning i emnet.
Vurderingsordning
Vurderingsordning: Muntlig eksamen
Karakter: Bokstavkarakterer
Vurdering | Vekting | Varighet | Delkarakter | Hjelpemidler |
---|---|---|---|---|
Muntlig eksamen | 100/100 |
Faglig innhold
Emnet er organisert i to hovedtema: objektorientert programmering og algoritmer og datastrukturer.
Innen objektorientert programmering vil følgende tema gjennomgås:
- Grunnleggende objektorientert programdesign og objektorientert programmering
- Grunnleggende begreper innen objektorientering (klasser, klassehierarki, objekter og innkapsling)
- Introduksjon til modellering og design
- Samarbeid mellom objekter
- Introduksjon til integrerte utviklingsmiljø (IDE), debugging, enhetstesting og versjonskontroll
Innen algoritmer og datastrukturer vil følgende tema gjennomgås:
- Grunnleggende teknikker og algoritmer (f.eks. rekursjon, sortering, søking, hashing, grafalgoritmer, andre velkjente algoritmer)
- Grunnleggende datastrukturer (et utvalg av følgende: tabeller/array, lister, kø, stakk, trær, grafer)
- Introduksjon til kompleksitetsteori (O-notasjon, tids- og plassforbruk)
Merk at emnets tema ikke nødvendigvis undervises sekvensielt, men kan gjerne være flettet sammen.
Hvor inngående hvert tema studeres kan variere fra år til år. Andre tema kan også bli presentert. Mer informasjon om pensum blir tilgjengeliggjort ved starten av semesteret.
Læringsutbytte
Kunnskap
- Kandidaten kan forklare enkle prinsipper innen objektorientert programmering som innkapsling, modularisering og samhandlende objekter.
- Kandidaten kan formulere prinsipper for god kodedesign (kobling/kohesjon), lagdelt arkitektur, kodekvalitet og god kodestil og hvorfor det er viktig i programvaredesign.
- Kandidaten kan forklare typiske disipliner i programvareutvikling (livssyklusen til et program) på et overordnet nivå.
- Kandidaten kan modellere klassediagram som består av flere klasser med aggregering og komposisjon gitt en problemstilling.
- Kandidaten kan identifisere og sammenlikne grunnleggende algoritmer for bl.a. sortering, søking og grafhåndtering.
- Kandidaten kan beskrive og forklare ulike grunnleggende datastrukturer (f.eks. arrayer/tabeller, lenkede lister, køer, stakker, trær og grafer).
- Kandidaten kan forklare konseptet rekursiv tankegang/metode ved problemløsning og programmering.
- Kandidaten kan på overordnet nivå klassifisere og sammenligne enkle algoritmers kompleksitet.
Ferdigheter
- Kandidaten kan anvende grunnleggende objektorientert tankegang til å analysere og løse enklere problemer.
- Kandidaten kan sette opp enkle programmiljø for å utvikle, teste og kjøre objektorienterte programmer.
- Kandidaten kan lage strukturert, oversiktlig og godt dokumentert programkode basert på prinsipper for god kodedesign.
- Kandidaten kan anvende klasser (også fra biblioteker), kontrollstrukturer og samarbeid mellom objekter, samt finne fram i API-dokumentasjon.
- Kandidaten kan benytte et integrert utviklingsmiljø (IDE), debugger, enhetstester og versjonskontroll.
- Kandidaten kan benytte grunnleggende algoritmer for å løse praktiske programmeringsproblemer effektivt.
- Kandidaten har noe erfaring med avanserte datastrukturer, med særlig vekt på trær og grafer.
Generell kompetanse
- Kandidaten kan benytte algoritmisk tenkning ("computational thinking") og kybernetisk systemtekning til å løse ingeniørfaglige problemer og bryte større ingeniørfaglige problemer ned i mindre delproblemer som kan løses hver for seg og settes sammen til overordnede systemer.
- Kandidaten kan drøfte etiske aspekter ved anvendelse av algoritmer for automatiserte beslutninger.
Læringsformer og aktiviteter
Emnet benytter hovedsaklig en blanding av forelesninger, øvingstimer og praktisk rettet laboratoriearbeid/prosjektarbeid som læringsformer. Det benyttes en konstruktivistisk tilnærming til læring, med stort fokus på problemløsing og praktisk anvendelse av teori.
Mer om vurdering
Endelig karakter settes basert på en helhetlig vurdering av mappen. Mappen består av arbeid som utføres og dokumenteres gjennom digitale innleveringer gjennom semesteret. Både individuelt arbeid og gruppearbeid kan forekomme. Arbeidet er utformet for å bidra til at studentene oppnår de ønskede læringsmål i emnet, og det gis tilbakemeldinger underveis. Ved utsatt eksamen gjennomføres muntlig prøve.
Spesielle vilkår
Krever opptak til studieprogram:
Automatisering og intelligente systemer (BIAIS)
Anbefalte forkunnskaper
- AIS1001 Mikrokontrollere
- INGA1001 Ingeniørfaglig innføringsemne
Forkunnskapskrav
Emnet har ikke forkunnskapskrav.
Det er et krav at innrullerte studenter er tatt opp på teknologistudiet som emnet er tilknyttet.
Kursmateriell
Oppdatert pensumoversikt gjøres tilgjengelig innen oppstart av semesteret og vil typisk også inneholde engelskspråklig materiale.
Studiepoengreduksjon
Emnekode | Reduksjon | Fra | Til |
---|---|---|---|
IDATA1001 | 6.5 | HØST 2021 | |
IDATA2302 | 3.5 | HØST 2021 | |
AIS1003 | 7.5 | HØST 2023 |
Ingen
Versjon: 1
Studiepoeng:
10.0 SP
Studienivå: Grunnleggende emner, nivå I
Undervisningsspråk: Norsk
Sted: Ålesund
- Datateknikk og informasjonsvitenskap
- Program/system-utvikling
- Ingeniør
Eksamensinfo
Vurderingsordning: Muntlig eksamen
- Termin Statuskode Vurdering Vekting Hjelpemidler Dato Tid Eksamens- system Rom *
- Vår ORD Muntlig eksamen 100/100
-
Rom Bygning Antall kandidater
- * Skriftlig eksamen plasseres på rom 3 dager før eksamensdato. Hvis mer enn ett rom er oppgitt, finner du ditt rom på Studentweb.
For mer info om oppmelding til og gjennomføring av eksamen, se "Innsida - Eksamen"