Imperativ och Funktionell Programmering i Python #TDDD73

Storlek: px
Starta visningen från sidan:

Download "Imperativ och Funktionell Programmering i Python #TDDD73"

Transkript

1 Imperativ och Funktionell Programmering i Python #TDDD73 Fredrik Heintz, IDA Mål med föreläsningen Du ska bli grymt inspirerad att lära dig programmera! Du ska känna till och förstå målen och upplägget med kursen. Du ska känna till och förstå kopplingen mellan TDDC66, TDDD73, TDDD63 och TATA65. Du ska ha sett ett Python-program och känna till den grundläggande terminologin. Du ska vara medveten om att det krävs mycket arbete att bli bra programmerare! 1

2 Autonoma farkoster på IDA 245kLOC header filer, 875kLOC C++, 600kLOC C, 300kLOC java, 150kLOC python Totalt mer än 2 millioner rader kod 2

3 Världen är beroende av mjukvara! De som verkligen förstår och kan utnyttja mjukvaruteknik äger framtiden Vem riktar sig kursen till? Hjälp! Jag fattar noll! Rädda mig! Ska man trycka på Enter nu?! Hur svårt kan det vara? Det är mig Google ringer när de har problem. Hur mycket kan jag om programmering redan? 3

4 Hur långt kommer vi i den här kursen? 4

5 Kursmål enligt kursplanen Efter avslutad kurs ska du kunna: redogöra för grundläggande datavetenskapliga begrepp relaterade till programmering och programspråk konstruera program i Python metodiskt lösa programmeringsrelaterade problem med hjälp av ett interaktivt arbetssätt med implementering, testning och felsökning formulera och implementera rekursiva och iterativa algoritmer konstruera abstraktioner med varierande grad av stöd i det underliggande språket Några roliga saker vi inte hinner med Hur man designar grafiska gränssnitt Hur datorer kommunicerar med varandra över nätverk Hur man lagrar information i databaser Hur man startar processer för att få saker att hända samtidigt Hur man hanterar större programmeringsprojekt Hur man gör appar Vi kommer att fokusera på grunderna i programmering och hur man etablerar goda vanor för att bli en bra programmerare. Allt det andra och mycket mer kommer längre fram. 5

6 Vad är ett program och vad är programmering? Programmering i ett nötskal program en uppsättning regler eller instruktioner med uppgift att styra en dators beräkningar (Nationalencyklopedin NE) programmering skrivande av instruktioner för en dators arbete (NE) komponenterna programspråket och dess konstruktioner processen principer för hur man utformar program resultatet hur program körs och hur de påverkar folk 6

7 Programutvecklingsprocessen Analys Förstå vilket problem som ska lösas! Specifikation Beskriv vad programmet ska göra! Design Beskriv hur programmet ska lösa problemet! Implementation Översätt designen till ett datorprogram! Testning Prova programmet och rätta eventuella fel! Underhåll Fortsätt utveckla programmet vid behov! Datalogiskt tänkande Computational Thinking Data + logik + tänkande En problemlösningprocess för att beskriva, analysera och lösa problem på ett sätt så att datorer kan hjälpa till Bryta ner problem i delar Hitta mönster Skapa abstraktioner Designa algoritmer 7

8 Datalogiskt tänkande > Programmering > Kodning Hur lär man sig att programmera? 8

9 Enligt Peter Norvig, forskningschef på Google Bli intresserad av programmering, så att du orkar lägga ner timmar på träning. Skriv många olika program. Prata med andra programmerare och läs deras kod. Om du vill, läs på universitet. Arbeta i projekt tillsammans med andra programmerare. Ta över projekt efter andra programmerare. Lär dig åtminstone ett halvt dussin olika programmeringsspråk. Peter Norvig (2001) Teach Yourself Programming in Ten Years. Varför har vi valt programspråket Python? 9

10 Pythons historik Skapades i slutet av 1980-talet av holländaren Guido van Rossum, som fortfarande spelar en stor roll för språkets utveckling. Det femte mest populära programspråket i världen. [1] Åtta av tio toppuniversitet i USA använder Python som förstaspråk. [2] Version 3.0, som vi kommer använda, kom i december Det var en ganska stor förändring som inte är bakåtkompatibel. Fri programvara. [1] TIOBE Programming Community Index, augusti [2] IT World, 8 juli Fördelar med Python Lätt att komma igång med. Enklare syntax än t.ex. Java och C++. Har en stabil användarbas både på universitet och i industrin. Funkar bra både för systemprogram och för tillämpningar. Neutralt i förhållande till olika programmeringsparadigm. Kan användas för att illustrera koncept inom programmering. 10

11 Kursupplägg Traditionell programmeringskurs Föreläsare print("hello") 1 Student Labbass 11

12 Yada yada Labbass Lärare? Student Upplägg för Python Inlärning kräver aktivitet. Föreläsningar är huvudsakligen passiva. Därför är föreläsningarna ersatta med studiematerial samt seminarier. Detta kräver att DU förbereder dig genom att studera materialet på egen hand INNAN seminarierna. Aktivitet Tid i HT1 Innehåll Föreläsningar 2 h Introduktion och översikt Seminarier 16 h Torrövningar samt diskussioner utifrån övningarna Laborationer 26 h Arbete i datorsal med övningar och uppgifter, diskussioner Eget arbete 68 h Läsa, öva, experiementera, arbeta med övningar och uppgifter 12

13 Examination TDDC66 Datorsystem och programmering UPG1 LAB1 Webbaserad datorintroduktion Slutuppgift Prova på-laborationer Laborationsomgång 1-2 Första läsperioden Python TDDD73 Funktionell och imperativ programmering i Python LAB1 DAT1 Laborationsomgång 3-7 Datortentamen Första och andra läsperioden Tillåtet och otillåtet samarbete Allt arbete med examinerande uppgifter i kursen TDDC66 Datorsystem och programmering ska ske enskilt (förutom prova på-laborationerna där arbetet sker i par). I kursen TDDD73 Funktionell och imperativ programmering i Python (d.v.s. i praktiken från labbomgång 3) kommer ni att arbeta i par som ni själva får välja. Vad är enskilt arbete? Var går gränsen för fusk? Universitetets disciplinnämnd kan vid fusk stänga av studenter upp till sex månader, vilket innebär att man ej får delta i undervisning och inte får några studiemedel. 13

14 Kurslitteratur John M. Zelle (2010) Python Programming: An Introduction to Computer Science. Second Edition. ISBN Boken har ett bra pedagogiskt upplägg som ansluter väl till det vi vill göra i kursen. Den täcker dock inte allt som vi vill gå igenom, så läs studiematerialet! Om man skaffar en annan Python-bok, se till att den täcker Python 3! På tentan får ni ha med en publicerad bok. Personal Examinator: Fredrik Heintz Studierektor: Peter Dalenius Kursadministratör: Anna Grabska Eklund Lektions- och laborationsassistenter: D1a: Fredrik Bergstrand, Sara Bergman D1b: Henning Nåbo, Anders Märak Leffler D1c: Simon Lindblad, Emil Segerbäck U1: Fredrik Heintz, Erik Hansson, Viktor Holmgren 14

15 Information och kommunikation På kurswebben finns all information om kursen du behöver: Studiematerial Laborationsmaterial Länk till schema Planering och deadlines Regler för redovisning och komplettering m.m. Förhållande mellan övriga kurser under termin 1 TATA65 Diskret matematik TDDD72 Logik (bara U) TDDD63 Perspektiv på datateknik/datavetenskap TDDC66 Datorsystem och programmering TDDD73 Imperativ och funktionell programmering i Python 15

16 Introduktion till Python och programmeringsterminologi Hur man startar Python-interpretatorn 16

17 Hur man använder Python-interpretatorn >>> >>> 2+4* >>> print("hello world!") Hello world! >>> def greeting():... print( Nobody expects the Spanish Inquisition.")... print( Our chief weapon is surprise... and fear.")... >>> greeting() Nobody expects the Spanish Inquisition. Our chief weapon is surprise... and fear. Hur man använder Python-interpretatorn >>> def skryt(namn):... print("det är bra att kunna Python.")... print(namn, "är jättebra på Python.")... >>> skryt("peter") Det är bra att kunna Python. Peter är jättebra på Python. >>> skryt("jenny") Det är bra att kunna Python. Jenny är jättebra på Python. >>> skryt <function skryt at 0x218390> >>> print <built-in function print> 17

18 Vårt första Python-program 1. Skriv ut lite informativ text Vad gör programmet? 2. Läs in en rad från användaren, försök tolka vad som matades in och spara detta i variabeln x 3. Börja gissa att roten ur x är x/2 och spara gissningen i variabeln guess def find_root(): print("this program tries to find the square root of a number.") x = eval(input("enter a number: ")) guess = x/2 for i in range(5): guess = (guess + x/guess)/2 print(guess) 4. Upprepa de följande raderna 5 gånger find_root() 5. Räkna ut en ny bättre gissning och skriv ut den Newton-Raphsons metod för att räkna ut kvadratroten av ett tal x. 18

19 Varför så mycket mellanrum? def find_root(): print("this program tries to find the square root of a number.") x = eval(input("enter a number: ")) guess = x/2 for i in range(5): guess = (guess + x/guess)/2 print(guess) find_root() Underordnade rader måste skjutas in en bit på raden, indenteras. Newton-Raphsons metod för att räkna ut kvadratroten av ett tal x. Olika sätt att köra vårt program zaza4 <23> python3 newton.py This program tries to find the square root of a number. Enter a number: zaza4 <24> python3 Python (default, Mar , 13:44:00) [GCC 3.4.6] on sunos5 Type "help", "copyright", "credits" or "license" for more information. >>> 19

20 Hur man använder Python-interpretatorn >>> import newton This program tries to find the square root of a number. Enter a number: >>> newton.find_root() This program tries to find the square root of a number. Enter a number: Hur man använder Python-interpretatorn >>> from newton import * This program tries to find the square root of a number. Enter a number: >>> find_root() This program tries to find the square root of a number. Enter a number:

21 Två viktiga byggstenar Satser gör något. print("hello") x = x + 3 Uttryck har ett värde. a + b/2 square(y + 7) Imperativ och funktionell programmering Imperativ programmering Ett program är en följd av satser som manipulerar globala datastrukturer så att deras tillstånd förändras över tid. Funktionell programmering Ett program är en uppsättning funktioner vars utdata enbart beror av indata, d.v.s. de har inga sidoeffekter och manipulerar inte globala datastrukturer. Objektorienterad programmering Ett program är en uppsättning objekt som har vissa egenskaper och kan utföra vissa metoder. Programkörning innebär att meddelanden skickas mellan dessa objekt. 21

22 Satser ryggraden i ett program Ett Python-program består av ett antal satser (eng. statements) som utförs i tur och ordning. De är huvudsakligen imperativa. Vi ska titta på de fem viktigaste, där vi redan sett de fyra första: Enkla satser Tilldelning (eng. assignment) Funktionsanrop Sammansatta satser Iteration med for Funktionsdefinition Selektion med if Olika typer av satser: Tilldelning Hur ser det ut? namn = uttryck Vad händer? Uttrycket beräknas och resultatet sparas i den namngivna variabeln. def find_root(): print("this program tries to find the square root of a number.") x = eval(input("enter a number: ")) guess = x/2 for i in range(5): guess = (guess + x/guess)/2 print(guess) find_root() 22

23 Olika typer av satser: Funktionsanrop Hur ser det ut? funktionsnamn(frivilliga argument) Vad händer? Argumenten skickas till funktionen, underprogrammet, för behandling. def find_root(): print("this program tries to find the square root of a number.") x = eval(input("enter a number: ")) guess = x/2 for i in range(5): guess = (guess + x/guess)/2 print(guess) find_root() Funktionsanrop som inte är självständiga satser Olika typer av satser: Iteration med for Hur ser det ut? for namn in område: undersatser Vad händer? Undersatserna körs så många gånger som området specificerar. def find_root(): print("this program tries to find the square root of a number.") x = eval(input("enter a number: ")) guess = x/2 for i in range(5): guess = (guess + x/guess)/2 print(guess) find_root() 23

24 Olika typer av satser: Funktionsdefinitioner Hur ser det ut? def funktionsamn(frivilliga argument): undersatser Vad händer? Undersatserna sparas för att kunna anropas senare. def find_root(): print("this program tries to find the square root of a number.") x = eval(input("enter a number: ")) guess = x/2 for i in range(5): guess = (guess + x/guess)/2 print(guess) find_root() Olika typer av satser: Selektion Enkelt val if a > 0: print( positivt") Två alternativ if a > 0: print( positivt") else: print( negativt") Tre eller fler alternativ if 0 <= a < 10: print("ental") elif a < 0: print("negativt") else: print("tio eller mer") 24

25 Inför första laborationstillfället Ta reda på vilken labbgrupp du är med i (se kurswebben). Ta reda på när den labbgruppen har sitt första labbtillfälle (se schemat). Dyk upp på rätt plats i rätt tid. Våra laborationer brukar börja kvart över. De flesta har sin första laboration på onsdag, några redan imorgon. Mål med föreläsningen Du ska bli grymt inspirerad att lära dig programmera! Du ska känna till och förstå målen och upplägget med kursen. Du ska känna till och förstå kopplingen mellan TDDC66, TDDD73, TDDD63 och TATA65. Du ska ha sett ett Python-program och känna till den grundläggande terminologin. Du ska vara medveten om att det krävs mycket arbete att bli bra programmerare! 25

26 Glöm aldrig! Imperativ och Funktionell Programmering i Python #TDDD73 Fredrik Heintz, IDA 26

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

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

Imperativ och Funktionell Programmering i Python #TDDD73. Fredrik Heintz,

Imperativ och Funktionell Programmering i Python #TDDD73. Fredrik Heintz, Kommentarer 2016 Drog över lite både första och andra timmen. Spenderade för mycket tid på introduktionen tror jag. Kom till Datalogiskt tänkande första timmen. Behöver ha en genomtänkt plan för bilden

Läs mer

Introduktion till Python. TDDE23 Funktionell och imperativ programmering, del 1 Föreläsning 3 Peter Dalenius Institutionen för datavetenskap

Introduktion till Python. TDDE23 Funktionell och imperativ programmering, del 1 Föreläsning 3 Peter Dalenius Institutionen för datavetenskap Introduktion till Python TDDE23 Funktionell och imperativ programmering, del 1 Föreläsning 3 Peter Dalenius Institutionen för datavetenskap 2 Status för datorintroduktionen 60 50 40 30 20 10 0 0-25% 26-50%

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

Mjukstart i programmering

Mjukstart i programmering Mjukstart i programmering För intresserade och datorvana nybörjare TDDE23 Funktionell och imperativ programmering, del 1 Föreläsning 2 Peter Dalenius Institutionen för datavetenskap 2 Översikt 1. Vad är

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

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

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 (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

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

Universitetet i Linköping Institutionen för datavetenskap Anders Haraldsson 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

Läs mer

Datalogiskt tänkande är mer än Programmering. Fredrik Heintz Linköpings universitet

Datalogiskt tänkande är mer än Programmering. Fredrik Heintz Linköpings universitet Datalogiskt tänkande är mer än Programmering Fredrik Heintz Linköpings universitet Vad kommer jag säga idag? Datalogiskt tänkande är en uppsättning generella färdigheter och attityder som är viktiga för

Läs mer

Introduktion till programmering D0009E. Föreläsning 1: Programmets väg

Introduktion till programmering D0009E. Föreläsning 1: Programmets väg Introduktion till programmering D0009E Föreläsning 1: Programmets väg 1 Vad är en dator? En maskin vars beteende styrs av de innehållet (bitmönster) som finns lagrade i datorns minne (inte helt olikt förra

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

Introduktion till Linux. TDDC66 Datorsystem och programmering Föreläsning (i) Peter Dalenius Institutionen för datavetenskap

Introduktion till Linux. TDDC66 Datorsystem och programmering Föreläsning (i) Peter Dalenius Institutionen för datavetenskap Introduktion till Linux TDDC66 Datorsystem och programmering Föreläsning (i) Peter Dalenius Institutionen för datavetenskap 3 Vem riktar sig kursen till? Hjälp! Jag fattar noll! Rädda mig! Ska man trycka

Läs mer

Imperativ och Funktionell Programmering i Python #TDDD73. Fredrik Heintz,

Imperativ och Funktionell Programmering i Python #TDDD73. Fredrik Heintz, Imperativ och Funktionell Programmering i Python #TDDD73 Fredrik Heintz, IDA fredrik.heintz@liu.se @FredrikHeintz Översikt Repetition: Satser och uttryck Variabler, datatyper, synlighet och skuggning Upprepning,

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

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

TDDD78 / 729A85 Objektorienterad programmering och Java

TDDD78 / 729A85 Objektorienterad programmering och Java jonas.kvarnstrom@liu.se 2015 TDDD78 / 729A85 Objektorienterad programmering och Java Fråga kommentera avbryt! Inblandade 5 Examinator, kursledare: Jonas Kvarnström Inblandade (2) 6 Handledare, sedan

Läs mer

Hur man programmerar. TDDC66 Datorsystem och programmering Föreläsning 3. Peter Dalenius Institutionen för datavetenskap

Hur man programmerar. TDDC66 Datorsystem och programmering Föreläsning 3. Peter Dalenius Institutionen för datavetenskap Hur man programmerar TDDC66 Datorsystem och programmering Föreläsning 3 Peter Dalenius Institutionen för datavetenskap 2014-09-05 Översikt Problemlösning: Hur ska man tänka? Datatyper Listor (forsätter

Läs mer

DD1314 Programmeringsteknik

DD1314 Programmeringsteknik Skolan för Datavetenskap och kommunikation DD1314 Programmeringsteknik Föreläsning 1 o print o variabler o reserverade ord o input o kommentarer o beräkningar o datatyper o if-satser Kursinformation Programmering:

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

Introduktion till Linux. TDDC66 Datorsystem och programmering Föreläsning 1 Peter Dalenius Institutionen för datavetenskap

Introduktion till Linux. TDDC66 Datorsystem och programmering Föreläsning 1 Peter Dalenius Institutionen för datavetenskap Introduktion till Linux TDDC66 Datorsystem och programmering Föreläsning 1 Peter Dalenius Institutionen för datavetenskap 3 Vem riktar sig kursen till? Hjälp! Jag fattar noll! Rädda mig! Ska man trycka

Läs mer

Selektion och iteration

Selektion och iteration Selektion och iteration TDDD73 Funktionell och imperativ programmering i Python Föreläsning 6 Peter Dalenius Institutionen för datavetenskap 2014-09-15 Översikt Hur utformar man villkor för framför allt

Läs mer

TDDD78 / 729A85 Objektorienterad programmering och Java

TDDD78 / 729A85 Objektorienterad programmering och Java jonas.kvarnstrom@liu.se 2016 TDDD78 / 729A85 Objektorienterad programmering och Java Fråga kommentera avbryt! Inblandade 5 Examinator, kursledare: Jonas Kvarnström Inblandade (2) 6 Handledare, sedan

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

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

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

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

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

Introduktion till programmering, hösten 2011

Introduktion till programmering, hösten 2011 Föreläsning 1 Programmering är ett hantverk. Det betyder att man inte kan läsa sig till den förmågan, man måste träna och man tränar genom att skriva mer och mer avancerade program. Programmering förutsätter

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

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

GRUNDKURS I C-PROGRAMMERING

GRUNDKURS I C-PROGRAMMERING SAMMANSTÄLLNING 1 (9) Inst för informationsteknologi GRUNDKURS I C-PROGRAMMERING del av 1TD442 ALGORITMER OCH DATASTRUKTURER DV1/ 1IT022 PROGRAMKONSTRUKTION II Period 3, 2006 DV/IT Sammanfattning: Vad

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

Föreläsning 2 Programmeringsteknik och C DD1316. Mikael Djurfeldt

Föreläsning 2 Programmeringsteknik och C DD1316. Mikael Djurfeldt Föreläsning 2 Programmeringsteknik och C DD1316 Mikael Djurfeldt Föreläsning 2 Programmeringsteknik och C Python introduktion Utskrift Inläsning Variabler Datatyp Aritmetiska operatorer Omvandling

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

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

Introduktion till programmering och Python Grundkurs i programmering med Python

Introduktion till programmering och Python Grundkurs i programmering med Python Introduktion till programmering och Python Hösten 2009 Dagens lektion Vad är programmering? Vad är en dator? Filer Att tala med datorer En första titt på Python 2 Vad är programmering? 3 VAD ÄR PROGRAMMERING?

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

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

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

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

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

Sätt att skriva ut binärträd

Sätt att skriva ut binärträd Tilpro Övning 3 På programmet idag: Genomgång av Hemtalet samt rättning Begreppet Stabil sortering Hur man kodar olika sorteringsvilkor Inkapsling av data Länkade listor Användning av stackar och köer

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

Ö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

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

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

EDAA20 Programmering och databaser. Mål komprimerat se kursplanen för detaljer. Checklista. Föreläsning 1-2 Innehåll. Programmering.

EDAA20 Programmering och databaser. Mål komprimerat se kursplanen för detaljer. Checklista. Föreläsning 1-2 Innehåll. Programmering. EDAA20 Programmering och databaser Mål komprimerat se kursplanen för detaljer Läsperiod 1 7.5 hp anna.aelsson@cs.lth.se http://cs.lth.se/edaa20 Mer information finns på kursens webbsida samt på det utdelade

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

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

1/15/2013. DD1310/DD1314/DA3009 Programmeringsteknik. Lärandemål... Vilka läser kursen? ...fler lärandemål VARFÖR? Föreläsning 1

1/15/2013. DD1310/DD1314/DA3009 Programmeringsteknik. Lärandemål... Vilka läser kursen? ...fler lärandemål VARFÖR? Föreläsning 1 Skolan för Datavetenskap och kommunikation DD1310/DD1314/DA3009 Programmeringsteknik Föreläsning 1 Kursinfo Diagnostiskt prov Python-intro: print variabler reserverade ord input kommentarer beräkningar

Läs mer

Poäng. Start v. Applikationsprogramm ering i Python 7.5. Antal registrerade (män/kvinnor) 50 (34/16)

Poäng. Start v. Applikationsprogramm ering i Python 7.5. Antal registrerade (män/kvinnor) 50 (34/16) TEK/NAT Kursrapport Kurs Kurskod Poäng År Start v. Applikationsprogramm ering i Python 5DA 7.5 215 13 Institution Institutionen för datavetenskap Antal registrerade (män/kvinnor) 5 (34/16) Antal aktiva

Läs mer

ITK:P1 Föreläsning 1. Programmering. Programmeringsspråket Java. Stark typning Explicit typning Strukturerat Hög säkerhet

ITK:P1 Föreläsning 1. Programmering. Programmeringsspråket Java. Stark typning Explicit typning Strukturerat Hög säkerhet ITK:P1 Föreläsning 1 Att programmera i språket Java DSV Peter Mozelius Programmering Olika typer av programmering som t ex: o Imperativ programmering (C, Pascal m fl) o Funktionell programmering (Lisp,

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

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

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

Avdelningen för informations- och kommunikationssystem Fakulteten för naturvetenskap, teknik och medier

Avdelningen för informations- och kommunikationssystem Fakulteten för naturvetenskap, teknik och medier 1 (6) Utbildningsplan för: Datateknik, 180 hp Computer Science Allmänna data om programmet Programkod Tillträdesnivå Diarienummer TDATG Grundnivå 2007/127 Högskolepoäng 180 Ansvarig avdelning Ansvarig

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

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

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

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

Datalogiskt tänkande för alla

Datalogiskt tänkande för alla Datalogiskt tänkande för alla Fredrik Heintz, IDA fredrik.heintz@liu.se @FredrikHeintz Linda Mannila linda.mannila@abo.fi @lindamannila Software is eating the world Trends AI och Autonoma System redan

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

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

TDDD78, TDDE30, 729A Introduktion till Java -- för Pythonprogrammerare

TDDD78, TDDE30, 729A Introduktion till Java -- för Pythonprogrammerare TDDD78, TDDE30, 729A85 jonas.kvarnstrom@liu.se 2019 Introduktion till Java -- för Pythonprogrammerare Historia: C, C++ 3 Historia: Oak 1 4 1990: Sun Microsystems påbörjade projekt StarSeven Avancerad

Läs mer

DD1310/DD1314/DA3009 Programmeringsteknik LÄRANDEMÅL... Vilka läser kursen? ...FLER LÄRANDEMÅL. Föreläsning 1

DD1310/DD1314/DA3009 Programmeringsteknik LÄRANDEMÅL... Vilka läser kursen? ...FLER LÄRANDEMÅL. Föreläsning 1 Skolan för Datavetenskap och kommunikation DD1310/DD1314/DA3009 Programmeringsteknik Föreläsning 1 Kursinfo Python-intro: print variabler reserverade ord input kommentarer beräkningar datatyper if-satser

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

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

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

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

Introduktion till programmering D0009E. Föreläsning 5: Fruktbara funktioner

Introduktion till programmering D0009E. Föreläsning 5: Fruktbara funktioner Introduktion till programmering D0009E Föreläsning 5: Fruktbara funktioner 1 Retur-värden Funktioner kan både orsaka en effekt och returnera ett resultat. Hittills har vi ej definierat några egna funktioner

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

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

Inledning. Vad är ett datorprogram, egentligen? Olika språk. Problemlösning och algoritmer. 1DV433 Strukturerad programmering med C Mats Loock

Inledning. Vad är ett datorprogram, egentligen? Olika språk. Problemlösning och algoritmer. 1DV433 Strukturerad programmering med C Mats Loock Inledning Vad är ett datorprogram, egentligen? Olika språk Problemlösning och algoritmer 1 (14) Varför använda en dator? Genom att variera de program som styr datorn kan den användas för olika uppgifter.

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

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

Välkommen till. Datastrukturer, algoritmer och programkonstruktion. eller DOA

Välkommen till. Datastrukturer, algoritmer och programkonstruktion. eller DOA Välkommen till Datastrukturer, algoritmer och programkonstruktion eller DOA Jag: Christer Labbassar: Caroline: Johan: Agenda, före lunch Inledning om DOA-kursen Backspegel Mål Syfte Examination Om lärande

Läs mer

1. Flervalsfråga Andel

1. Flervalsfråga Andel Page 1 of 8 Kursutvärdering Tillbaka till Välj resultat Antal svar: 39 1. Flervalsfråga Andel Vilken kvalitet upplever du att kursen har hållit sammantaget? Mycket låg 5,1% Låg 20,5% Godtagbar 43,6% Hög

Läs mer

Introduktion till programmering. Undervisning. Litteratur och examination. Lärare. Föreläsning 1

Introduktion till programmering. Undervisning. Litteratur och examination. Lärare. Föreläsning 1 Kursinfo Introduktion till programmering Undervisning Föreläsning 1 Kursinformation Inloggning, filsystem, kommandotolk några inledande exempel Föreläsningar Fem föreläsningar, vardera 45 minuter. Allmänna

Läs mer

Funktionell programmering

Funktionell programmering Funktionell programmering TDDD73 Funktionell och imperativ programmering i Python Föreläsning 8 Peter Dalenius Institutionen för datavetenskap 2013-10-09 Översikt Vad är ett programmeringsparadigm? Vad

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

Programmering för alla!

Programmering för alla! Programmering för alla! Inspirationsseminarium för lärare i grundskola och gymnasium Björn Regnell Professor Datavetenskap, LTH, Lunds universitet lth.se/programmera Video http://www.svt.se/nyheter/sverige/krav-pa-att-elever-lar-sig-programmera

Läs mer

Läsöversikt. Föreläsningar 2-6. Genomförande av laborationer

Läsöversikt. Föreläsningar 2-6. Genomförande av laborationer Läsöversikt LP Part I Part IV, kap 18 PL: kap 1, 2 (Sem 1), 3 (Sem 3), 5.1-5.3, 5.8 intro, 6.1-6.3, 7.1-7.3, 8.1-8.3, 9.1-9.2 Wikipedia kan användas som stöd för PL-avsnitten. Föreläsningar 2-6 Genomförande

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

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

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

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

Datalogiskt Tänkande i skolan. Fredrik Heintz,

Datalogiskt Tänkande i skolan. Fredrik Heintz, Datalogiskt Tänkande i skolan Fredrik Heintz, IDA fredrik.heintz@liu.se @FredrikHeintz 2 Budskap Datalogiskt tänkande är en uppsättning generella färdigheter och attityder som är viktiga för alla. Programmering

Läs mer

Deklarativ programmering

Deklarativ programmering Deklarativ programmering TDP007 Konstruktion av datorspråk Föreläsning 7 Peter Dalenius Institutionen för datavetenskap 2014-03-03 Deklarativ programmering Program skrivet i ett deklarativt språk logikspråk,

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

Lär dig programmera! Prova på programmering med enkla exempel! Björn Regnell www.bjornregnell.se

Lär dig programmera! Prova på programmering med enkla exempel! Björn Regnell www.bjornregnell.se Lär dig programmera! Prova på programmering med enkla exempel! Björn Regnell www.bjornregnell.se Mål Så enkelt som möjligt: låg tröskel Ett riktigt programmeringsspråk: inget tak Roliga uppgifter som går

Läs mer

Kursplanering Objektorienterad programmering

Kursplanering Objektorienterad programmering Kursplanering Objektorienterad programmering Fakta Ämne Programmering Poäng 40 Yh-poäng Kurskod YSYS-OOP Klass Systemutvecklare.NET 2 Syfte och koppling till yrkesrollen Syftet är att få en stabil grund

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

TDDD78, TDDE30, 729A Introduktion till Java -- för Pythonprogrammerare

TDDD78, TDDE30, 729A Introduktion till Java -- för Pythonprogrammerare TDDD78, TDDE30, 729A85 jonas.kvarnstrom@liu.se 2018 Introduktion till Java -- för Pythonprogrammerare Historia: C, C++ 3 Historia: Oak 1 4 1990: Sun Microsystems påbörjade projekt StarSeven Avancerad

Läs mer

729G04 Programmering och diskret matematik. Python 2: Villkorssatser, sanningsvärden och logiska operatorer

729G04 Programmering och diskret matematik. Python 2: Villkorssatser, sanningsvärden och logiska operatorer 729G04 Programmering och diskret matematik Python 2: Villkorssatser, sanningsvärden och logiska operatorer Föreläsningsöversikt Vad händer när vi kör vår pythonkod? Programmerare Villkorssatser Jämförelser

Läs mer

Föreläsning 1 & 2 INTRODUKTION

Föreläsning 1 & 2 INTRODUKTION Föreläsning 1 & 2 INTRODUKTION Denna föreläsning Vad händer under kursen? praktisk information Kursens mål vad är programmering? Skriva små program i programspråket Java Skriva program som använder färdiga

Läs mer

Grafik. TDDC66 Datorsystem och programmering Föreläsning 4. Peter Dalenius Institutionen för datavetenskap

Grafik. TDDC66 Datorsystem och programmering Föreläsning 4. Peter Dalenius Institutionen för datavetenskap Grafik TDDC66 Datorsystem och programmering Föreläsning 4 Peter Dalenius Institutionen för datavetenskap 2013-09-16 Anmälan till laborationer Från och med laboration 3 ska ni arbeta i par. Anmälan sker

Läs mer

TDDC30. Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 11 Jonas Lindgren, Institutionen för Datavetenskap, LiU

TDDC30. Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 11 Jonas Lindgren, Institutionen för Datavetenskap, LiU TDDC30 Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 11 Jonas Lindgren, Institutionen för Datavetenskap, LiU På denna föreläsning: Designmönster Adapter, Factory, Iterator,

Läs mer