IDATA1001

Programmering 1

Sist undervist 2022

Høst

Ålesund

Norsk

Oversikt

Snitt

C

3,38

0,15

Ståprosent

95 %

2 poeng

Karakterfordeling
Snitt over tid
Ståprosent over tid

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