Y-sektionens studienämnd är ansvariga för att informationen på guiden är aktuell. Om du hittar någonting som inte stämmer kan du mejla SNY.

Budgetår


Institution

IDA

Examinator

Jalal Maleki

Schemablock

Halvtermin

VT1: block 2
VT2: block 1

Huvudområden

Datateknik
Datavetenskap

Nivå

G1X

Tidsfördelning

8,0HP
Schemalagd tid: 64 timmar
Självstudietid: 149 timmar

SNY har ordet

Detta är en bra inledningskurs till programmering där man märker att man verkligen kan göra något på slutet.Som slutprojekt kan man t. ex. skriva ett animerat äventyrsspel, ett Othellospel med en tänkande datorspelare eller konstruera ett medicinskt beslutsstödssystem. Boken anses vara bra och innehåller många exempel. Den finns att läsa på internet (se ovan), men går även att köpa i fysisk form. Allt material finns på kurshemsidan. Under första perioden genomförs tre duggor, där varje dugga tar upp en del av kursen. Klarar man kraven för dessa så ersätter de den skriftliga tentamen som ges i slutet av läsåret. Tentan är alltså frivillig om man klarar duggorna. Laborationerna bedöms med betyget G, medan projektet och duggorna/tentan kan ge 3/4/5. Slutbetyget baseras i första hand på duggorna/tentan men kan höjas ett betygssteg om laborationer och projekt hållit deadline och genomförts mycket bra, samt att betyget på projektet är minst ett betygssteg högre än betyget på duggorna/skriftliga tentamen. Hållen deadline innebär att såväl labbar som projekt har lämnats in i tid. Höjningen kan bara ske under kursens ordinarie tid under vårterminen. Exempelvis ger betyg 3 på duggorna/tentan, med väl genomförda laborationer i tid, samt betyg 4 eller 5 på projektet slutbetyg 4.

Kursutvärderingar

Logga in för att läsa kursutväderingar

Innehåll

  • Handhavande av aktuella datorsystem.
  • Översiktlig introduktion till datavetenskap.
  • Programspråket SCHEME: uttryck, symboler, listor, variabler och omgivningar, lambda-uttryck, procedurer, högre-ordningens procedurer.
  • Abstraktion: procedurell abstraktion, dataabstraktion med abstrakta datatyper och gränssnitt.
  • Algoritmisk problemlösning: iterativa och rekursiva beräkningsprocesser.
  • Grundläggande datastrukturer: träd, köer och tabeller. Pekare. strömmar.
  • Programmeringsparadigmer: Funktionell, imperativ och objektorienterad programmering.
  • Modeller för evaluering av program: substitutionsmodellen, omgivningsmodellen.
  • Modellering av objekt och tillstånd. Tilldelning.
  • Organisation och modularitet i större program. Datadriven programmering.
  • Fördjupning i en del av dessa områden sker inom ramen för projektarbetet. Specifikation och dokumentation av ett projekt.

Mål

Kursens syfte är att studenterna ska utveckla förmåga att representera och lösa problem med hjälp av konstruktioner i datorspråk. Efter avslutad kurs ska studenterna kunna:

  • redogöra för grundläggande datavetenskapliga begrepp relaterade till programmering och programspråk, särskilt funktionella språk
  • metodiskt lösa programmeringsrelaterade problem i en interaktiv programutvecklingsmiljö
  • representera problem och lösningar till dessa i form av rekursiva och iterativa algoritmer och kunna uppskatta tid- och rumskomplexiteten för enklare fall
  • konstruera abstraktioner som möjliggör design av program som är lättförståliga, återanvändbara och kan underhållas lättare
  • genomföra ett mindre programmeringsprojekt

Examinationsmoment

PRA1 - 3,0 HP
Projekt (U,3,4,5)
KTR3 - 0,0 HP
Frivillig datordugga
KTR4 - 0,0 HP
Frivillig datordugga
DAT1 - 2,0 HP
Datortentamen (U,3,4,5)
LAB1 - 3,0 HP
Laborationer (U,G)

Organisation

Kursen består av föreläsningar, lektioner och laborationer. Föreläsningar och lektioner behandlar kursens grundläggande begrepp. Lektioner och laborationer ger exempel på deras användning genom programmeringsuppgifter. Kursen avslutas med ett mindre projektarbete. Kursen kräver en stor egen arbetsinsats utöver den schemalagda undervisningen.
Kursen pågår hela vårterminen.

Litteratur

Abelson, H, Sussman, G, J, Structure and Interpretation of Computer Programs. MIT Press. Boken finns även att tillgå på http://mitpress.mit.edu/sicp/full-text/book/book.html

Rekommenderade förkunskaper

Elementär datorvana.

Påbyggnadskurser

Programmering och datastrukturer
TDDC76 - 8,0 HP - HT1 block 2, HT2 block 2

Kommentarer

Logga in för att kunna läsa och skriva kommentarer.