Universitetet i Linköping Institutionen för datavetenskap Anders Haraldsson

Storlek: px
Starta visningen från sidan:

Download "Universitetet i Linköping Institutionen för datavetenskap Anders Haraldsson"

Transkript

1 1 2 TDDC66 Datorsystem och programmering TDDC67 Funktionell programmering Programmering i Lisp, examinator TDDC67 föreläsare i Lisp Peter Dalenius examinator TDDC66 kursassistent i Lisp + ett stort antal labbassistenter Mer info http: // // Kan göras på många olika sätt och man kan ta ställning till: Val av programmeringsparadigm, sätt att programmera: Imperativ programmering Objektorienterad programmering Funktionell programmering Logikprogrammering Val av programmeringsspråk: C/C++ Java Python, Ruby Ada Lisp/Scheme Haskell Problemlösning Problemområden som man programmerar: Enkla problem-> större problem Algoritmiska problem Programmering runt bibliotek (detaljer göms) Skriptprogrammering med web Grafikprogrammering 3 4 Vi har för C- och D-programmen valt följande strategi: Programmeringsparadigmer: Funktionell programmering (Termin 1 åk 1) -> Imperativ programmering (Termin 2 åk 1) -> Objektorienterad programmering (Termin 3 åk 2) Programmeringsspråk: Lisp (Termin 1 åk 1) -> Ada, C/C++ (Termin 2 åk 1) -> Java, C++ (Termin 3 åk 2) Problemlösning Vi börjar med enkla problem och löser successivt större problem. Vi avslutrar denna kurs med ett projekt. Efter många års lärare i programmering är det viktigaste i en första kurs att lära sig: Bryt ned ett stort problem till små enheter / funktioner. Princip: En enhet löser ett problem Ge bra namn på enheten och de ingående data som skall bearbetas. Princip: Abstraktion, program skall vara läsbara och förståeliga i sitt sammanhang Sedan kan man gå vidare me mer specifika programmeringssätt och programmeringsspråk.

2 5 6 Om man läser en datautbildning med mycket matematik och speciellt Diskret matematik är det speciellt lämpat att börja med den funktionella programmeringsparadigmen. Vår erfarenhet och nästan alla studenterna har under alla år tyckt att detta är ett bra sätt att börja programmeringsundervisning, och senare gå vidare med ytterligare ett antal mer specifika programmeringskurser. Efter de första 3 åren har ni fått stor erfarenhet av programmering och tillämpat detta i många andra kurser. Då skall ni kunna lösa stora klasser av problem och i stort kunna använda vilket programmeringsspråk som helst. Att börja med funktionell programmering, vad innebär detta? Innehåller ett antal svårigheter, i början kommer vi att direkt arbeta med begreppet rekursion, där vi visar många olika modeller och likheten med matematiken. Kräver mycket övning, och när man kommit över tröskeln så är det ju lätt och självklart. Vad är LISP? Ett egentligen gammalt språk, som möjliggör att illustrera många olika programmeringsparadigmer och programmeringskonstruktioner. Många konstruktioner i Lisp har dock återkommit i nya språk som Python och Ruby. 7 8 Funktionell programmering + Lisp medför att modellen att programmera blir nytt för alla studenterna. Vi börjar från början med mycket enkla exempel, programmeringen byggs upp allt eftersom. Kräver mycket övning. För nybörjare: Lyssna på oss lärare, följ bok och laborationsanvisningarna. För de som har programmerat tidigare: RISK! Detta är troligen nytt även för er och ni får inte underskatta svårigheterna i sättet att programmera och slarva med laborationerna. Varför har vi två kurser i programmering under höstterminen Delvis beroende på reformer där kurser inte skulle bli för stora i poängomfång och dels att moment har flyttats mellan kurser. Men Lisp-delen börjar i första kursen och går sedan (mer eller mindre) osynligt över i andra kursen i slutet av period 1. Ge akt på scheman. Alla Lisp-laborationer finns i samma labb-häfte. Kursen ger något nytt för ALLA studenterna. Många lärosäten i Sverige använder denna modell som första språk. Som alternativ till Lisp använder en del ML och Haskel (t ex Chalmers). På Y-programmet används Lisp-dialekten Scheme i sin första kurs: PRAM - Programmering, abstraktion och modellering.

3 9 10 Vad har vi gjorde sedan förra året. Vi hade sedan några år sedan senarelagt moment i laborationsserien, så att det hamnade i period 2, vilket medförde att belastningen blev fört stor i period 2 och man tyckte att man skulle flytta över moment till första perioden. Vi har även i år startat tidigare i prop-perioden med datorintroduktion. Vi börjar tidigare med Lisp-föreläsningarna, har flyttat en laboration (almanackan) till period 1. Dessutom passar det bra eftersom man gjort förändringar i matematiken, som läses parallellt under hösten. All den diskreta matematiken läses i period 1, med bättre möjlighet till samordning med den funktionella programmeringen. Vissa smärre förändringar i labbserien, bättre fokus på testning i en av laborationerna. Gruppstorlek: Lisplaborationer 1 och 2 i TDDC66 gör enskilt. Nytt för i år är att laborationerna fr o m labb 3 kan göras i labbgrupper om 2. Mål för Programmering i Lisp programmering, principer, problemlösning * strukturera program i mindre delar * bryta ned problem * läsbarhet av program huvudsaklig metodik * funktionell programmering, rekursion * abstrakta datatyper * bearbeta strukturerade dataobjekt, sekvenser, trädstrukturer mm datavetenskapliga begrepp och strukturer, likheter med matematiska begrepp i Diskret matematik (som ni läser parallellt) generella programspråksbegrepp språket Lisp - dialekten Common Lisp * listhantering * högre ordningens funktioner * imperativa konstruktioner programutveckling och hjälpmedel med Allegro * editor * felsökning projektuppgift * självständig programmering * gruppdiskussioner * dokumentation Allegro Common Lisp Emacs (programeditor) Lispsystem på skolan Föreläsningar - introducerar begreppen - ger översikt - sammanfattar och reflekterar - ligger alltid lite före Lispsystem på egna datorer Följ länkar från kursens www-sidor. Speciellt finns Allegro CL för Windows och Linux från Franz. Kurslitteratur Haraldsson, Programmering i Lisp, Studentlitteratur Kursmaterial i Funktionell programmering och Lisp - laborationer - Allegro CL via Emacs Gruppövning/Lektioner - systemgenomgångar - laborationsförberedelser - frågor, diskussioner - övningar Laborationer - frågor, diskussioner - övningar - arbeta med de obligatoriska uppgifterna - redovisa laborationer Egen tid - läs bok, torröva - lös många problem - öva, testa, experimentera på systemen - arbeta med de obligatoriska uppgifterna Framför allt - kom igång nu på en gång, bli inte efter - det räcker inte med de schemalagda laborationerna

4 13 14 Examination i Programmering i Lisp I kursen TDDC66 Datorsystem och programmering skall de tre första laborationerna redovisas tillsammans med två duggor. Momentet benämns: LAB1 Inledande laborationskurs (U, G), 2 hp. I kursen TDDC67 Funktionell programmering och Lisp skall resterande laborationer utföras samt en projektuppgift. Skriftlig tentamen på hela delen Programmering i Lisp, dvs moment från båda kurserna. Momenten benämns: TEN1 Skriftlig tentamen efter andra perioden (U,3,4,5), 3 hp. LAB1 Laborationer (U,G), 3 hp UPG1 Projektuppgift (U, G), 2 hp Lisp historik 1959 John McCarthy - Lisp 1.5 LISP = LISt Processing language utvecklats inom forskningsmiljön inom artificiell intelligens INTERLISP/Medley (BBN, Xerox, Lispmaskiner) MacLISP (MIT) Scheme (används i Data och programstrukturer) I samband med kommersialisering av språket togs ny standard fram: Common Lisp Lisp/Scheme används idag bl a som inbyggt programspråk i tillämpningar: - emacs bygger på elisp - cadsystem, autocad - utvecklingsmiljöer för spelindustrin Se gärna Franz www-sidor (som tillhandahåller Allegro Lispsystem) och som grundläggande programmeringsspråk i många datautbildningar Egenskaper i Lisp - enkel syntax (men mycket parenteser) - interaktion med språket sker genom en REPL (Read-Eval-Print-Loop) - språket är i grund interpretativt, dvs program beräknas av en intepretator - program kan kompileras till maskinkod - möjlighet att själv anropa de centrala interpretatorfunktionerna eval och apply (funcall) - man kan själv under beräkning skapa nya program som ges till beräkning, som används för sk makroutveckling - en delmängd pure Lisp kan enkelt beskrivas i Lisp, funktionen eval. Beskriver språkets semantik Lisp s påverkan på andra språk Ett stort antal konstruktioner har sitt ursprung från Lisp-språket - listor - extern notation av dataobjekt - rekursion - minneshantering - garbage collection - eval-modell - funktioner som data, lambda-uttryck Många nya programspråk idag har idag inkluderat många konstruktioner från Lisp inbyggt i språket symboler och listor (Python, Ruby) Funktioner som dataobjekt, lambda-uttryck, closure (Python, Ruby, C++) Top loop (REPL) (Python, Ruby)

5 17 Funktionell programmering Har nu kommit på ropet igen. Microsoft kommer med F#. Ett Ericsson-utvecklat språk Haskell används idag av många företag (t ex Klarna) Nu är det för att få enkla program som lättare går att kompilera till parallellitet, tex när vi har fler kärnor i en dator. Man vill komma ifrån den imperativa modellen där man i programmet där man lägger satser sekventiellt (efter varandra) vilket gör det svårare att utnyttja parallelliteten.

Syfte : Lära sig objektorienterad programmering Syfte : Lära sig programmering i ett OO-språk vilket?

Syfte : Lära sig objektorienterad programmering Syfte : Lära sig programmering i ett OO-språk vilket? Jonas Kvarnström jonkv@ida.liu.se 2013 Syfte : Lära sig objektorienterad programmering Syfte : Lära sig programmering i ett OO-språk vilket? Rena OO-språk (allt är objekt) Scala, Smalltalk, Eiffel, Ruby,

Läs mer

Imperativ programmering

Imperativ programmering Imperativ programmering 1DL126 3p Imperativ programmering Jesper Wilhelmsson ICQ: 20328079 Yahoo: amigajoppe MSN / epost: jesperw@it.uu.se Rum: 1335 Tel: 471 1046 Imperativ programmering Vilka programmeringsspråk

Läs mer

Välkomna till DIT012 IPGO

Välkomna till DIT012 IPGO Välkomna till DIT012 IPGO 1 Lärare och Handledare Kursansvariga, examinatorer, föreläsare och handledare Joachim von Hacht, hajo@chalmers.se, 772 1003 Handledare (se även kurssida) Alexander Sjösten, sjosten@chalmers.se

Läs mer

Programmering, grundkurs

Programmering, grundkurs DNR LIU-2018-02499 1(5) Programmering, grundkurs Programkurs 8 hp Introduction to Computer Programming TDDE44 Gäller från: 2019 VT Fastställd av Programnämnden för elektroteknik, fysik och matematik, EF

Läs mer

Välkomna till DIT012 IPGO. Tyvärr en bug i Google Docs: Sidnummer stämmer inte alltid. Alla anteckningar börjar på sidan 1.

Välkomna till DIT012 IPGO. Tyvärr en bug i Google Docs: Sidnummer stämmer inte alltid. Alla anteckningar börjar på sidan 1. Välkomna till DIT012 IPGO 1 Tyvärr en bug i Google Docs: Sidnummer stämmer inte alltid. Alla anteckningar börjar på sidan 1. Lärare och Handledare Kursansvariga, examinatorer, föreläsare och handledare

Läs mer

Objektorienterad Programmering (TDDC77)

Objektorienterad Programmering (TDDC77) Objektorienterad Programmering (TDDC77) Föreläsning I: kursinfo, att programmera datorer, första programmet Ahmed Rezine IDA, Linköpings Universitet Hösttermin 2015 Outline Hemsida Organization Examination

Läs mer

Grundläggande programmering med matematikdidaktisk inriktning för lärare som undervisar i gy eller komvux gy nivå, 7,5 hp

Grundläggande programmering med matematikdidaktisk inriktning för lärare som undervisar i gy eller komvux gy nivå, 7,5 hp Grundläggande programmering med matematikdidaktisk inriktning för lärare som undervisar i gy eller komvux gy nivå, 7,5 hp Dag Wedelin, bitr professor, och K V S Prasad, docent Institutionen för data- och

Läs mer

Introduktion till Datalogi DD1339. Föreläsning 1 8 sept 2014

Introduktion till Datalogi DD1339. Föreläsning 1 8 sept 2014 Introduktion till Datalogi DD1339 Föreläsning 1 8 sept 2014 Kontaktuppgifter & Info: Kurskod: DD1339, 19hp Kursomgång: inda14 Kursansvarig: Christian Smith, ccs@kth.se Michael Minock, minock@kth.se Dilian

Läs mer

Kursinformation Grundkurs i programmering med Python

Kursinformation Grundkurs i programmering med Python Hösten 2009 Två kurser i en 5DV105 - Programmeringsteknik med Python och MATLAB Programmeringsteori Föreläsningar om Python Färdighetsövning Laborationer i Python 5DV106 - Programmering i Python Praktisk

Läs mer

Programmeringsteknik II

Programmeringsteknik II Programmeringteknik II Kursintroduktion http://www.it.uu.se/edu/course/homepage/prog2/vt18/ 2018-03-19 Programmeringsteknik II 2018-03-19 1 / 9 Lärare Carl Nettelblad (kursansvarig) Anna Eckerdal Biträdande

Läs mer

TDIU01 (725G67) - Programmering i C++, grundkurs

TDIU01 (725G67) - Programmering i C++, grundkurs TDIU01 (725G67) - Programmering i C++, grundkurs Introduktion till kursen och programmering Eric Elfving Institutionen för datavetenskap 2 september 2014 Översikt Kursinformation Personal Kursmål Upplägg

Läs mer

Objektorienterad programmering

Objektorienterad programmering Objektorienterad programmering Aletta Nylén http://user.it.uu.se/~aletta Epost: aletta.nylen@it.uu.se Rum: 1216 Kursinfo Lärare: Aletta Nylén Jesper Wilhelmsson Litteratur: Object-Oriented Software Development

Läs mer

729G06 Föreläsning 1 Objektorienterad programmering

729G06 Föreläsning 1 Objektorienterad programmering Översikt Formalia Vad är objektorienterad programmering 729G06 Föreläsning 1 Objektorienterad programmering Definieria klasser Skapa och använda objekt Annika Silvervarg Ciltab, IDA, Linköpings universitet

Läs mer

Objektorienterad Programmering (TDDC77)

Objektorienterad Programmering (TDDC77) Objektorienterad Programmering (TDDC77) Föreläsning I: kursinfo, att programmera datorer, första programmet Ahmed Rezine IDA, Linköpings Universitet Hösttermin 2017 Outline Hemsida Organization Examination

Läs mer

Outline. Objektorienterad Programmering (TDDC77) Kursinfo. Outline. Hemsida. Organization. Ahmed Rezine Examination. Webreg.

Outline. Objektorienterad Programmering (TDDC77) Kursinfo. Outline. Hemsida. Organization. Ahmed Rezine Examination. Webreg. Outline Objektorienterad (TDDC77) Föreläsning I: kursinfo, att programmera datorer, första programmet Ahmed Rezine IDA, Linköpings Universitet Hösttermin 2017 Kursinfo Outline I hemsida: http://www.ida.liu.se/~tddc77

Läs mer

Objektorienterad programmering

Objektorienterad programmering 1(5) Objektorienterad programmering och Java Programkurs 7 hp Object Oriented Programming and Java TDDE30 Gäller från: 2018 VT Fastställd av Programnämnden för data- och medieteknik, DM Fastställandedatum

Läs mer

Datavetenskapligt program, 180 högskolepoäng

Datavetenskapligt program, 180 högskolepoäng GÖTEBORGS UNIVERSITET UTBILDNINGSPLAN IT-fakultetsstyrelsen 2013-02-14 Datavetenskapligt program, 180 högskolepoäng (Computer Science, Bachelor s Programme, 180 credits) Grundnivå/First level 1. Fastställande

Läs mer

TDP001/TDP002. Introduktionsföreläsning. Eric Elfving Institutionen för Datavetenskap (IDA)

TDP001/TDP002. Introduktionsföreläsning. Eric Elfving Institutionen för Datavetenskap (IDA) TDP001/TDP002 Introduktionsföreläsning Eric Elfving Institutionen för Datavetenskap (IDA) Översikt Innovativ Programmering Personal Handhavande av datorsystem (TDP001) Syfte och mål Examinationsmoment

Läs mer

IT OCH PROGRAMMERING I SKOLAN. Jan Erik Moström Peter Vinnervik

IT OCH PROGRAMMERING I SKOLAN. Jan Erik Moström Peter Vinnervik IT OCH PROGRAMMERING I SKOLAN Jan Erik Moström Peter Vinnervik VILKA ÄR VI OCH VAD KOMMER VI ATT PRATA OM? Jan Erik Moström - undervisar på institutionen för datavetenskap Peter Vinnervik - doktorand vid

Läs mer

Programmering. Seminarier i datavetenskap, datorteknik och informationsteknik. Niklas Broberg

Programmering. Seminarier i datavetenskap, datorteknik och informationsteknik. Niklas Broberg Programmering Seminarier i datavetenskap, datorteknik och informationsteknik Niklas Broberg niklas.broberg@chalmers.se 2017-09-21 Hur många från Datavetenskap? Datateknik? Informationsteknik? Översikt

Läs mer

Program & programmering

Program & programmering Program & programmering Vad är program? Satser och instruktioner, toggla igenom exempel Program på olika nivåer, för olika maskiner, för olika saker Tolka program; kompilator, intepretator, binärbytekod,

Läs mer

TDDE44 Programmering, grundkurs

TDDE44 Programmering, grundkurs TDDE44 Programmering, grundkurs Föreläsning 1 Jody Foo, jody.foo@liu.se Föreläsningsöversikt Vad ingår i "Programmering, grundkurs"? Kursöversikt Datorer, program, programmeringsspråk Kort om nästa föreläsning

Läs mer

Grundläggande programmering med matematikdidaktisk inriktning för lärare i åk 7-9

Grundläggande programmering med matematikdidaktisk inriktning för lärare i åk 7-9 DNR LIU-2018-00861 1(5) Grundläggande programmering med matematikdidaktisk inriktning för lärare i åk 7-9 Uppdragsutbildning 7.5 hp Basic programming with mathematics didactic focus for teachers in grades

Läs mer

Programmering. Seminarier i datavetenskap, datorteknik och informationsteknik. Niklas Broberg

Programmering. Seminarier i datavetenskap, datorteknik och informationsteknik. Niklas Broberg Programmering Seminarier i datavetenskap, datorteknik och informationsteknik Niklas Broberg niklas.broberg@chalmers.se 2018-09-27 Hur många från Datavetenskap? Datateknik? Informationsteknik? Översikt

Läs mer

Föreläsning 1: Introduktion till kursen

Föreläsning 1: Introduktion till kursen (17 januari 2017 F1 1 ) Föreläsning 1: Introduktion till kursen Lärare: Anna Eckerdal och Tom Smedsaas samt ca 20 assistenter Registrering / avregistrering Undervisningsformer: föreläsningar och laborationer

Läs mer

TDDC74 PROGRAMMERING: ABSTRAKTION OCH MODELLERING VT 2017

TDDC74 PROGRAMMERING: ABSTRAKTION OCH MODELLERING VT 2017 FÖRELÄSNING 1 TDDC74 PROGRAMMERING: ABSTRAKTION OCH MODELLERING VT 2017 Introduktion till kursen Schemespråkets grunder Enkla exempel Jalal Maleki Institutionen för datavetenskap Linköpings universitet

Läs mer

Programmering - abstraktion och modellering

Programmering - abstraktion och modellering 1(9) Programmering - abstraktion och modellering Programkurs 8 hp Programming: Abstraction and Modelling TDDC74 Gäller från: 2018 VT Fastställd av Programnämnden för elektroteknik, fysik och matematik,

Läs mer

Datamodeller och databaser, avancerad kurs

Datamodeller och databaser, avancerad kurs 1(6) Datamodeller och databaser, avancerad kurs Programkurs 6 hp Advanced Data Models and Databases TDDD43 Gäller från: Fastställd av Programnämnden för data- och medieteknik, DM Fastställandedatum LINKÖPINGS

Läs mer

Föreläsning 1: Introduktion till kursen

Föreläsning 1: Introduktion till kursen (18 januari 2015 F1.1 ) Föreläsning 1: Introduktion till kursen Lärare: Anna, Carl, Johan, Tom och ca 20 assistenter Registrering / avregistrering Undervisningsformer: föreläsningar och laborationer Kursmaterial

Läs mer

Exempel på typer av datorspråk EXCEL

Exempel på typer av datorspråk EXCEL 1 2 TDDB82 Perspektiv på Datateknik Breddgivande föreläsning Datorspråk Programmeringsparadigmer Programmeringsspråk Konstruktioner i programmeringsspråk Litteratur: Brookshear, Computer Science - an overview,

Läs mer

Programming in C# and.net Framework

Programming in C# and.net Framework DNR LIU-2017-00432 1(5) Programmering i C# och.net Framework Programkurs 4 hp Programming in C# and.net Framework TDDD49 Gäller från: 2017 VT Fastställd av Programnämnden för data- och medieteknik, DM

Läs mer

Grundläggande programmering med matematikdidaktisk inriktning för lärare i åk 7-9

Grundläggande programmering med matematikdidaktisk inriktning för lärare i åk 7-9 DNR LIU-2018-00861 1(5) Grundläggande programmering med matematikdidaktisk inriktning för lärare i åk 7-9 Uppdragsutbildning 7.5 hp Basic programming with mathematics didactic focus for teachers in grades

Läs mer

Föreläsning 2. Operativsystem och programmering

Föreläsning 2. Operativsystem och programmering Föreläsning 2 Operativsystem och programmering Behov av operativsystem En dator så som beskriven i förra föreläsningen är nästan oanvändbar. Processorn kan bara ges enkla instruktioner såsom hämta data

Läs mer

Föreläsning 1: Introduktion till kursen

Föreläsning 1: Introduktion till kursen (16 januari 2016 F1.1 ) Föreläsning 1: Introduktion till kursen Lärare: Anna Eckerdal och Tom Smedsaas samt ca 20 assistenter Registrering / avregistrering Undervisningsformer: föreläsningar och laborationer

Läs mer

Datorsystem och programmering

Datorsystem och programmering Datorsystem och programmering Peter Dalenius petda@ida.liu.se Institutionen för datavetenskap Linköpings universitet 2010-08-23 Målsättning Kursens syfte är dels att studenterna ska skaffa sig erfarenheter

Läs mer

EDAA01 Programmeringsteknik - fördjupningskurs

EDAA01 Programmeringsteknik - fördjupningskurs EDAA01 Programmeringsteknik - fördjupningskurs Läsperiod lp 1+2 (Ges även lp 3) 7.5 hp anna.axelsson@cs.lth.se sandra.nilsson@cs.lth.se http://cs.lth.se/edaa01ht Förkunskapskrav: Godkänd på obligatoriska

Läs mer

Introduktionsmöte Innehåll

Introduktionsmöte Innehåll Introduktionsmöte Innehåll Introduktion till kursen Kursens mål och innehåll Undervisning Datavetenskap (LTH) Introduktionsmöte ST 2019 1 / 14 EDAA01 Programmeringsteknik - fördjupningskurs Ingen sommarkurs

Läs mer

Imperativ och Funktionell Programmering i Python #TDDD73

Imperativ och Funktionell Programmering i Python #TDDD73 Imperativ och Funktionell Programmering i Python #TDDD73 Fredrik Heintz, IDA fredrik.heintz@liu.se @FredrikHeintz Mål med föreläsningen Du ska bli grymt inspirerad att lära dig programmera! Du ska känna

Läs mer

Programutveckling med Java 7.5 p, ht 2007 (D0019N) STUDIEHANDLEDNING - ALLMÄN INFORMATION

Programutveckling med Java 7.5 p, ht 2007 (D0019N) STUDIEHANDLEDNING - ALLMÄN INFORMATION Programutveckling med Java 7.5 p, ht 2007 (D0019N) STUDIEHANDLEDNING - ALLMÄN INFORMATION Hej, jag heter Ingela Johansson och hälsar dig välkommen till kursen Programutveckling med Java. Den är på 7.5

Läs mer

PROGRAMMERING. Ämnets syfte. Kurser i ämnet

PROGRAMMERING. Ämnets syfte. Kurser i ämnet PROGRAMMERING Ämnet programmering behandlar hur mjukvaror skapas, anpassas och utvecklas samt programmeringens roll i informationstekniska sammanhang som datorsimulering och praktisk datoriserad problemlösning.

Läs mer

Föreläsning 5 5DV086 - Programspråk

Föreläsning 5 5DV086 - Programspråk Föreläsning 5 5DV086 - Programspråk Petter Ericson (pettter@cs.umu.se) Umeå University 6 februari, 2015 Haskell-frågor? Haskell-tips do-syntax State-monaden Dagens plan Programspråksteori Varför? Vad?

Läs mer

Kurs-PM HI2011, Programutveckling i funktionella och objektorienterande spra k, P3 VT17

Kurs-PM HI2011, Programutveckling i funktionella och objektorienterande spra k, P3 VT17 Kurs-PM HI2011, Programutveckling i funktionella och objektorienterande spra k, P3 VT17 Bakgrund och kursmål Kursens mål är att ge kunskaper inom funktionell programmering, fördjupade kunskaper inom objektorienterad

Läs mer

Introduktion till programmering

Introduktion till programmering Introduktion till programmering TDDC66 Datorsystem och programmering Föreläsning 1 Peter Dalenius Institutionen för datavetenskap 2014-09-01 Översikt Vad är programmering? Kursens målsättning och organisation

Läs mer

Datavetenskapliga programmet, 180 högskolepoäng

Datavetenskapliga programmet, 180 högskolepoäng Utbildningsplan Sida 1 av 5 2013-04-18 Dnr: MDH 2.1.2-178/13 liga programmet, 180 högskolepoäng Bachelor Program in Computer Science, 180 Credits Denna utbildningsplan gäller för utbildning som ges efter

Läs mer

Introduktion till programmering. Programspråk och paradigmer

Introduktion till programmering. Programspråk och paradigmer Introduktion till programmering Programspråk och paradigmer Vad är ett programspråk? Aprogramming languageis a formal constructedlanguagedesigned to communicate instructions to a machine, particularly

Läs mer

Introduktion till programmering

Introduktion till programmering Introduktion till programmering TDDC66 Datorsystem och programmering Föreläsning 1 Peter Dalenius Institutionen för datavetenskap 2013-09-02 Översikt Vad är programmering? Kursens målsättning och organisation

Läs mer

Programmering. Seminarier i datavetenskap, datorteknik och informationsteknik. Niklas Broberg niklas.broberg@chalmers.

Programmering. Seminarier i datavetenskap, datorteknik och informationsteknik. Niklas Broberg niklas.broberg@chalmers. Programmering Seminarier i datavetenskap, datorteknik och informationsteknik Niklas Broberg niklas.broberg@chalmers.se 2015-09-24 Hur många från Datavetenskap? Datateknik? Informationsteknik? Översikt

Läs mer

Design och konstruktion av grafiska gränssnitt

Design och konstruktion av grafiska gränssnitt Design och konstruktion av grafiska gränssnitt Peter Börjesson Interaktionsdesign Tillämpad informationsteknologi Chalmers/GU Idag Kort kursinfo Lab info Föreläsning - Vad utmärker ett bra användargränssnitt?

Läs mer

b) NY KURS (Ange kursnamn, årskurs, önskad läsperiod, schemablocksplacering. Bifoga utkast till kursplan.)

b) NY KURS (Ange kursnamn, årskurs, önskad läsperiod, schemablocksplacering. Bifoga utkast till kursplan.) LINKÖPINGS TEKNISKA HÖGSKOLA Tekniska fakultetskansliet FÖRSLAG TILL PROGRAMNÄMND INFÖR ÅR NÄMND/NÄMNDER: Förslagsställare (Namn, funktion, Inst/Enhet) FÖRSLAGET GÄLLER: a) EXISTERANDE KURS (Ange kurskod

Läs mer

Föreläsning 1: Intro till kursen och programmering

Föreläsning 1: Intro till kursen och programmering Föreläsning 1: Intro till kursen och programmering Kursens hemsida http:www.it.uu.se/edu/course/homepage/prog1/vt11 Studentportalen http://www.studentportalen.uu.se Lärare: Tom Smedsaas, Tom.Smedsaas@it.uu.se

Läs mer

Datavetenskapligt program, 180 högskolepoäng

Datavetenskapligt program, 180 högskolepoäng Utbildningsplan Dnr G 2018/270 IT-FAKULTETEN Datavetenskapligt program, 180 högskolepoäng Computer Science, Bachelor's Programme, 180 Programkod: N1COS 1. Fastställande Utbildningsplanen är fastställd

Läs mer

Kurs-PM fo r HI1027, Objektorienterad programmering, period 1 HT15

Kurs-PM fo r HI1027, Objektorienterad programmering, period 1 HT15 Kurs-PM fo r HI1027, Objektorienterad programmering, period 1 HT15 Aktuell kursplan finns på studentwebben, http://www.kth.se/student/kurser/kurs/hi1027. Lärare och examinator Anders Lindström, anders.lindstrom@sth.kth.se,

Läs mer

729G75: Programmering och algoritmiskt tänkande. Tema 1. Föreläsning 1 Jody Foo

729G75: Programmering och algoritmiskt tänkande. Tema 1. Föreläsning 1 Jody Foo 729G75: Programmering och algoritmiskt tänkande Tema 1. Föreläsning 1 Jody Foo Föreläsningsöversikt Kursinfo / Om kursen Algoritmer Objektorienterad programmering i praktiken terminologi använda objekt

Läs mer

TDDD78, TDDE30, 729A85 Objektorienterad programmering och Java

TDDD78, TDDE30, 729A85 Objektorienterad programmering och Java jonas.kvarnstrom@liu.se 2018 TDDD78, TDDE30, 729A85 Objektorienterad programmering och Java Kursinformation Examinator, kursledare: Jonas Kvarnström Fråga kommentera avbryt! Utan OO har vi datastrukturer

Läs mer

729G75: Programmering och algoritmiskt tänkande. Tema 1, föreläsning 1 Jody Foo

729G75: Programmering och algoritmiskt tänkande. Tema 1, föreläsning 1 Jody Foo 729G75: Programmering och algoritmiskt tänkande Tema 1, föreläsning 1 Jody Foo Föreläsningsöversikt Kursinfo / Om kursen Algoritmer Objektorienterad programmering i praktiken terminologi använda objekt

Läs mer

Design och konstruktion av grafiska gränssnitt

Design och konstruktion av grafiska gränssnitt Design och konstruktion av grafiska gränssnitt Armin Nezirevic Peter Börjesson Interaktionsdesign Tillämpad informationsteknologi Chalmers/GU Idag Vad utmärker ett bra användargränssnitt? Kort kursinfo

Läs mer

6. Ge korta beskrivningar av följande begrepp a) texteditor b) kompilator c) länkare d) interpretator e) korskompilator f) formatterare ( pretty-print

6. Ge korta beskrivningar av följande begrepp a) texteditor b) kompilator c) länkare d) interpretator e) korskompilator f) formatterare ( pretty-print Datalogi I, grundkurs med Java 10p, 2D4112, 2002-2003 Exempel på tentafrågor på boken Lunell: Datalogi-begreppen och tekniken Obs! Andra frågor än dessa kan komma på tentan! 1. Konvertera talet 186 till

Läs mer

Tentamen i. TDDC67 Funktionell programmering och Lisp

Tentamen i. TDDC67 Funktionell programmering och Lisp 1 Linköpings tekniska högskola Institutionen för datavetenskap Anders Haraldsson Tentamen i TDDC67 Funktionell programmering och Lisp och äldre kurser TDDC57 Programmering, Lisp och funktionell programmering

Läs mer

Programvaruteknik, hp

Programvaruteknik, hp 1 (6) Utbildningsplan för: Programvaruteknik, 120-180 hp Software Engineering, 120-180 Credits Allmänna data om programmet Programkod Tillträdesnivå Diarienummer TPVAG Grundnivå MIUN 2010/1734 Högskolepoäng

Läs mer

Exempel på typer av datorspråk EXCEL

Exempel på typer av datorspråk EXCEL 1 2 TDDC10 Perspektiv på datateknik/datavetenskap TDDC79 Perspektiv på informationsteknologi TDP001 Handhavande av datormiljö (D, IT, C, IP) Breddgivande föreläsning Historik Datorspråk Programmeringsparadigmer

Läs mer

Universitetet i Linköping Institutionen för datavetenskap Anders Haraldsson 2

Universitetet i Linköping Institutionen för datavetenskap Anders Haraldsson 2 Anders Haraldsson 1 Anders Haraldsson 2 Dagens föreläsning Programmering i Lisp Fö 5 - Funktioner - lambda-uttryck (avs 7.1) - funcall och function (avs 7.2) - Högre ordningens funktioner (avs 7.) - Iteratorer

Läs mer

SKOLFS. beslutade den XXX 2017.

SKOLFS. beslutade den XXX 2017. 1 (11) Föreskrifter om ändring i Skolverkets föreskrifter (SKOLFS 2010:247) om ämnesplan för ämnet programmering i gymnasieskolan, inom kommunal vuxenutbildning på gymnasial nivå och inom vidareutbildning

Läs mer

TDDD78, TDDE30, 729A85 Objektorienterad programmering och Java

TDDD78, TDDE30, 729A85 Objektorienterad programmering och Java jonas.kvarnstrom@liu.se 2019 TDDD78, TDDE30, 729A85 Objektorienterad programmering och Java Kursinformation Examinator, kursledare: Jonas Kvarnström Fråga kommentera avbryt! Utan OO har vi datastrukturer

Läs mer

Dagens föreläsning Programmering i Lisp Fö 5

Dagens föreläsning Programmering i Lisp Fö 5 Anders Haraldsson 1 Dagens föreläsning Programmering i Lisp Fö 5 - Funktioner - lambda-uttryck (avs 7.1) - funcall och function (avs 7.2) - Högre ordningens funktioner (avs 7.3) - Iteratorer - Egenskaper

Läs mer

TDDC74 Lab 04 Muterbara strukturer, omgivningar

TDDC74 Lab 04 Muterbara strukturer, omgivningar TDDC74 Lab 04 Muterbara strukturer, omgivningar 1 Översikt I den här laborationen kommer ni att lära er mer om: Tillstånd, och skillnader mellan ren funktionell programmering och imperativ. Skillnaden

Läs mer

729G06 Programmering och logik. Info om pythondelen & introduktion till objektorienterad programmering.

729G06 Programmering och logik. Info om pythondelen & introduktion till objektorienterad programmering. 729G06 Programmering och logik Info om pythondelen & introduktion till objektorienterad programmering. Översikt Kursinformation Vad är objektorienterad programmering Skapa och använda objekt Enstaka objekt

Läs mer

TDDD73-funktionell och imperativ programmering i python

TDDD73-funktionell och imperativ programmering i python 1 (7) TDDD73-funktionell och imperativ programmering i python Sändlista Inger Erlander Klein Tea Nygren Siv Söderlund Fredrik Wiklund Peter Dalenius Peter Dalenius Kurskod Examinator TDDD73 Peter Dalenius

Läs mer

Imperativ programmering i ADA

Imperativ programmering i ADA 1 (6) Imperativ programmering i ADA Sändlista Kurskod Examinator Inger Klein Jonas Detterfelt Siv Söderlund Johan Högdahl Torbjörn Jonsson Tommy Färnqvist TDDC68 Torbjörn Jonsson Kursen gavs Årskurs 1

Läs mer

TDDC77 Objektorienterad Programmering

TDDC77 Objektorienterad Programmering TDDC77 Objektorienterad Programmering Föreläsning 1 Sahand Sadjadee IDA, Linköpings Universitet Hösttermin, 2018 Outline Kursinfo Introduktion till Programmering Java Development Kit(JDK) Kursinfo Hemsida

Läs mer

Datavetenskapliga programmet, Allmän inriktning 180 högskolepoäng

Datavetenskapliga programmet, Allmän inriktning 180 högskolepoäng Utbildningsplan Sida 1 av 5 Programkod: TCV20 OINR liga programmet, Allmän inriktning 180 högskolepoäng Bachelor Program in Computer Science, General Profile 180 Credits Denna utbildningsplan är fastställd

Läs mer

Introduktion till Unix och Linux

Introduktion till Unix och Linux Introduktion till Unix och Linux TDDC66 Datorsystem och programmering Föreläsning (i) Peter Dalenius Institutionen för datavetenskap 2014-08-22 2 3 Vem riktar sig kursen till? Hjälp! Jag fattar noll! Rädda

Läs mer

Utbildningsplan för Datavetenskapligt program, 180 högskolepoäng

Utbildningsplan för Datavetenskapligt program, 180 högskolepoäng IT-FAKULTETEN Dnr G 2015/217 Utbildningsplan för Datavetenskapligt program, 180 högskolepoäng Computer Science, Bachelor s Programme, 180 higher education credits Grundnivå/programkod (N1COS) 1. Fastställande

Läs mer

PROGRAMMERING. Ämnets syfte. Kurser i ämnet

PROGRAMMERING. Ämnets syfte. Kurser i ämnet PROGRAMMERING Ämnet programmering behandlar programmeringens roll i informationstekniska sammanhang som datorsimulering, animerad grafik, praktisk datoriserad problemlösning och användaranpassad konfiguration

Läs mer

Utbildningsplan för Datavetenskapligt program, 180 högskolepoäng

Utbildningsplan för Datavetenskapligt program, 180 högskolepoäng IT-FAKULTETEN Dnr G 2017/62 Utbildningsplan för Datavetenskapligt program, 180 högskolepoäng Computer Science, Bachelor s Programme, 180 credits Grundnivå/programkod (N1COS) 1. Fastställande Utbildningsplanen

Läs mer

Grundkurs i programmering - intro

Grundkurs i programmering - intro Grundkurs i programmering - intro Linda Mannila 4.9.2007 Dagens föreläsning Allmän kursinformation: mål, syfte, upplägg, examination, litteratur, etc. Hur arbetar en dator? Hur vi får datorn att förstå

Läs mer

Programmering, grundkurs, 8.0 hp, Elektro, KTH, hösten 2010. Programmering: att instruera en maskin att utföra en uppgift, kräver olika språk:

Programmering, grundkurs, 8.0 hp, Elektro, KTH, hösten 2010. Programmering: att instruera en maskin att utföra en uppgift, kräver olika språk: Föreläsning 1 OH: Övergripande information Programmering: att instruera en maskin att utföra en uppgift, kräver olika språk: * maskinspråk = ettor och nollor, kan bara en maskin förstå. * programmeringsspråk

Läs mer

DD1361 Programmeringsparadigm Föreläsning 1: Intro

DD1361 Programmeringsparadigm Föreläsning 1: Intro DD1361 Programmeringsparadigm Föreläsning 1: Intro Per Austrin KTH 2015-08-31 https://www.kth.se/social/course/dd1361/ Dagens föreläsning Översikt om: 1. Ämnet 2. Lärarna 3. Kursformalia (betyg etc) Dagens

Läs mer

Föreläsning 1: Intro till kursen och programmering

Föreläsning 1: Intro till kursen och programmering Föreläsning 1: Intro till kursen och programmering λ Kursens hemsida http:www.it.uu.se/edu/course/homepage/prog1/mafykht11/ λ Studentportalen http://www.studentportalen.uu.se UNIX-konton (systemansvariga

Läs mer

Objekt-orienterad Programmering och Design. TDA551 Alex Gerdes, HT-2016

Objekt-orienterad Programmering och Design. TDA551 Alex Gerdes, HT-2016 Objekt-orienterad Programmering och Design TDA551 Alex Gerdes, HT-2016 Kursteamet Dr. Alex Gerdes kursansvarig, föreläsare Dr. Niklas Broberg examinator, (föreläsare) Fredrik Sjöholm handledare Johan Andersson

Läs mer

FÖRELÄSNING 1 PERSONAL TDDC74 PROGRAMMERING: ABSTRAKTION OCH MODELLERING VT 2017 SYFTE EXAMINATION ORGANISATION

FÖRELÄSNING 1 PERSONAL TDDC74 PROGRAMMERING: ABSTRAKTION OCH MODELLERING VT 2017 SYFTE EXAMINATION ORGANISATION TDDC74 PROGRAMMERING: ABSTRAKTION OCH MODELLERING VT 2017 Jalal Maleki Institutionen för datavetenskap Linköpings universitet jalal.maleki@liu.se FÖRELÄSNING 1 Introduktion till kursen Schemespråkets grunder

Läs mer

TDP002 Imperativ programmering

TDP002 Imperativ programmering TDP002 Imperativ programmering Introduktion till kursen och python Eric Elfving Institutionen för datavetenskap (IDA) Översikt Programmering En introduktion Python Köra och skriva program Python grunderna

Läs mer

Tentamen. Datalogi I, grundkurs med Java 10p, 2D4112, Lördagen den 30 november 2002 kl , salar E33, E34

Tentamen. Datalogi I, grundkurs med Java 10p, 2D4112, Lördagen den 30 november 2002 kl , salar E33, E34 Tentamen Datalogi I, grundkurs med Java 10p, 2D4112, 2002-2003 Lördagen den 30 november 2002 kl 9.00 14.00, salar E33, E34 Inga hjälpmedel 30 poäng ger säkert godkänt, 40 poäng ger betyg 4 50 poäng ger

Läs mer

PROGRAMMERINGSMETODIK

PROGRAMMERINGSMETODIK PROGRAMMERINGSMETODIK 1 Metaforer för programmering Hierarki, modularitet, överblick Programbyggnadskunskap Utvecklingsprocessen Kategorier av programspråk Programmering som allmän konst Metaforer för

Läs mer

Datavetenskapliga programmet, Spel, 180 högskolepoäng

Datavetenskapliga programmet, Spel, 180 högskolepoäng Utbildningsplan Sida 1 av 5 2012-01-20 liga programmet, Spel, 180 högskolepoäng Bachelor Program in Computer Science, Computer Games Development, 180 Credits Denna utbildningsplan gäller för utbildning

Läs mer

MATLAB-modulen Programmering i MATLAB. Höstterminen 2015 3hp. Vad är MATLAB

MATLAB-modulen Programmering i MATLAB. Höstterminen 2015 3hp. Vad är MATLAB MATLAB-modulen Programmering i MATLAB Höstterminen 2015 3hp Vad är MATLAB MatrixLaboratory Avancerad miniräknare. Maskinoberoende programmeringsspråk högnivåspråk (Python, Javascript) - interaktivt Behöver

Läs mer

Kursanalys DD1312 hösten 2008

Kursanalys DD1312 hösten 2008 Kursanalys DD1312 hösten 2008 Författare: Vahid Mosavat Nedan följer en kursanalys av kursen programmeringsteknik och matlab för I1. Kursanalysen är framtaget av kursledarens anteckningar under kursens

Läs mer

Objekt-orienterad Programmering och Design. TDA552 Alex Gerdes, HT-2018

Objekt-orienterad Programmering och Design. TDA552 Alex Gerdes, HT-2018 Objekt-orienterad Programmering och Design TDA552 Alex Gerdes, HT-2018 Kursteamet Dr. Alex Gerdes examinator och föreläsare (Dr. Niklas Broberg föreläsare) Handledare: Sólrún Halla Einarsdóttir Yazan Ghafir

Läs mer

Beslut om fastställande: - - Behörighetskrav: -

Beslut om fastställande: - - Behörighetskrav: - Dnr: HS 2014/146 Fakulteten för humaniora och samhällsvetenskap Utbildningsplan IT-design Programkod: SGITD Beslut om fastställande: - - Programmets benämning: IT-design Study programme in IT-Design Högskolepoäng:

Läs mer

Utbildningsplan Dnr CF 52-66/2007. Sida 1 (7)

Utbildningsplan Dnr CF 52-66/2007. Sida 1 (7) Utbildningsplan Dnr CF 52-66/2007 Sida 1 (7) PROGRAMMET FÖR SIMULERING OCH DATASPELSUTVECKLING, 180 HÖGSKOLEPOÄNG Programme in Simulation and Computer Game Development, 180 ECTS Utbildningsplanen är inrättad

Läs mer

Kursanalys för Programmeringsparadigm 2D1361, läsperiod 1 och 2 läsåret 2005/2006

Kursanalys för Programmeringsparadigm 2D1361, läsperiod 1 och 2 läsåret 2005/2006 Leif Kusoffsky 2005 - dec - 07 Nada KTH Kursanalys för Programmeringsparadigm 2D1361, läsperiod 1 och 2 läsåret 2005/2006 Kursdata Momentindelning Kursen genomförd Kursledare Kurslitteratur Antal studenter

Läs mer

Översikt. Programmering tillämpningar och datastrukturer. Vad kursen täcker. Lärare. Rekommenderad litteratur. Kursmål 729G58 (HKGBB7)

Översikt. Programmering tillämpningar och datastrukturer. Vad kursen täcker. Lärare. Rekommenderad litteratur. Kursmål 729G58 (HKGBB7) Översikt Programmering tillämpningar och datastrukturer 729G58 (HKGBB7) Kursinformation Objektorienterad programmering: Klasser och objekt Arv Polymorfism Metoder Programexempel Programmering tillämpningar

Läs mer

Presentation. Curriculum Vitae för Lars Kristiansson, 2004-10-28-1 -

Presentation. Curriculum Vitae för Lars Kristiansson, 2004-10-28-1 - Presentation Jag heter Lars Kristiansson. Jag är född 1963 och har studerat datavetenskap på Göteborgs Universitet. Jag har nu avslutat utbildningen, och är alltså filosofie kandidat i datalogi. Nyligen

Läs mer

Fakulteten för ekonomi, kommunikation och IT. Utbildningsplan SGITD. IT-Designprogrammet. Study programme in IT-Design

Fakulteten för ekonomi, kommunikation och IT. Utbildningsplan SGITD. IT-Designprogrammet. Study programme in IT-Design Fakulteten för ekonomi, kommunikation och IT Utbildningsplan IT-Designprogrammet Programkod: Programmets benämning: Inriktningar: SGITD IT-Designprogrammet Study programme in IT-Design Affärssystem och

Läs mer

Kursanalys DA2003 sommar 2017

Kursanalys DA2003 sommar 2017 Kursanalys DA2003 sommar 2017 Kursdata Programmeringsteknik, DA2003, 6 högskolepoäng Kursledare: Emma Riese Examinator: Olle Bälter Kursen är en webbkurs som inte kräver någon fysisk närvaro, den avslutande

Läs mer

LADDA NER LÄSA. Beskrivning. Programmering i Python PDF LÄSA ladda ner

LADDA NER LÄSA. Beskrivning. Programmering i Python PDF LÄSA ladda ner Programmering i Python PDF LÄSA ladda ner LADDA NER LÄSA Beskrivning Författare: Erik Lindblad. Python har sedan sin födelse för drygt 15 år sedan vuxit till ett av de mest använda programmeringsspråken

Läs mer

Ny programansvarig och visioner för Datateknik, 300hp

Ny programansvarig och visioner för Datateknik, 300hp Ny programansvarig och visioner för Datateknik, 300hp 9 maj 2011 Bakgrund: Vem är Patrik? Utb.: student Chalmers F 1992 1995, doktorand 2000, nu docent i programvaruteknik på D&IT-institutionen. Undervisning:

Läs mer

Objektorienterad programmering och Java

Objektorienterad programmering och Java Objektorienterad programmering och Java Sändlista Inger Klein Jonas Detterfelt Siv Söderlund Johan Högdahl Jonas Kvarnström Peter Dalenius Kurskod Examinator TDDC69 Jonas Kvarnström Kursen gavs Årskurs

Läs mer

Datavetenskapliga programmet, Mjukvaruutveckling 180 högskolepoäng

Datavetenskapliga programmet, Mjukvaruutveckling 180 högskolepoäng Utbildningsplan Sida 1 av 5 2012-01-20 liga programmet, Mjukvaruutveckling 180 högskolepoäng Bachelor Program in Computer Science, Software Development, 180 Credits Denna utbildningsplan gäller för utbildning

Läs mer

Inledande programmering med C# (1DV402) Introduktion till. eller så här är det tänkt att fungera.

Inledande programmering med C# (1DV402) Introduktion till. eller så här är det tänkt att fungera. Introduktion till kursen eller så här är det tänkt att fungera. Upphovsrätt för detta verk Detta verk är framtaget i anslutning till kursen Inledande programmering med C# vid Linnéuniversitetet. Du får

Läs mer