Fagets øvingsopplegg er obligatorisk, og består av øvinger med teorioppgaver, programmeringsoppgaver og refleksjonsoppgaver. Det kan være lurt å ta vare på refleksjonsnotater samlet, i en refleksjonsdagbok, og kopiere svarene over i øvingssystemet.

Noen av oppgavene er svært vanskelige. Du trenger ikke få til alt!

Vi har prøvd å sørge for et spekter av vanskegrad i hver øving, så alle skal få noe å bryne seg på. Det er ikke sikkert du vil få til alle oppgavene, men det er ingen grunn til bekymring! Det viktigste er at du klarer å få til nok oppgaver til å få øvingen godkjent, og om du klarer å få til noen flere enn det, så ligger du trolig godt an.

For mer om programmeringsoppgaver og eksamen, se eksamenssiden.

Trenger du hjelp, se nederst på denne siden.

Øvingsopplegg

Rammene for øvingsopplegget er som følger:

  • Det er 13 øvinger. For å få godkjent øvingsopplegget må du få godkjent 8 av dem.

  • På toppen av hver øving er det oppgitt hvor mange oppgaver du må løse for å få øvingen godkjent. Godkjenning baserer seg på det beste forsøket ditt. En øving er godkjent straks det står Succeeded i feltet Status, også om du siden gjør nye forsøk som feiler.

  • Øvingene leveres ut ukentlig og har 12 dagers frist. Dato og tidspunkt for hver tidsfrist ser du i margen til venstre for oppgaven inne i INGInious.

  • Oppgavene leveres individuelt. Å kopiere løsninger fra andre er ikke tillatt.

De samme reglene gjelder for obligatoriske øvinger som for eksamen: Kok og annen fusk kan medføre utestengning fra NTNU og fratakelse av retten til å gå opp til eksamen ved andre institusjoner under universitets- og høyskoleloven inntil ett år. Dette gjelder også om man medvirker til at andre koker.

Øvingssystem

Vi bruker INGInious som øvingssystem. Øvingene ligger inne i systemet, og man leverer også sine besvarelser der.

For å lagre svarene dine kan du levere øvingen, selv om du ikke er ferdig.

  • Det går fint å levere halvferdige øvinger, og du kan levere så mange ganger du vil.

  • Du finner gamle leveringer i margen til venstre.

Programmeringsøvingene gjøres i Python.

I øvingssystemet finner du også en sandkasseversjon av emnet, dit øvingene kopieres etter at leveringsfristen har gått ut, så du kan fortsette å øve deg på dem, men da uten å få dem godkjent.

Løsningsforslag ligger ikke i INGInious, men gjøres tilgjengelig via Blackboard etter fristen. Disse gir grundige forklaringer på hvorfor de ulike løsningene er riktige, og kan være svært nyttig lesning, selv om du klarte å få øvingen godkjent.

Fremdriftsplan

Øvingene dukker opp i INGInious etterhvert, og du ser tidsfristen inne i systemet – men her følger en oversikt over hvilke temaer som omhandles når. Som forelesningene, så følger disse temaene pensumheftet, der øving 13 dekker forelesning 13 og 14.

Øving Tilgjengelig Leveringsfrist
1. Problemer og algoritmer 21.08 08:00 01.09 16:00
2. Datastrukturer 28.08 08:00 08.09 16:00
3. Splitt og hersk 04.09 08:00 15.09 16:00
4. Rangering i lineær tid 11.09 08:00 22.09 16:00
5. Rotfaste trestrukturer 18.09 08:00 29.09 16:00
6. Dynamisk programmering 25.09 08:00 08.10 20:00
7. Grådighet og stabil matching 02.10 08:00 13.10 16:00
8. Traversering av grafer 09.10 08:00 20.10 16:00
9. Minimale spenntrær 16.10 08:00 27.10 16:00
10. Korteste vei fra én til alle 23.10 08:00 03.11 16:00
11. Korteste vei fra alle til alle 30.10 08:00 10.11 16:00
12. Maksimal flyt 06.11 08:00 17.11 16:00
13. NP-kompletthet 13.11 08:00 24.11 16:00

Hjelp til øvinger

For å få hjelp til øvingene, kan du oppsøke læringsassistenter som er tilgjengelige hele uken (hverdager, uke 35–47, fra og med 28.08).

  • Digital øvingsveiledning foregår i Zoom.

  • Fysisk øvingsveiledning foregår på rom A4-156.

Ukedag Fysisk Digitalt
Mandag 12:15–18:00 08:15–18:00
Tirsdag 10:15–16:00 08:15–18:00
Onsdag 12:15–16:00 08:15–18:00
Torsdag 10:15–16:00 08:15–18:00
Fredag 10:15–16:00 08:15–16:00

For å få hjelp, enten digitalt eller fysisk, stiller du deg i kø her:

Assistentene skal først og fremst hjelpe med øvingene. De kan også svare på andre faglige spørsmål, men dem kan du også gjerne stille via andre kanaler.

Frivillig poengtavle

Noen av programmeringsoppgavene i øvingene kan, dersom man ønsker det, telle mot en poengtavle (high score-liste) der man kan konkurrere med andre om plassering om hvem som løser problemet mest effektivt. Akkurat hvordan effektivitet måles vil variere (f.eks. klokketid, antall operasjoner av en viss type, e.l.); dette er beskrevet i oppgavene det gjelder. En lavere score er alltid bedre.

  • Poengtavlen er frivillig, og man må aktivt oppgi at man vil delta. Om man deltar vil man opptre med fullt navn.

Poengtavlen er kun ment å være motiverende for dem som synes sånt er gøy. Om du ikke synes det høres morsomt ut å delta, kan du trygt ignorere den!

Det er en poengtavle per øving. Du finner disse under «Scoreboards» i venstremargen i øvingssystemet (etter å ha gått inn i Øvinger), eller via knappen nedenfor: