Välkomna till NADA. Paradigm i datalogin. Vad är ett paradigm

Storlek: px
Starta visningen från sidan:

Download "Välkomna till NADA. Paradigm i datalogin. Vad är ett paradigm"

Transkript

1 Välkomna till NADA (Numerisk Analys och DAtalogi) och kursen Paradigm i datalogin, orienteringskurs GN, 7,5 hp (PID) Välkomna... Jag: Serafim Dahl Osquars Backe 2, plan 5 Rum 1531 Postfack: Lindstedtsvägen 3, plan 4 Tel: elektronisk post: serafim@csc.kth.se / serafim@nada.kth.se Nås enklast via e-post eller i anslutning till undervisning Föreläsning 1 Bild 1 av 22 Föreläsning 1 Bild 2 av 22 Vad är ett paradigm? Paradigm i datalogin Varför är de nödvändiga? Lite datorhistoria Lite programspråkshistoria Lite om modern användning av datorer Vilka paradigm finns? Vilka är byggstenarna? Vad måste alla paradigm innehålla? Vad är ett paradigm Paradigm finns i alla vetenskaper, både på den humanistiska sidan och den naturvetenskapliga sidan. Begreppet myntades av Thomas Kuhn som egentligen använde det i flera sammanhang. Det kom att, inom vetenskapsteorin, beteckna den mängd med kunskaper forskare räknar som fakta inom en viss disciplin, men också det som följer av faktamängden hur man måste tänka och dra slutsatser med hjälp av den givna faktamängden. Dvs de tankemönster som följer. Detta har spritt sig inom alla vetenskaper och informellt betraktar man ett paradigm som ett visst sätt att tänka och vetenskapa på. Föreläsning 1 Bild 3 av 22 Föreläsning 1 Bild 4 av 22

2 Varför är paradigmer nödvändiga? Alla behöver enas om grundläggande fakta inför en uppgift och inom vetenskap och teknik har stora framsteg gjorts speciellt vid sk paradigmskiften. Tänk på övergången från Ptolemaios universum via Copernikus och Kepler till dagens teorier om universum. Teorier som gällt i hundratals år kullkastas plötsligt och ersätts ibland helt med nya teorier. Den stora skillnaden mellan paradigmskiften av det slaget och datalogins paradigmskiften är att i datalogin har gamla paradigmer fortsatt att leva parallellt med de nya, medan i forskningsvärlden nya paradigmer trängt undan gamla. Varför är paradigmer nödvändiga... Inom datalogin har man börjat med att betrakta datorns arkitektur, vilket gav upphov till assemblerspråk. De är helt byggda på att man ger datorn en instruktion, och sedan en till och... Med matematikens intåg har man fått andra modeller och med logik samt mängdlära har man fått ytterligare andra. Det är viktigt att betrakta dessa och förstå mönstren för att dels kunna inse vilken modell som är lämplig och dels kunna samarbeta enligt den överenskomna modellen. Föreläsning 1 Bild 5 av 22 Föreläsning 1 Bild 6 av 22 Lite datorhistoria De första datorerna var som räknedosor. De var svåra att programmera och inte förrän von Neumann 1940 föreslog en enhetlig arkitektur började man kunna skapa det vi idag kallar datorer. Experimenten var många och ganska vilda. Datorerna var gigantiska, amerikanska ENIAC tog upp en golvyta på 130 m 2 och vägde 30 ton. Tyskarna var först och tog under åren fram datorerna Z1, Z2 och Z3 innan amerikanerna lyckades konstruera ENIAC Lite datorhistoria... Datorerna togs fram för militära ändamål men man insåg genast fördelarna med snabba beräkningar och började utveckla datorer för andra ändamål, främst administrativa. Den första svenska datorn hette BARK (1950), byggd med telefonreläer, tätt följd av BESK (1953) byggd med elektronrör. Man trodde att Sverige behövde 2 datorer men en del ansåg att 3 kunde komma att behövas!!! Föreläsning 1 Bild 7 av 22 Föreläsning 1 Bild 8 av 22

3 Lite datorhistoria... Lite programspråkshistoria Fortran Transistorn uppfanns 1947 och kom snart att användas i datorerna. Den första transistorbaserade datorn hade transistorer och kunde utföra operationer i sekunden, att jämföra med den första relädatorn som utförde 5,33 operationer i sekunden. Simula Algol60 Algol68 Cobol PL/I Lisp 1958 uppfann Texas Instruments den integrerade kretsen och därmed börjar den moderna datorns historia. Intels senaste CPU (processor) innehåller motsvarande 800 millioner transistorfunktioner och kan utföra 3000 ggr fler operationer per sek än den första transistordatorn. En dator byggd på en sådan krets är mer än ggr snabbare än de första transistordatorerna. Smalltalk C++ Java Pascal Ada Oz C Scheme ML Miranda Haskell Prolog clpr Föreläsning 1 Bild 9 av 22 Lite programspråkshistoria... De första programspråken var egentligen bara läsbara varianter på processorinstruktioner och hade väldigt lite gemensamt med dagens programspråk. start: move 1, reg1 move n, reg0 loop: jmpz exit mul reg0, reg1, reg1 decr reg0 jmp loop exit: stop Lite programspråkshistoria... Det första något så när (för människor) läsbara programspråket var FORTRAN (FORmula TRANslation), byggt just för att förenkla programmering av beräkningar. PROGRAM FAK IMPLICIT NONE PRINT *, GE ETT POSITIVT HELTAL: READ *, N FAC = 1 DO I=N,2,-1 FAC = FAC*I END DO PRINT *, FAC STOP END PROGRAM FAK Föreläsning 1 Bild 11 av 22 Föreläsning 1 Bild 12 av 22

4 Lite programspråkshistoria... I språket Oz kan det bli declare fun {Fact N} if N == 0 then 1 else N * {Fact N - 1} end end I prolog Lite programspråkshistoria... fac(0, 1). fac(n, F) :- N > 0, N1 is N-1, fac(n1, F1), F is N*F1. vilket svarar direkt mot den matematiska beskrivningen n! = { 1 om n = 0 (basfall) n (n 1)! om n > 0 Föreläsning 1 Bild 13 av 22 Föreläsning 1 Bild 14 av 22 Lite om modern användning av datorer Eftersom datorer används för fler och fler områden som inte har direkt med vad vi vanligtvis menar med beräkningar måste man också analysera dessa nya områden och utveckla verktyg för programmering som stämmer med den modell man får som resultat av analysen. Många olika applikationsområden har mutats in genom åren och många olika modeller har utvecklats. Datorn används som arbetsverktyg i många olika situationer och för många nya områden. Nya medier visar också på ett ständigt ökande behov av nya modeller och, inte sällan, nya paradigmer. Vilka paradigm finns? Från början var det datorns konstruktion (von-neumann-arkitekturen) som var utgångspunkten men med Lisp (1960) visade John McCarthy att man kunde abstrahera över ett speciellt applikationsområde och med endast en handfull operatorer få ett matematiskt (λ-kalkyl) baserat programspråk. Med Lisps intåg hade man två paradigmer, det imperativa, representerat av assembler och FORTRAN och det funktionella paradigmet, representerat av Lisp. Men man talade inte om paradigm ännu. Föreläsning 1 Bild 15 av 22 Föreläsning 1 Bild 16 av 22

5 Vilka paradigm finns?... Norrmännen har alltid legat långt fram i tekniksammanhang och så även inom datalogin. Man hade också ett amitiöst atomprogram och redan 1952 inleddes ett arbete för att hitta bra metoder för att imulera komplicerade skeenden i atomreaktorer. Det resulterade i språket Simula , som innehöll mekanismer för att representera fristående processer. Den grundläggande mekanismen för detta var ett klassbegrepp som tillät att man konstruerade mallar för hur objekt skulle framställas. Varje sådant objekt hade inom sig både datastrukturer och operationer för att bearbeta datastrukturernas innehåll. Simula67 (slutversionen) innebar början för det objektorienterade paradigmet Vilka paradigm finns?... Robert Kowalski (Edinburgh-universitetet) och Alain Colmerauer och Phillipe Roussel på Marseille-universitetet tog 1972 fram Prolog, ett språk för logikprogrammering och med det hade man ytterligare två paradigmer, dels logikprogrammeringsparadigmet men också det deklarativa paradigmet eftersom man i Prolog deklarerar vad man är ute efter men inte hur beräkningarna ska gå till. Redan att det sker så mycket mer än man är van vid gör att man bör testa logikprogrammering. Föreläsning 1 Bild 17 av 22 Föreläsning 1 Bild 18 av 22 Vilka paradigm finns?... Idag finns ett stort antal metodiker som alla kallar sig programmeringsparadigm men de jag räknat upp är de grundläggande. Med tillägg till de uppräknade kan man förfina uppdelningen ytteligare. Man talar idag bl.a. om Imperativt Funktionellt (som en del anser är en del av deklarativt paradigm) Objektorienterat (som är en förfining av imperativt) Logiskt (del av det deklarativa) Deklarativt Visuellt (programmera med gester) Aspektorienterat (där man strikt separerar olika aspekter) Se vidare paradigm Vilka byggstenar behöver alla? Alla programspråk måste kunna utföra arbete i sekvens. Alla programspråk måste innehålla någon mekanism för val, åtminstone något liknande if v then x else y Alla programspråk måste ha en mekanism för att upprepa. Alla programspråk måste ha någon form av abstraktionsmekanism. I det inledande programmet som visades i flera olika språk finns all fyra mekanismerna representerade även om de inte alla finns i alla versioner av programmet. Föreläsning 1 Bild 19 av 22 Föreläsning 1 Bild 20 av 22

6 Övriga byggstenar Analyserar man de olika paradigmen hittar man en grundläggande mängd med koncept (begrepp). Vi ska titta på alla dessa och se vad de innebär och med en bukett av vanligen förekommande begrepp välja så att vi får de paradigm vi skall titta närmare på. Här kommer en uppräkning utan närmare förklaring (annat än kort muntligt): Namn, variabler, värden, bindningar, omgivningar, funktions- och procedurabstraktion, inkapsling, typer, typsystem, subtypning, typkonvertering, klasser, objekt, arv, polyformi, syntax, semantik, kompilering, interpretering, ivrig evaluering, lat evaluering Funktionellt paradigm Paradigm vi ska titta på Imperativt (procedurorienterat) paradigm, det ursprungliga paradigmet Deklarativt paradigm (logik) Objektorienterat paradigm En del av dem har vi redan tittat lite på. Föreläsning 1 Bild 21 av 22 Föreläsning 1 Bild 22 av 22

Sista delen av kursen

Sista delen av kursen Sista delen av kursen handlar om hur program, delprogram och datatyper deklareras och vad det man åstadkommit egentligen betyder. Innehåll Syntaktisk (hur ser det ut) och semantisk (vad betyder det) beskrivning

Läs mer

Programspråkslingvistik. Sista delen av kursen. Ett programspråk

Programspråkslingvistik. Sista delen av kursen. Ett programspråk Sista delen av kursen Programspråkslingvistik handlar om hur program, delprogram och datatyper deklareras och vad det man åstadkommit egentligen betyder. Innehåll Syntaktisk (hur ser det ut) och semantisk

Läs mer

Sista delen av kursen

Sista delen av kursen Sista delen av kursen handlar om hur program, delprogram och datatyper deklareras och vad det man åstadkommit egentligen betyder. Innehåll Syntaktisk (hur ser det ut) och semantisk (vad betyder det) beskrivning

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

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

Deklarativt programmeringsparadigm

Deklarativt programmeringsparadigm Deklarativt programmeringsparadigm Det vi introducerade på förra föreläsningen var ett exempel på deklarativ programmering. Vi specificerade en fallanalys som innehöll fakta och regler för hur man skulle

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

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

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

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

Imperativ programmering. Föreläsning 2

Imperativ programmering. Föreläsning 2 Imperativ programmering 1DL126 3p Föreläsning 2 Imperativ programmering Kännetecken för imperativa språk: Programmet består av en serie instruktioner. Olika språk har olika uppsättningar av instruktioner.

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

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

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

IT för personligt arbete F6

IT för personligt arbete F6 IT för personligt arbete F6 Datalogi del 2 DSV Peter Mozelius Datarepresentation Det som lagras i en dator representeras i grunden som 1:or och 0:or Dessa binära värden kan sedan tolkas på olika sätt i

Läs mer

TDP002 - Imperativ programmering

TDP002 - Imperativ programmering . TDP002 - Imperativ programmering Introduktion till kursen och Python Eric Elfving Institutionen för datavetenskap 14 augusti 2015 Översikt 2/29 Programmering - en översikt Python - Köra och skriva program

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

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

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

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

Imperativ programmering. Föreläsning 4

Imperativ programmering. Föreläsning 4 Imperativ programmering 1DL126 3p Föreläsning 4 Imperativa paradigmer Ostrukturerad programmering Strukturerad programmering Procedurell programmering Objektorienterad programmering Klassbaserad programmering

Läs mer

TDP002 - Imperativ programmering

TDP002 - Imperativ programmering TDP002 - Imperativ programmering Introduktion till kursen och Python Eric Elfving Institutionen för datavetenskap 1 Programmering - en översikt 2 Python Inbyggda typer Satser och uttryck 1 Programmering

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

Genicore AB. Modellbaserad ansats. En liten firma i Göteborg som gör stora datasystem. Systemspråk - När modellen är systemet. torsdag 10 maj 2012

Genicore AB. Modellbaserad ansats. En liten firma i Göteborg som gör stora datasystem. Systemspråk - När modellen är systemet. torsdag 10 maj 2012 Genicore AB En liten firma i Göteborg som gör stora datasystem Modellbaserad ansats Systemspråk - När modellen är systemet 1 Core Modellbaserad ansats i 3 delar Metodik Språk System Datateknik 3:e generationen

Läs mer

Objektorienterad programmering, allmänt

Objektorienterad programmering, allmänt Objektorienterad programmering, allmänt Sven-Olof Nyström Uppsala Universitet 17 juni 2005 1 Vilka egenskaper vill vi att program ska ha? Förslag (en partiell lista): De ska... gå snabbt att skriva vara

Läs mer

Viktiga egenskaper hos ett program (Meyer): Objektorienterad programmering, allmänt. Vilka egenskaper vill vi att våra program ska ha?

Viktiga egenskaper hos ett program (Meyer): Objektorienterad programmering, allmänt. Vilka egenskaper vill vi att våra program ska ha? Viktiga egenskaper hos ett program (Meyer): Objektorienterad programmering, allmänt Sven-Olof Nyström Uppsala Universitet 17 mars 2005 1. Korrekthet 2. Robusthet 3. Utökbarhet 4. Återanvändbarhet 5. Kompatibilitet

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

Programmeringsteknik I

Programmeringsteknik I Programmeringsteknik I HT18 Lärare: Johan Öfverstedt (johan.ofverstedt@it.uu.se, rum 2144) och ett stort antal labbhandledare Föreläsning 1: Intro till kursen Registrering och avregistrering Undervisningsformer:

Läs mer

Deklarationer/definitioner/specifikationer

Deklarationer/definitioner/specifikationer Deklarationer/definitioner/specifikationer Konstantdefinitioner innebär att ett namn binds och sätts att referera till ett värde som beräknas vid kompileringen/interpreteringen och som under programmets

Läs mer

Datalogi I, grundkurs med Java 10p, 2D4112, Tentamen 29 november 2003, svar och lösningar

Datalogi I, grundkurs med Java 10p, 2D4112, Tentamen 29 november 2003, svar och lösningar Datalogi I, grundkurs med Java 10p, 2D4112, 2003-2004 Tentamen 29 november 2003, svar och lösningar 1a) Snabbaste lösningen är att addera i det binära systemet och konvertera svaret till decimalt tal:

Läs mer

Abstraktion. Abstraktion... Abstraktion... Abstraktion...

Abstraktion. Abstraktion... Abstraktion... Abstraktion... Abstraktion Inom programmeringstekniken används två former av abstraktion dataabstraktion och programabstraktion. Dataabstraktion handlar om aggregat för att gruppera samhörande data. Programabstraktion

Läs mer

Matematikens grundvalar och programmering av datorer

Matematikens grundvalar och programmering av datorer Matematikens grundvalar och programmering av datorer Bengt Nordström Datavetenskap, Chalmers och Göteborgs Universitet, 14 februari, 2005 Datorerna föddes ur logiken 1870: Cantor: Det finns minst två slags

Läs mer

Abstraktion. procedurabstraktion. DA2001 (Föreläsning 26) Datalogi 1 Hösten / 27

Abstraktion. procedurabstraktion. DA2001 (Föreläsning 26) Datalogi 1 Hösten / 27 Abstraktion Inom programmeringstekniken används två former av abstraktion dataabstraktion och programabstraktion. Dataabstraktion handlar om aggregat för att gruppera samhörande data. Programabstraktion

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

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

DD1361 Programmeringsparadigm Föreläsning 1: Intro

DD1361 Programmeringsparadigm Föreläsning 1: Intro DD1361 Programmeringsparadigm Föreläsning 1: Intro Per Austrin KTH 2016-08-30 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

Objektorienterade programmeringsspråk. Objektorienterade språk. Den objekt-orienterade modellen. Jämför med icke-oo

Objektorienterade programmeringsspråk. Objektorienterade språk. Den objekt-orienterade modellen. Jämför med icke-oo Objektorienterade språk Historik Simula 67 Smalltalk 80 Procedurorienterad programmering Subprogram Programbibliotek Dataorienterad programmering Abstrakta datatyper Objektbaserade språk, föregångare till

Läs mer

Programmering för alla!

Programmering för alla! Programmering för alla! del 1 Lärarlyftet Teknik 7-9, 2014-09-01 Björn Regnell Professor Datavetenskap, LTH, Lunds universitet lth.se/programmera Agenda 09:00-10:00 Introduktion; kursens upplägg Varför

Läs mer

Grundläggande programmeringsteknik Datorsystem

Grundläggande programmeringsteknik Datorsystem Datorsystem Från abakus till Z3 Datorsystem Från kursplanen Moment 3, Datorsystem 3hp I detta moment ges en introduktion till datorsystem och dess uppbyggnad. Minneshantering, vad en CPU är och gör samt

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

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

Imperativ programmering. Föreläsning 3

Imperativ programmering. Föreläsning 3 Imperativ programmering 1DL126 3p Föreläsning 3 Imperativa paradigmer Ostrukturerad programmering Strukturerad programmering Procedurell programmering Objektorienterad programmering Klassbaserad programmering

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

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

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

Objektorienterad Programmering (TDDC77)

Objektorienterad Programmering (TDDC77) Objektorienterad Programmering (TDDC77) Föreläsning II: utmatning, variabler, typer Ahmed Rezine IDA, Linköpings Universitet Hösttermin 2016 Kompilera och köra programmet under terminal 2: I Skapa Hej.java

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

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

Programkonstruktion och datastrukturer. Formell verifiering eller hur man bevisar att program gör rätt utan att testa dem

Programkonstruktion och datastrukturer. Formell verifiering eller hur man bevisar att program gör rätt utan att testa dem Programkonstruktion och datastrukturer Formell verifiering eller hur man bevisar att program gör rätt utan att testa dem PKD 2012/13 Formell verifiering Sida 1 Uppdaterad 2008-11-28 Formell verifiering:

Läs mer

Datorhistoria Introduktion till PBL

Datorhistoria Introduktion till PBL Datorhistoria Erfarenheter Inlärningsmål Ämne: Datorhistorik Första datorn? Eniac 1946? Definiera dator Internationellt? Svenskt? Dator = räknehjälpmedel? Mer räknehjälpmedel Abacus (kulram) c:a 3000 fkr

Läs mer

I Skapa Hej.java och skriv programmet. I Kompilera med javac Hej.java. I Rätta fel och repetera tills du lyckas kompilera ditt program

I Skapa Hej.java och skriv programmet. I Kompilera med javac Hej.java. I Rätta fel och repetera tills du lyckas kompilera ditt program Kompilera och köra programmet Objektorienterad Programmering (TDDC77) Föreläsning II: utmatning, variabler, typer Ahmed Rezine IDA, Linköpings Universitet Hösttermin 2016 under terminal 2: I Skapa Hej.java

Läs mer

Typsystem. Typsystem... Typsystem... Typsystem... 2 *

Typsystem. Typsystem... Typsystem... Typsystem... 2 * Typsystem Typsystem finns i alla programmeringsspråk. Avsikten med typsystem är att kontrollera att uttryck är säkra i den bemärkelsen att innebörden i operanderna är klar och inte är motsägelsefull och

Läs mer

Typsystem. DA2001 (Föreläsning 23) Datalogi 1 Hösten / 19

Typsystem. DA2001 (Föreläsning 23) Datalogi 1 Hösten / 19 Typsystem Typsystem finns i alla programmeringsspråk. Avsikten med typsystem är att kontrollera att uttryck är säkra i den bemärkelsen att innebörden i operanderna är klar och inte är motsägelsefull och

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

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

Introduktion till formella metoder Programmeringsmetodik 1. Inledning

Introduktion till formella metoder Programmeringsmetodik 1. Inledning Introduktion till formella metoder Programmeringsmetodik 1. Inledning Fokus på imperativa program (ex. C, Java) program betyder härefter ett imperativt program Program bestäms i en abstrakt mening av hur

Läs mer

CIVILINGENJÖRSEXAMEN MASTER OF SCIENCE IN ENGINEERING

CIVILINGENJÖRSEXAMEN MASTER OF SCIENCE IN ENGINEERING Lokal examensbeskrivning Dnr: 541-2072-10 Sid 1 (5) CIVILINGENJÖRSEXAMEN MASTER OF SCIENCE IN ENGINEERING INRIKTNING: TEKNISK DATAVETENSKAP SPECIALISATION: COMPUTING SCIENCE AND ENGINEERING 1 Fastställande

Läs mer

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

Föreläsning 23 Programmeringens historia och paradigmer

Föreläsning 23 Programmeringens historia och paradigmer Föreläsning 23 Programmeringens historia och paradigmer Grunderna i programmering (Java) Jan Lönnberg Institutionen för datateknik -universitetets tekniska högskola 1.12.2010 Programspråkens historia Överblick

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

Introduktion till databaskursen. Välkomna. till kursen. Databasteknik och informationssystem. DD1370 (kursomgång dbtinf12)

Introduktion till databaskursen. Välkomna. till kursen. Databasteknik och informationssystem. DD1370 (kursomgång dbtinf12) Välkomna Introduktion till databaskursen Välkomna till kursen Databasteknik och informationssystem DD1370 (kursomgång dbtinf12) En kurs om grunderna i databasteknik DD1370 (Föreläsning 1) Databasteknik

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

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

Kapitel 2. Evolutionen av de viktigaste programmeringsspråken ISBN 0-321-49362-1

Kapitel 2. Evolutionen av de viktigaste programmeringsspråken ISBN 0-321-49362-1 Kapitel 2 Evolutionen av de viktigaste programmeringsspråken ISBN 0-321-49362-1 Kapitel 2 teman Zuses Plankalkül Minimal Hardware Programming: Pseudokoder IBM 704 och Fortran Funktionell programmering:

Läs mer

Repetition i Pascal. Exemplen fac. Exemplen fac i Pascal. Exemplen fac motivering. Orginalet

Repetition i Pascal. Exemplen fac. Exemplen fac i Pascal. Exemplen fac motivering. Orginalet Repetition Introduktion Repetition i Exemplen fac Orginalet I Scheme använde vi rekursion för all slags repetition. Efterom Scheme är ett funktionellt språk återsänder alla språkkonstruktioner ett värde

Läs mer

Omgivningar. Omgivningar är viktiga eftersom de avgör vilka namn som är synliga och därmed dessas innebörd och de värden som är förknippade med dem.

Omgivningar. Omgivningar är viktiga eftersom de avgör vilka namn som är synliga och därmed dessas innebörd och de värden som är förknippade med dem. Omgivningar Omgivningar är viktiga eftersom de avgör vilka namn som är synliga och därmed dessas innebörd och de värden som är förknippade med dem. (define (sqrroot c) (define (fixpoint guess c eps) (define

Läs mer

Repetition i Python 3. Exemplen fac. Exemplen fac motivering. Exemplen fac i Python

Repetition i Python 3. Exemplen fac. Exemplen fac motivering. Exemplen fac i Python Repetition i Python 3 Exemplen fac Orginalet I Scheme använde vi rekursion för all slags repetition. Efterom Scheme är ett funktionellt språk återsänder alla språkkonstruktioner ett värde men i Python

Läs mer

Dagens föreläsning Programmering i Lisp Fö 7. Sammanfattning funktionell programmering Exempel på funktionella programspråk

Dagens föreläsning Programmering i Lisp Fö 7. Sammanfattning funktionell programmering Exempel på funktionella programspråk 1 Dagens föreläsning Programmering i Lisp Fö 7 Kopplingen funktionella programmering och diskret matematik. Jämför vad ni hittills gjort i denna kurs och i den diskreta matematiken, med referenser in i

Läs mer

Del : Funktionell programmering. I alla deluppgifterna, använd Haskell och skriv typen för de identifierare du definierar.

Del : Funktionell programmering. I alla deluppgifterna, använd Haskell och skriv typen för de identifierare du definierar. Nada Tentamensdag 2004 aug 23 Tentamen Programmeringsparadigm Skrivtid 5 h Antalet uppgifter : 1 (allmänt)+ 4 (Haskell) + 4 (Prolog) = 10p +(5p + 20p +5p+ 20p) + (10p +12p + 8p +10p) = 10p + 50p + 40 p

Läs mer

Introduktion till Haskell

Introduktion till Haskell Introduktion till Haskell Elias Riedel Gårding NMA11, Teknisk Fysik (KTH) 2014 18 februari 2018 Elias Riedel Gårding (NMA11, F14) Introduktion till Haskell 18 februari 2018 1 / 29 Om Haskell Historik 1927:

Läs mer

Lågnivåprogrammering. Föreläsning 2 Lågnivåprogrammering. Binära tal. En enkel modell av datorns inre

Lågnivåprogrammering. Föreläsning 2 Lågnivåprogrammering. Binära tal. En enkel modell av datorns inre Lågnivåprogrammering Föreläsning 2 Lågnivåprogrammering Förberedelse inför laboration 2. Maskinspråk, assemblerspråk Talrepresentation En enkel dator, komponenter Instruktionsformat, instruktionscykel

Läs mer

Varför ska man lära sig sånt? Välkomna. Vad är databaser bra till? Kursansvarig. till kursen. Databasteknik och informationssystem

Varför ska man lära sig sånt? Välkomna. Vad är databaser bra till? Kursansvarig. till kursen. Databasteknik och informationssystem till databaskursen Varför ska man lära sig sånt? till databaskursen till kursen Databasteknik och informationssystem Nästan alla större system idag innehåller eller använder data lagrad i en databas Så

Läs mer

Översikt 732G11 PROGRAMMERING 1. Personal. Kursens mål. Litteratur. Kursens innehåll 2010-04-22

Översikt 732G11 PROGRAMMERING 1. Personal. Kursens mål. Litteratur. Kursens innehåll 2010-04-22 Översikt 732G11 PROGRAMMERING 1 Institutionen för datavetenskap Om kursen Vad är programmering (bra för)? Programmeringsspråket Java Utvecklingsmiljön Eclipse Genomgång av några programexempel Programmering

Läs mer

Varför ska man lära sig sånt? Välkomna. Vad är databaser bra till? Kursansvarig. till kursen. Databasteknik och informationssystem

Varför ska man lära sig sånt? Välkomna. Vad är databaser bra till? Kursansvarig. till kursen. Databasteknik och informationssystem till databaskursen Varför ska man lära sig sånt? till databaskursen till kursen Databasteknik och informationssystem Nästan alla större system idag innehåller eller använder data lagrad i en databas Så

Läs mer

2.4. Teckensträngar och logiska uttryck

2.4. Teckensträngar och logiska uttryck 2.4. Teckensträngar och logiska uttryck I Fortran sparar man text i variabler av typen CHARACTER. För varje tecken reserveras normalt 1 byte i minnet. För att deklarera en teckenvariabel TEXT och samtidigt

Läs mer

Moment 2 Digital elektronik. Föreläsning Inbyggda system, introduktion

Moment 2 Digital elektronik. Föreläsning Inbyggda system, introduktion Moment 2 Digital elektronik Föreläsning Inbyggda system, introduktion Jan Thim 1 Inbyggda system, introduktion Innehåll: Historia Introduktion Arkitekturer Mikrokontrollerns delar 2 1 Varför lär vi oss

Läs mer

Kursupplägg. Examination. Föreläsning 1: Intro till kursen och. Kursmaterial. programmering. Kursboken: Programmera med a multimedia approach

Kursupplägg. Examination. Föreläsning 1: Intro till kursen och. Kursmaterial. programmering. Kursboken: Programmera med a multimedia approach Föreläsning 1: Intro till kursen och Kursens hemsida http://www.it.uu.se/edu/course/homepage/prog1/esvt10 Studentportalen http://www.studentportalen.uu.se Kursmaterial Kursbok Kursprogramvara Tips: Installera

Läs mer

Per Holm Lågnivåprogrammering 2014/15 24 / 177. int och double = = 2, 147, 483, 647

Per Holm Lågnivåprogrammering 2014/15 24 / 177. int och double = = 2, 147, 483, 647 Lågnivåprogrammering Föreläsning 2 Lågnivåprogrammering Förberedelse inför laboration 2. Maskinspråk, assemblerspråk Talrepresentation En enkel dator, komponenter Instruktionsformat, instruktionscykel

Läs mer

LÖSNINGSFÖRSLAG TENTAMEN PROGRAMMERING I ETT FUNKTIONELLT SPRÅK ML, 5P

LÖSNINGSFÖRSLAG TENTAMEN PROGRAMMERING I ETT FUNKTIONELLT SPRÅK ML, 5P UMEÅ UNIVERSITET Datavetenskap 020321 Betygsgränser 0 19,5 U 20 25,5 3 26 31,5 4 32-40 5 LÖSNINGSFÖRSLAG TENTAMEN 020321 PROGRAMMERING I ETT FUNKTIONELLT SPRÅK ML, 5P Uppgift 1(3+2=5 poäng) I denna uppgift

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

Ett Logikprogram. Logik och Programmering. Introduktion till PROLOG, dvs. PROgramming in LOGic. Viktiga begrepp/områden i Prolog. Framtiden?

Ett Logikprogram. Logik och Programmering. Introduktion till PROLOG, dvs. PROgramming in LOGic. Viktiga begrepp/områden i Prolog. Framtiden? Crash Course in Prolog Peter Funk FUKO HT2001 IDt, Computer Science and Engineering Mälardalen University Västerås, Sweden Peter.Funk@mdh.se Introduktion till PROLOG, dvs. PROgramming in LOGic Prolog-programmen

Läs mer

DD1361 Programmeringsparadigm. Carina Edlund

DD1361 Programmeringsparadigm. Carina Edlund DD1361 Programmeringsparadigm Carina Edlund carina@nada.kth.se Funktionell programmering Grundidéen med funktionell programmering är att härma matematiken och dess funktionsbegrepp. Matematiskt funktionsbegrepp

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

Deklarativ programmering

Deklarativ programmering Kursens mål Deklarativ programmering Peter Dalenius petda@ida.liu.se Institutionen för datavetenskap Linköpings universitet 2008-02-26 redogöra för och använda reguljära uttryck använda XML för att definera

Läs mer

Datorsystem 2 CPU. Förra gången: Datorns historia Denna gång: Byggstenar i en dators arkitektur. Visning av Akka (för de som är intresserade)

Datorsystem 2 CPU. Förra gången: Datorns historia Denna gång: Byggstenar i en dators arkitektur. Visning av Akka (för de som är intresserade) Datorsystem 2 CPU Förra gången: Datorns historia Denna gång: Byggstenar i en dators arkitektur CPU Visning av Akka (för de som är intresserade) En dators arkitektur På en lägre nivå kan vi ha lite olika

Läs mer

Polymorfi (många skepnader) är egentligen en mängd olika abstraktionsmekanismer och en indelning skulle kunna se ut så här: polymorfi

Polymorfi (många skepnader) är egentligen en mängd olika abstraktionsmekanismer och en indelning skulle kunna se ut så här: polymorfi Polymorfi Polymorfi (många skepnader) är egentligen en mängd olika abstraktionsmekanismer och en indelning skulle kunna se ut så här: polymorfi universell ad hoc parametrisk inclusion coersion overloading

Läs mer

Nada KTH 2004 jan 12 Tentamen Programmeringsparadigm 2D1350 Skrivtid 5 h 8-13

Nada KTH 2004 jan 12 Tentamen Programmeringsparadigm 2D1350 Skrivtid 5 h 8-13 Nada KTH 2004 jan 12 Tentamen Programmeringsparadigm 2D1350 Skrivtid 5 h 8-13 Antalet uppgifter : 1 (allmänt)+ 4 (Haskell) + 4 (Prolog) = 9 10p +( 5p + 14p +15p+ 16p) + (12p +10p + 10p +8p) = 10p + 50p

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

Programmeringsparadigm - en jämförelse

Programmeringsparadigm - en jämförelse Programmeringsparadigm - en jämförelse Henrik Bäärnhielm d98-hba@d.kth.se Maj 1999 Sammanfattning I denna uppsats beskrivs och jämförs två programmeringsparadigm, imperativ programmering och funktionell

Läs mer

Programmering A. Johan Eliasson johane@cs.umu.se

Programmering A. Johan Eliasson johane@cs.umu.se Programmering A Johan Eliasson johane@cs.umu.se 1 Jag Undervisar mest grundläggande programmering på Institutionen för datavetensakap Applikationsutveckling för iphone Applikationsutveckling i Java Datastrukturer

Läs mer

1642 uppfann Blaise Pascal världens första mekaniska räknemaskin. Den kunde både addera och subtrahera. Den kan ses som en föregångare till datorn.

1642 uppfann Blaise Pascal världens första mekaniska räknemaskin. Den kunde både addera och subtrahera. Den kan ses som en föregångare till datorn. Datorns utveckling 1642 uppfann Blaise Pascal världens första mekaniska räknemaskin. Den kunde både addera och subtrahera. Den kan ses som en föregångare till datorn. Tre decennier senare konstruerade

Läs mer

F1 Introduktion och ingenjörsrollen EDAA05 Datorer i system! Roger Henriksson!

F1 Introduktion och ingenjörsrollen EDAA05 Datorer i system! Roger Henriksson! F1 Introduktion och ingenjörsrollen EDAA05 Roger Henriksson I kursen får du en introduktion till de frågeställningar och problemområden som omfattas av D-programmet och ämnet datavetenskap och underlättar

Läs mer

Datorhistoria och datorn i samhällsutvecklingen. Moment i DD1390 Programsammanhållande kurs i datateknik

Datorhistoria och datorn i samhällsutvecklingen. Moment i DD1390 Programsammanhållande kurs i datateknik Datorhistoria och datorn i samhällsutvecklingen Moment i DD1390 Programsammanhållande kurs i datateknik Foto: Tekniska museet Vilka slutsatser kan vi dra av exemplet? Artefakten är svag Vad tror ni att

Läs mer

Föreläsning 2 Programmeringsteknik DD1310. Programmering. Programspråk

Föreläsning 2 Programmeringsteknik DD1310. Programmering. Programspråk Föreläsning 2 steknik DD1310 python introduktion Variabler Datatyp Aritmetiska operatorer av typer Reserverade ord logiska operatorer If-sats kommentarer funktioner betyder att instruera en dator Ett program

Läs mer

Variabler, värden och typer

Variabler, värden och typer Variabler, värden och typer Viktigt att förstå på djupet: För programmering i många språk, t.ex. Java För kommande objektorientering! jonas.kvarnstrom@liu.se 2017 Fråga kommentera avbryt! Intro till variabler

Läs mer

Pascal... Pascal. Pascal... Pascal...

Pascal... Pascal. Pascal... Pascal... ... Programspråk uppkallat efter Blaise. Skapat av Nicolaus Wirt. Avsett för undervisning för att lära ut typbegreppet och styrstrukturer. Har fått stor spridning p.g.a. enkelhet och att kompilatorn varken

Läs mer

Föreläsning 1. Vad är vetenskapsteori?

Föreläsning 1. Vad är vetenskapsteori? Föreläsning 1 Vad är vetenskapsteori? Möjliga mål för en kurs i vetenskapsteori Beskriva olika vetenskaper Beskriva vad som är en vetenskaplig metod Beskriva skillnaden mellan vetenskap och pseudovetenskap

Läs mer

Föreläsning 9 i programmeringsparadigm. Paradigmöversikt, paradigmhistoria, paradigmgeografi. Se även föreläsning 1.

Föreläsning 9 i programmeringsparadigm. Paradigmöversikt, paradigmhistoria, paradigmgeografi. Se även föreläsning 1. Föreläsning 9 i programmeringsparadigm. Paradigmöversikt, paradigmhistoria, paradigmgeografi. Se även föreläsning 1. Användning av Prolog. Prolog har framför allt används inom AI ( Articifial Intellegence),

Läs mer