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
IDAExaminator
Jalal MalekiSchemablock
HalvterminVT1: block 2
VT2: block 1
Huvudområden
DatateknikDatavetenskap
Nivå
G1XTidsfördelning
8,0HPSchemalagd 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 HPProjekt (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.htmlRekommenderade 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. |