IDATA1001
Programmering 1
Sist undervist 2022
Høst
Ålesund
Norsk
Om emnet
Faglig innhold
Dette emnet skal dekke følgende tema:
I delemnet Programmering skal vi se nærmere på:
- grunnleggende objektorientert programdesign og objektorientert programmering - begreper innen objektorientering (klasser, klassehierarki, objekter og innkapsling)
- modellering/ design - datatyper, betingelser, valg, løkker, logiske og aritmetiske uttrykk, innlesing og utskrift
- tabeller, lister og samling
- samarbeid mellom objekter
- introduksjon til integrerte utviklingsmiljø (IDE) og debugging
I delemnet Datamaskinarkitektur skal vi se nærmere på:
- de viktigste komponentene og deres oppbygging og virkemåte.
- systemarkitektur og moderne prosessorarkitektur,
- tallsystemer, datarepresentasjon og data-aritmetikk
- introduksjon til digital elektronikk og boolsk algebra.
Læringsmål
Kunnskap : Kandidaten skal:
- kunne oppdatere sin kunnskap innen fagområdet
- kunne forklare hva et program er
- har kunnskap om enkle prinsipper innen objektorientert programmering som innkapsling, modularisering og samhandlende objekter
- kunne forklare hva som menes med en lagdelt arkitektur og hvorfor det er viktig i programvaredesign
- kunne forklare prinsipper for god kodedesign (kobling/ kohesjon), kodekvalitet og god kodestil
- har kunnskap om typiske disipliner i programvareutvikling (livssyklusen til et program som design, utvikling og testing) på et overordnet nivå
- kunne modellere klassediagram som består av flere klasser og kunne gjøre rede for grunnleggende diagrammer i UML (aktivitetsdiagram, klassediagram, sekvensdiagram, pakkediagrammer)
- har kunnskap om de viktigste komponentene i datamaskinen og hvordan de samvirker
- kunne forklare representasjon av de viktigste datatypene og hvordan datamaskinen prosesserer dem
- kunne forklare hvordan hovedkomponentene samspiller og hvordan de konfigureres for best mulig pris/ytelses-forhold (systemarkitektur).
Ferdigheter : Kandidaten skal:
- kunne sette opp programmiljø for å utvikle, teste og kjøre objektorienterte programmer
- kunne lage strukturert, oversiktlig og godt dokumentert programkode basert på prinsipper for god kodedesign
- kunne anvende klasser, kontrollstrukturer og samarbeid mellom objekter
- kunne anvende klasser fra biblioteker og finne fram i API-dokumentasjon
- kunne anvende grunnleggende objektorientert tankegang til å analysere og løse enklere problemer
Generell kompetanse. Kandidaten skal:
- kan forklare og gjøre bruk av sin kunnskap både innen hvert enkelt tema i faget og på tvers av temaene.
Læringsformer og aktiviteter
Undervisningsaktiviteter for hver uke: - Undervisning med faglærer med bruk av studentaktive læringsformer som for eksempel: Studentaktivt arbeid med lærerstyrte programmeringsoppgaver, bruk av omvendt klasserom med studentpresentasjoner - Veiledning på programmeringslab med læringsassistenter og veksling mellom individuell veiledning og godkjenning av programmeringsøvinger
Obligatoriske aktiviteter:
- Programmering: Det vil bli gitt obligatoriske øvinger, hvorav 90 % må være godkjent for å gå opp til eksamen. Obligatorisk oppmøte på lab for å få godkjent øvingene.
- Datamaskinarkitektur: Prosjektrapport