Kapitel 2. Evolutionen av de viktigaste programmeringsspråken ISBN
|
|
- Lisbeth Magnusson
- för 8 år sedan
- Visningar:
Transkript
1 Kapitel 2 Evolutionen av de viktigaste programmeringsspråken ISBN
2 Kapitel 2 teman Zuses Plankalkül Minimal Hardware Programming: Pseudokoder IBM 704 och Fortran Funktionell programmering: LISP Första steget mot sofistikering: ALGOL 60 Datorisering av business records: COBOL Början till timesharing: BASIC Copyright 2007 Addison-Wesley. All rights reserved. 1-2
3 Kapitel 2 teman (forts.) Everything for Everybody : PL/I Två tidiga dynamiska språk: APL och SNOBOL Början till dataabstraktion: SIMULA 67 Ortogonal design: ALGOL 68 Några tidiga ättlingar till ALGOLs Logikbaserad programmering: Prolog History's Largest Design Effort : Ada Copyright 2007 Addison-Wesley. All rights reserved. 1-3
4 Kapitel 2 teman (forts.) Objektorienterad programmering: Smalltalk Kombination av imperativa och objektorienterade drag: : C++ Ett imperativt baserat objektorienterat språk: Java Skriptspråk : JavaScript, PHP och Python Ett C-baserat språk för det nya millenniet: C# Markup/ Hybridspråk Copyright 2007 Addison-Wesley. All rights reserved. 1-4
5 Genealogin av välkända språk Copyright 2007 Addison-Wesley. All rights reserved. 1-5
6 Zuses Plankalkül Byggde en serie datorer under tidiga 40- talet (hemma i föräldrarnas vardagsrum) Efter kriget Z4 ensam kvar; Plankalkül skulle utgöra dess programmeringsspråk Utvecklades 1945, publicerades först 1972 Avancerade datastrukturer floating point, arrays, records Algoritmer för flera icketriviala problem sortering, schackspel, konnektivitet av en graf Invarianter, assertationer Implementerades aldrig Copyright 2007 Addison-Wesley. All rights reserved. 1-6
7 Plankalküls syntax (läs som musik!) Tilldelningssats för att tilldela värdet av uttrycket A[4] + 1 till A[5] A + 1 => A V 4 5 (index) S 1.n 1.n (datatyper) Copyright 2007 Addison-Wesley. All rights reserved. 1-7
8 Minimal Hardware Programming: Pseudokoder Varför inte använda maskinkod? Dålig läsbarhet Dålig modifierbarhet (absolut adressering!) Långtråkigt att koda uttryck! Bristfällig maskinarkitektur ingen indexering eller flyttalsoperationer tillgängliga Pseudokod modern mening Slutet av 40-tal början av 50-tal Copyright 2007 Addison-Wesley. All rights reserved. 1-8
9 Pseudokoder: Short Code Short Code utvecklades av Mauchly i 1949 för BINAC-datorer (en av de första datorer med lagrat program) Uttryck var kodade, vänster till höger Exempel på operationer: abs value 1n (n+2)nd power 02 ) n (n+2)nd root 03 = 08 pause 4n if <= n 04 / 09 ( 58 print and tab Copyright 2007 Addison-Wesley. All rights reserved. 1-9
10 Pseudokoder: Short Code Ex. på variabler: X0, Y0! X0 = SQRT(ABS(Y0)) skulle kodas som 00 X Y0! (00 är padding för att fylla ett ord) Copyright 2007 Addison-Wesley. All rights reserved. 1-10
11 Pseudokoder: Speedcoding Tolkande system utvecklades för att åstadkomma flyttalsoperationer Speedcoding utvecklades av Backus i 1954 för IBM 701 Konverterade 701 till en virtuell 3-adress flyttalskalkylator Pseudo ops för aritmetiska och andra matematiska funktioner (sqrt, sin, arc tan, exp, log) Villkorliga och ovillkorliga hoppinstruktioner Självinkrementerande register för arrayaccess Slow! ( add tog 4.2 ms) Only 700 words left for user program Copyright 2007 Addison-Wesley. All rights reserved. 1-11
12 Pseudokoder: besläktade system The UNIVAC Compiling System Utvecklades av en team under ledning av Grace Hopper, Pseudokod expanderades till maskinkod David J. Wheeler (Cambridge University) Utvecklade en metod där man använder block av relokerbara addresser för att lösa problemet med absolut addressering Maurice V. Wilkes (Cambridge Univ.) vidareutvecklade tanken till ett assemblerprogram som kunde kombinera valda subrutiner och allokera utrymme Copyright 2007 Addison-Wesley. All rights reserved. 1-12
13 IBM 704 och Fortran FORmula TRANslating system (Backus & co.) Fortran 0: ej implementerat Fortran I:1957 Designat för den nya IBM 704, som hade indexregister och flyttalshårdvara Utvecklingsomgivning: Datorerna var små (till minneskapacitet) och opålitliga Applikationerna var naturvetenskapliga (matematik, fysik,...) Ingen programmeringsmetodologi eller verktyg Maskineffektivitet var viktigast; programmerare var jämförelsevis billiga Copyright 2007 Addison-Wesley. All rights reserved. 1-13
14 Fortrans designprocess Omgivningens inflytande på Fortran I Inget behov av dynamiskt minneshantering Behövs: bra arrayhantering och räknande loopar Ingen stränghantering, decimal aritmetik, eller utvecklad input/output ( commercial stuff ) Copyright 2007 Addison-Wesley. All rights reserved. 1-14
15 Fortran I översikt Den första implementerade versionen av Fortran Namn kunde bestå av upp till sex tecken Post-test counting loop (DO) Formaterad I/O Användardefinierade subprogram Trevägs selektionssats (aritmetisk IF) Inga datatypdeklarationer Namn som började med I, J, K, L, M, N => int Resten flyttal Copyright 2007 Addison-Wesley. All rights reserved. 1-15
16 Fortran I översikt (forts.) Första implementerade versionen av FORTRAN Ingen separat kompilering av subrutiner Kompilatorn släpptes i April 1957, efter en ansträngning på 18 årsverk Program större än 400 rader kompilerades sällan korrekt, närmast pga 704:ans bristande pålitlighet Koden blev mycket snabb (satsning på optimering, med goda resultat) Vann snabbt terräng (1958: hälften av koden för 704 skrevs på FORTRAN) Copyright 2007 Addison-Wesley. All rights reserved. 1-16
17 Fortran II Distribuerades i 1958 Subrutinerna kunde kompileras separat färdigt kompilerade subrutiner kunde infogas större program kunde nu kompileras korrekt Fixed the bugs Copyright 2007 Addison-Wesley. All rights reserved. 1-17
18 Fortran IV Fortran III blev aldrig brett distribuerat Fortran IV utvecklades Ett av de mest använda språken av sin tid Explicita typdeklarationer Logisk selektionssats (IF - THEN) Namn på subprogram kunde ges som parametrar till andra subprogram ANSI-standard 1966 Copyright 2007 Addison-Wesley. All rights reserved. 1-18
19 Fortran 77 Den nya standarden1978 Hantering av teckensträngar Logisk loop (WHILE) IF-THEN-ELSE statement Copyright 2007 Addison-Wesley. All rights reserved. 1-19
20 Fortran 90 Stora ändringar från Fortran 77 Kravet på bestämda kolumnpositioner (ett arv från hålkort) för olika kommandodelar avskaffades före detta skulle labels skrivas i positionerna 1-5, och själva satsen kunde inte börja före position 7. motsvarande krav vid inmatningen Moduler Dynamiska arrays Pekare Rekursion CASE-sats Type checking av parametrar Copyright 2007 Addison-Wesley. All rights reserved. 1-20
21 Fortran 90 och framåt... Få ändringar 95 Forall-struktur som möjliggjorde parallellisering Fortran 2003 stöd för objektorientering parametriserade deriverade typer pekare till procedurer gränssnitt mot C Fortran 2008 Submoduler, coarray, do concurrent (för oberoende loopar), contiguous (för minnesallokering) Copyright 2007 Addison-Wesley. All rights reserved. 1-21
22 Fortran: utvärdering Högt optimerande kompilatorer (alla versioner före 90) Typen och minnet för alla variabler bestämdes före run time Inga nya variabler/minne kunde allokeras under run time Ingen rekursion Inga dynamiska datastrukturer Dramatically changed forever the way computers are used Beskrevs som datorvärldens lingua franca Copyright 2007 Addison-Wesley. All rights reserved. 1-22
23 Funktionell Programmering: LISP LISt Processing language Designad vid MIT av McCarthy AI-forskning behövde ett språk för Listprocessering (snarare än arrays) Symbolmanipulering (snarare än numeriska beräkningar): lingvistik, psykologi, matematik Endast två datatyper: atomer och listor Syntax baserad på lambda-kalkyl Church 1941: att definiera anonyma funktioner att specificera funktionens parametrar och mappning, ex. λ(x)x*x*x (λ(x)x*x*x)(2) = 8 Copyright 2007 Addison-Wesley. All rights reserved. 1-23
24 Representation av två LISP-listor Copyright 2007 Addison-Wesley. All rights reserved. 1-24
25 LISP: utvärdering Pionjär inom funktionell programmering Inga variabler, inga tilldelningssatser Kontroll genom rekursion och villkorsuttryck Fortfarande dominant inom AI COMMON LISP och Scheme är de moderna LISP-dialekterna ML (SML, Standard Meta Language), Miranda och Haskell är besläktade språk metalanguage = språk om språk ML utvecklades som ett metaspråk för formell programverifiering Copyright 2007 Addison-Wesley. All rights reserved. 1-25
26 Scheme Utvecklades vid MIT i mitten av 1970-talet Litet Använder sig av statiskt räckvidd Funktioner som första klassens entiteter kan tilldelas till variabler, skickas som parametrar, returneras från funktioner, utgöra listelement Enkel syntax och litenhet gör Scheme idealt som undervisningsspråk Copyright 2007 Addison-Wesley. All rights reserved. 1-26
27 COMMON LISP Ett försök att kombinera drag från olika LISP-dialekter till ett enda Stort, komplext Copyright 2007 Addison-Wesley. All rights reserved. 1-27
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 merImperativ 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 merIntroduktion 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 merProgram & 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 merExempel 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 merKompilatorteknik. Görel Hedin Datavetenskap Lunds Tekniska Högskola. Temaföreläsning, Datorer i system, 2014
Kompilatorteknik Görel Hedin Datavetenskap Lunds Tekniska Högskola Temaföreläsning, Datorer i system, 2014 En typisk kompilator programkod while (a >= 0) { } kompilator maskinkod 0024 6050 2530 0000 0000
Läs merSyfte : 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 merTDP002 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 merImperativ 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 merTDDD78, 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 merTDDD78, 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 merThe First Step Toward Sophistication: ALGOL 60
The First Step Toward Sophistication: ALGOL 60 Utvecklingsomgivning FORTRAN hade (just och just) kommit för IBM 70x-serien Många andra språk under utveckling, alla för specifika datorer Inget portabelt
Läs merObjektorienterade 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 mer6. 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 merFö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 merExempel 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 merTDP002 - 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 merKompilatorteknik. Görel Hedin Datavetenskap Lunds Tekniska Högskola. Temaföreläsning, Datorer i system, 2009
Kompilatorteknik Görel Hedin Datavetenskap Lunds Tekniska Högskola Temaföreläsning, Datorer i system, 2009 Kompilatorteknik källkod kompilator maskinkod Teknik för att bygga verktyg för formella språk.
Läs merIT 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 merIntroduktion 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 merProgrammering i C++ En manual för kursen Datavetenskaplig introduktionskurs 5p
Programmering i C++ En manual för kursen Datavetenskaplig introduktionskurs 5p Skriven av Michael Andersson Introduktion Programmering I högnivåspråk fokuserar på själv problemet (algoritmen) istället
Läs merTDP002 - 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 merIT 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 merFö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 merDD1361 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 merVälkomna till NADA. Paradigm i datalogin. Vad är ett paradigm
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
Läs merImperativ programmering. Imperativ programmering konstruktioner i Lisp. Datastrukturer (kap ) arraystruktur poststruktur
Imperativ programmering konstruktioner i Lisp Imperativ programmering I den imperativa programmeringen skriver vi program satsvist. Datastrukturer (kap.-.) aystruktur poststruktur Iterativa uttryck (avs.)
Läs merVariabler, 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! TDDD78, TDDE30, 729A85 jonas.kvarnstrom@liu.se 2018 Fråga kommentera
Läs merTDIU01 - Programmering i C++, grundkurs
TDIU01 - Programmering i C++, grundkurs Sammanfattning period 1 Eric Elfving Institutionen för datavetenskap 1 oktober 2013 Översikt Ett C++-programs uppbyggnad Variabler Datatyper Satser Uttryck Funktioner
Läs merObjektorienterad 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 merViktiga 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 merProgrammera i C Varför programmera i C när det finns språk som Simula och Pascal??
Programmera i C Varför programmera i C när det finns språk som Simula och Pascal?? C är ett språk på relativt låg nivå vilket gör det möjligt att konstruera effektiva kompilatorer, samt att komma nära
Läs merOBS! All teori i detta och följande dokument kompletteras med genomgångar på lektionerna. Så det är viktigt att närvara och göra egna anteckningar.
Värmdö Gymnasium Programmering A 110123 Lektion C1 Grunder Att programmera handlar mycket om att lära sig att analysera det problem eller den funktion man vill att programmet ska ha, och översätta det
Läs merUniversitetet 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 merFö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 merClasses och Interfaces, Objects och References, Initialization
Classes och Interfaces, Objects och References, Initialization Objekt-orienterad programmering och design (DIT953) Niklas Broberg/Johannes Åman Pohjola, 2018 Abstract class En abstract class är en class
Läs merPROGRAMMERINGSMETODIK
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 merVariabler, 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 merMATLAB. Python. Det finns flera andra program som liknar MATLAB. Sage, Octave, Maple och...
Allt du behöver veta om MATLAB: Industristandard för numeriska beräkningar och simulationer. Används som ett steg i utvecklingen (rapid prototyping) Har ett syntax Ett teleskopord för «matrix laboratory»
Läs merDatatyper och kontrollstrukturer. Skansholm: Kapitel 2) De åtta primitiva typerna. Typ Innehåll Defaultvärde Storlek
De åtta primitiva typerna Java, datatyper, kontrollstrukturer Skansholm: Kapitel 2) Uppsala Universitet 11 mars 2005 Typ Innehåll Defaultvärde Storlek boolean true, false false 1 bit char Tecken \u000
Läs merPROGRAMMERING. Ä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 merKlassdeklaration. Metoddeklaration. Parameteröverföring
Syntax: Class Declaration Modifier Class Body Basic Class Member Klassdeklaration class Class Member Field Declaration Constructor Declaration Method Declaration Identifier Class Associations Motsvarar
Läs merF5: Högnivåprogrammering
F5: Högnivåprogrammering Parameteröverföring Koppling mellan låg- och högnivåprogrammering Lokala variabler Heapen Datatyper 1 Subrutin, parameteröverföring: 1(3) Via register genom värde Skicka data via
Läs merFö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 merF5: Högnivåprogrammering
1 F5: Högnivåprogrammering Parameteröverföring Koppling mellan låg- och högnivåprogrammering Lokala variabler Heapen Datatyper 1 Subrutin, parameteröverföring: 1(3) Via register genom värde Skicka data
Läs merDeklarationer/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 merITK: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 merObjektorienterad 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 merIntroduktion 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 merProgrammering 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 merProgrammeringsteknik 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 merIntroduktion 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 merClasses och Interfaces, Objects och References Objekt-orienterad programmering och design (DIT952) Niklas Broberg, 2016
Classes och Interfaces, Objects och References Objekt-orienterad programmering och design (DIT952) Niklas Broberg, 2016 Abstract class En abstract class är en class som inte kan skapa några objekt. Syfte:
Läs merGrunderna i stegkodsprogrammering
Kapitel 1 Grunderna i stegkodsprogrammering Följande bilaga innehåller grunderna i stegkodsprogrammering i den form som används under kursen. Vi kommer att kort diskutera olika datatyper, villkor, operationer
Läs merFö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 merObjektorienterad programmering Föreläsning 2
Objektorienterad programmering Föreläsning 2 Copyright Mahmud Al Hakim mahmud@webacademy.se www.webacademy.se Agenda Inläsning av data via dialogrutor Repetitioner (While-satsen och For-satsen) Nästlade
Läs merImperativ 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 merSoftware Technology. Josef Svenningsson
Software Technology Josef Svenningsson Software Technology Software Technology Området Software Technology handlar i mångt och mycket om följande frågeställning: Hur designar man programmeringsspråk för
Läs merCS - Computer science. Datateknik Informationsbehandling Datalogi Datavetenskap (ÅA 2008)
CS - Computer science Datateknik Informationsbehandling Datalogi Datavetenskap (ÅA 2008) Vad datateknik INTE är: Att studera datorer Att studera hur man skriver datorprogram Att studera hur man använder
Läs merSkolverket Workshop i kursen TIATIL00S Tillämpad Programmering
Skolverket Workshop i kursen TIATIL00S Tillämpad Programmering Kjell Hayling PhD Marin Geofysik, RSMAS, Univ. of Miami undervisar Webbutveckling, Programmering, Matematik 4-5 Håkan Andersson MSc Chalmers
Läs merLektion Java Grunder. Javas historia. Programmeringsspråket Java. Skillnaderna mellan Java och C++ JVM (Javas Virtuella Maskin)
Lektion Java Grunder Javas historia Ursprungligen utvecklades Java (1991) för att användas i olika typer av konsumentelektronik (mikrovågsugnar, videoapparater) av programmerare på Sun. Språket kallades
Läs merPlatser för att skriva och testa kod online. Workshop om programmering i matematikkurser, version 0.7 senast sparat
Cheat sheets Nedan finns referensblad för fyra olika programmeringsspråk, som kan bli aktuella att använda i matematikundervisning. MATLAB är en välkänd programvara för att göra matematiska beräkningar,
Läs merPROGRAMMERINGSMETODIK
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 merTDDE44 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 merSMD 134 Objektorienterad programmering
SMD 134 Objektorienterad programmering Lärare: pl@cdt.luth.se A 3113 Tomas Klockar klockar@sm.luth.se A 3019 Mats Folke folke@sm.luth.se A 3019 Labhandledare: Natasja Saburova Fredrik Jonsson Lars Persson
Läs merDatorarkitekturer med operativsystem ERIK LARSSON
Datorarkitekturer med operativsystem ERIK LARSSON Pipelining Tid SSA P Pipelining FI DI CO FO EI WO FI DI CO FO EI WO FI DI CO FO EI WO FI DI CO FO EI WO Superscalar pipelining FI DI CO FO EI WO FI DI
Läs merOperativsystem ID2200 Tentamen TEN1 3.8 hp :00-18:00
Operativsystem ID2200 Tentamen TEN1 3.8 hp 2018-04-03 14:00-18:00 Instruktioner Du får, förutom skrivmateriel, endast ha med dig en egenhändigt handskriven A4 med anteckningar. Svaren skall lämnas på dessa
Läs merProgramsprå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 merSista 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 merSpråket Python - Del 1 Grundkurs i programmering med Python
Hösten 2009 Dagens lektion Ett programmeringsspråks byggstenar Några inbyggda datatyper Styra instruktionsflödet Modulen sys 2 Ett programmeringsspråks byggstenar 3 ETT PROGRAMMERINGSSPRÅKS BYGGSTENAR
Läs merTENTAMEN TDDB53. Programmering i Ada för MI (provkod TEN2) den 7 april 2010 kl Institutionen för datavetenskap, IDA Olle Willén mars 2010
Linköpings universitet Institutionen för datavetenskap, IDA Olle Willén mars 2010 Tentamen TDDB53 TENTAMEN TDDB53 (provkod TEN2) den 7 april 2010 kl 8 12 Jour: Emil Nielsen, tel 070 499 89 88 Hjälpmedel:
Läs mer(Man brukar säga att) Java är... Denna föreläsning. Kompilering av Java. Historik: Java. enkelt. baserat på C/C++ Allmänt om Java
(Man brukar säga att) Java är... Denna föreläsning Allmänt om Java Javas datatyper, arrayer, referenssemantik Klasser Strängar enkelt baserat på C/C++ objekt-orienterat från början dynamiskt utbyggbart
Läs merTDDC30. Kursledning Kursledare: Jonas Lindgren. Labassistent: Jonas Lindgren Labassistent: Niklas Holma Labassistent: Erik Nilsson
TDDC30 Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 1 Jonas Lindgren, Institutionen för Datavetenskap, LiU På denna föreläsning: Kursinformation Imperativa delen av
Läs merLä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 merDagens föreläsning. Diverse Common Lisp. Konstanter, parametrar, globala variabler
21-1-2 1 Dagens föreläsning Hur fungerar ett Lisp system intern struktur av symbolen, tal, listan pekare - delade strukturer - eq minneshantering fri lista - sophämtning/garbage collection stack Diverse
Läs merObligatorisk uppgift 5
(5 oktober 2018 Symbolisk kalkylator 1 ) Obligatorisk uppgift 5 En kalkylator som hanterar uttryck symboliskt dvs värden är uttryck inte bara tal. Uppgiften exemplifierar: objektorientering återanvändning
Läs merUniversitetet i Linköping Institutionen för datavetenskap Anders Haraldsson
1 2 - Block, räckvidd Dagens föreläsning Programmering i Lisp - Bindning av variabler (avs 14.6) fria variabler statisk/lexikalisk och dynamisk bindning - Felhantering (kap 17) icke-normala återhopp catch
Läs merOmgivningar. 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 merTentamen i. TDDC67 Funktionell programmering och Lisp
1 Linköpings tekniska högskola Institutionen för datavetenskap Anders Haraldsson Tentamen i TDDC67 Funktionell programmering och Lisp och äldre kurser TDDC57 Programmering, Lisp och funktionell programmering
Läs merSista 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 merF2: Motorola Arkitektur. Assembler vs. Maskinkod Exekvering av instruktioner i Instruktionsformat MOVE instruktionen
68000 Arkitektur F2: Motorola 68000 I/O signaler Processor arkitektur Programmeringsmodell Assembler vs. Maskinkod Exekvering av instruktioner i 68000 Instruktionsformat MOVE instruktionen Adresseringsmoder
Läs merObjektorienterad programmering
Objektorienterad programmering Emil Ahlqvist (c10eat@cs.umu.se) Didrik Püschel (dv11dpl@cs.umu.se) Johan Hammarström (c08jhm@cs.umu.se) Hannes Frimmel Moström (c10hml@cs.umu.se) 1 1. Introduktion 1.1 Objektorienterad
Läs merTDDC77 Objektorienterad Programmering
TDDC77 Objektorienterad Programmering Föreläsning 5 Sahand Sadjadee IDA, Linköpings Universitet Hösttermin 2018 Outline Arrayer Metoder Räckvidd och Livslängd Arrayer Vända om inlästa värdena Vända om
Läs merSKOLFS. beslutade den -- maj 2015.
SKOLFS Föreskrifter om ändring i Skolverkets föreskrifter (SKOLFS 2010:247) om ämnesplan för ämnet programmering i gymnasieskolan och inom kommunal vuxenutbildning på gymnasial nivå; beslutade den -- maj
Läs merTentamen i. TDDA 69 Data och programstrukturer
1 Linköpings tekniska högskola Institutionen för datavetenskap Anders Haraldsson Tentamen i TDDA 69 Data och programstrukturer Torsdag den 14 januari 2009, kl 14-18 Hjälpmedel: Inga. Poänggränser: Maximalt
Läs merFörra gången: Primitiva data
Förra gången: Primitiva data > 30 30 > 45.56 45.56 Variabler: > (define telnr 6000) > telnr 6000 DA2001 (Föreläsning 3) Datalogi 1 Hösten 2013 1 / 24 Förra gången: Procedurapplikation: > (+ 7900000 telnr)
Läs merAbstraktion. 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 merProgrammeringsparadigm - 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 merAbstraktion. 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 merProgrammeringsteknik med C och Matlab
Programmeringsteknik med C och Matlab Kapitel 2: C-programmeringens grunder Henrik Björklund Umeå universitet Björklund (UmU) Programmeringsteknik 1 / 32 Mer organisatoriskt Imorgon: Datorintro i lab Logga
Läs merIntroduktion 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 merUniversitetet i Linköping Institutionen för datavetenskap Anders Haraldsson 2
Anders Haraldsson 1 Anders Haraldsson 2 Dagens föreläsning Programmering i Lisp Fö 5 - Funktioner - lambda-uttryck (avs 7.1) - funcall och function (avs 7.2) - Högre ordningens funktioner (avs 7.) - Iteratorer
Läs merPresentation. 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 merProgrammering för språkteknologer I, VT2012. Rum
Programmering för språkteknologer I, VT2012 evelina.andersson@lingfil.uu.se Rum 9-2035 http://stp.lingfil.uu.se/~evelina/uv/uv12/pst1/ Idag - Kursplan - Börja programmera - Lokala variabler - aritmetiska
Läs merIdag. Javas datatyper, arrayer, referenssemantik. Arv, polymorfi, typregler, typkonvertering. Tänker inte säga nåt om det som är likadant som i C.
Idag Javas datatyper, arrayer, referenssemantik Klasser Arv, polymorfi, typregler, typkonvertering Strängar Tänker inte säga nåt om det som är likadant som i C. Objectorienterad programmering Sida 1 Ett
Läs merSammansatta datatyper Generics: Parametrisk polymorfism
jonas.kvarnstrom@liu.se 2017 Sammansatta datatyper Generics: Parametrisk polymorfism Listor och arrayer 2 Enligt TDDD73: Många språk har både listor och arrayer även Java och Python! Exakta definitioner
Läs merDagens föreläsning Programmering i Lisp Fö 5
Anders Haraldsson 1 Dagens föreläsning Programmering i Lisp Fö 5 - Funktioner - lambda-uttryck (avs 7.1) - funcall och function (avs 7.2) - Högre ordningens funktioner (avs 7.3) - Iteratorer - Egenskaper
Läs merOMTENTAMEN I DATASTRUKTURER OCH ALGORITMER DVG B kl. 14:15 19:15
OMTENTAMEN I DATASTRUKTURER OCH ALGORITMER DVG B03 150609 kl. 14:15 19:15 Ansvarig Lärare: Donald F. Ross Hjälpmedel: Inga. Algoritmerna finns i de respektive uppgifterna eller i bilogarna. *** OBS ***
Läs merEDAA20 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