The First Step Toward Sophistication: ALGOL 60

Storlek: px
Starta visningen från sidan:

Download "The First Step Toward Sophistication: ALGOL 60"

Transkript

1 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 språk; alla var maskinberoende Inget universellt språk för att kommunicera algoritmer med ALGOL 60 blev resultatet av försöken att designa ett universellt språk Copyright 2007 Addison-Wesley. All rights reserved. 1-1

2 Den tidiga designprocessen ACM och GAMM (Gesellschaft für Angewandte Mathematik und Mechanik) träffades för fyra dagar för design (den 27 maj till den 1 juni 1958) målsättningar: Nära till matematisk standardnotation Naturvetenskapliga tillämpningar Bra för att beskriva algoritmer med i publikationer Måste kunna översättas till maskinkod Amerikanska och europeiska intressen skulle sammanjämkas èkompromisser (./,) Copyright 2007 Addison-Wesley. All rights reserved. 1-2

3 ALGOL 58 Begreppet datatyp formaliserades Namn på identifierare kunde vara godtyckligt långa (FORTRAN I: max. 6 tecken) Arrays kunde ha obegränsat många dimensioner (FORTRAN I: max. 3) Parameter delades i in- och utparametrar Programmeraren fick välja en arrays lägre gräns (FORTRAN I: alltid 1) Index angavs med [] (FORTRAN 1: ()) Nästlade villkorssatser tillåtna (ej i FORTRAN I) Blockstruktur (begin... end) Semikolon ; för att separera instruktioner Copyright 2007 Addison-Wesley. All rights reserved. 1-3

4 ALGOL 58 Tilldelningsoperator blev := Zuses plankalkül: uttryck => variabel > saknades i hålkortsstansar resultatet blev =: ( : fanns på stansarna) Amerikanarna insisterade på att operatorn skulle svängas om, så att den skulle motsvara FORTRANs =, vilket resulterade i variabel := uttryck Psykologer är fortfarande oense om vilken som skulle vara den mest naturliga riktningen för mänsklig perception if fick en else-if del Inget I/O - would make it machine dependent Copyright 2007 Addison-Wesley. All rights reserved. 1-4

5 ALGOL 58: Implementation Den tidiga versionen var inte avsedd för implementation utan som diskussionsunderlag, men varianter av den implementerades ändå (MAD, JOVIAL) Även om IBM i början var entusiastiska, tog allt stödet slut vid mitten av 1959 (satsade på FORTRAN i stället) è FORTRAN fick en mycket dominerande ställning, även om Algol var mycket elegantare som språk betraktat Copyright 2007 Addison-Wesley. All rights reserved. 1-5

6 Copyright 2007 Addison-Wesley. All rights reserved. 1-6

7 ALGOL 60: översikt Modifierade ALGOL 58 på ett 6-dagarsmöte i Paris Nya drag: Blockstruktur (local scope) Två parameteröverföringsmetoder pass by value pass by name Subprogramrekursion Stackdynamiska arrays (utrymmet allokeras när man kommer till funktionen/proceduren, storleken bestäms när man når deklarationen) Fortfarande ingen I/O och ingen stränghantering Copyright 2007 Addison-Wesley. All rights reserved. 1-7

8 ALGOL 60:utvärdering Framgångar Blev standardsättet att publicera algoritmer på i över 20 år Alla de följande imperativa språken är baserade på det PL/1, SIMULA 67, ALGOL 68, C, Pascal, Ada, C++, Java,... Det första maskinoberoende språket Första språket med en formellt definierad syntax (BNF Backus-Naur-form) è formella språk, syntaxanalys, kompilatordesign Copyright 2007 Addison-Wesley. All rights reserved. 1-8

9 ALGOL 60: utvärdering (forts.) Misslyckanden Nådde aldrig större användarskaror, speciellt inte i USA Anledningar Avsaknaden av I/O och en teckenuppsättning gjorde att programmen inte var portabla För flexibelt è svårt att implementera Fortran vann terräng Den formella syntaxbeskrivningen upplevdes som svår Brist på stöd från IBM Copyright 2007 Addison-Wesley. All rights reserved. 1-9

10 Att digitalisera business records: COBOL Utvecklingsomgivning Businesstillämpningar behövde ett eget språk UNIVAC började använda FLOW-MATIC USAF (US Air Force) började använda AIMACO IBM började utveckla COMTRAN (COMmercial TRANslator) Redan 1953 skrev Grace Hopper vid UNIVAC att medan matematiska program borde skrivas med matematisk notation, borde datahanteringsprogram skrivas mha engelska satser. Copyright 2007 Addison-Wesley. All rights reserved. 1-10

11 Copyright 2007 Addison-Wesley. All rights reserved. 1-11

12 COBOL: Historisk bakgrund Baserat på FLOW-MATIC FLOW-MATIC-drag Namn upp till 12 tecken, inkl. - (ex. nr-of-men) Engelska namn för aritmetiska operatorer (inga aritmetiska uttryck!!!) multiply, add Data och kod var helt separerade Varje instruktion påbörjades med ett verb Copyright 2007 Addison-Wesley. All rights reserved. 1-12

13 COBOL: Designprocess Första designmöte (Pentagon) - May 1959 Designmål Måste se ut som enkel engelska Måste vara enkelt att använda, även om detta innebar att språket förlorade i styrka Måste utbreda användarkåren Får inte påverkas av de aktuella problemen med kompilering Designkommittés medlemmar kom alla från datorfabrikanter eller det amerikanska försvarsministeriet (DoD) Designproblem: aritmetiska uttryck? Index? Fights among manufacturers Copyright 2007 Addison-Wesley. All rights reserved. 1-13

14 COBOL:utvärdering Kontributioner Första makrofaciliteten i ett högnivåspråk Hierarkiska datastrukturer (records) Nästlade selektionssatser Långa namn (upp till 30 tecken), inkl. - Separat dataavdelning (data division) Copyright 2007 Addison-Wesley. All rights reserved. 1-14

15 COBOL: DoD-inverkan Första språk beställt av DoD skulle ha misslyckats utan DoD Fortfarande det mest använda språket för businessapplikationer (Sebesta 2010) Copyright 2007 Addison-Wesley. All rights reserved. 1-15

16 Copyright 2007 Addison-Wesley. All rights reserved. 1-16

17 Början till timesharing: BASIC Designad av Kemeny & Kurtz vid Dartmouth (75 % av de studerande hörde till liberal arts, dvs humanister) Designmål : Lätt att lära sig och använda för studerande utanför naturvetenskaper Must be pleasant and friendly Fast turnaround for homework Användartid viktigare än datortid Gratis och privat access: ett antal terminaler mot en mainframe (en centraldator) Copyright 2007 Addison-Wesley. All rights reserved. 1-17

18 Början till timesharing: BASIC Första programmet matades in och kördes 4:00 på morgonnatten första maj 1964 Numbers som dadatyp (designers ansåg att humanisterna inte skulle uppskatta (uppfatta?) skillnaden mellan heltal och flyttal) 14 olika kommandon Antalet terminaler i juni: 11 st, på hösten 20 st. Första version var inte interaktiv, utan kördes som batch Numera: Visual BASIC Första brett använt programmeringsspråk med time sharing Copyright 2007 Addison-Wesley. All rights reserved. 1-18

19 2.8 Everything for Everybody: PL/I Designat av IBM och SHARE Datoriseringsläget i 1964 (från IBMs perspektiv) Naturvetenskaplig användning IBM och 7090-datorer FORTRAN användargruppen SHARE Business computing IBM 1401, 7080-datorer COBOL användargruppen GUIDE Copyright 2007 Addison-Wesley. All rights reserved. 1-19

20 Copyright 2007 Addison-Wesley. All rights reserved. 1-20

21 PL/I: Bakgrund Tills 1963 Användare inom naturvetenskap började ha behov av mera utvecklad I/O, såsom COBOL hade; businessanvändare började ha behov av flyttalsoperationer och arrays Det började se ut som om flera företag skulle behöva två typer av datorer, två typer av språk och två typer av servicepersonal (operatorer, programmerare etc) è för dyrt En självklar lösning Konstruera en ny dator som klarar av båda applikationstyperna Designa ett nytt språk som klarar av båda applikationstyperna Copyright 2007 Addison-Wesley. All rights reserved. 1-21

22 PL/I: Designprocessen Designat i fem månader av the 3 X 3 Committee Tre medlemmar från IBM, tre medlemmar från SHARE Ursprunglig idé en extension av Fortran IV Ursprungligen kallat för NPL (New Programming Language) Namnet ändrades till PL/I 1965 Copyright 2007 Addison-Wesley. All rights reserved. 1-22

23 PL/I: utvärdering PL/I kontributioner Första concurrency på unit-nivå Första undantagshantering Switch väljbar rekursion Första datatyp för pekare Första array cross sections (tvärsnitt?) Problem Många av de nya särdragen var dåligt designade För stort och för komplext Copyright 2007 Addison-Wesley. All rights reserved. 1-23

24 Två tidiga dynamiska språk: APL och SNOBOL Karakteriserades av dynamisk typning och dynamisk minnesallokering Variablerna är otypade en variabel får en typ när den tilldelas ett värde Minne allokeras till variabeln när den tilldelas ett värde Copyright 2007 Addison-Wesley. All rights reserved. 1-24

25 APL: A Programming Language Designat som ett språk för att beskriva hårdvara med vid IBM av Ken Iverson kring 1960 Mycket uttrycksfullt (många operatorer, för både skalära värden och arrays med varierande dimensioner) Programmen är mycket svåra att läsa Används fortfarande; minimala ändringar Copyright 2007 Addison-Wesley. All rights reserved. 1-25

26 SNOBOL Designat som ett språk för stränghantering vid Bell Labs av Farber, Griswold och Polensky Kraftfulla operatorer för mönsteranpassning av strängar (pattern matching) Långsammare än alternativa språk (och används därför inte längre för att koda editorer) Används fortfarande i någon grad för textprocessering Copyright 2007 Addison-Wesley. All rights reserved. 1-26

27 Copyright 2007 Addison-Wesley. All rights reserved. 1-27

28 Början till dataabstraktion: SIMULA 67 Designat primärt för systemsimulering i Norge av Nygård and Dahl Baserat på ALGOL 60 och SIMULA I Primära kontributioner Korutiner subrutiner som körs bredvid varann, turas om kontrollen Implementerar en klasstruktur Klasser utgör grunden för dataabstraktion Klasser är strukturer som innehåller både lokala data och lokal funktionalitet Copyright 2007 Addison-Wesley. All rights reserved. 1-28

29 Copyright 2007 Addison-Wesley. All rights reserved. 1-29

30 Ortogonal design: ALGOL 68 En vidareutveckling av ALGOL 60 men inte en supermängd av det språket. Källan till flera nya idéer (även om språket självt aldrig fick en bred användarbas) Designen är baserad på begreppet ortogonalitet Ett fåtal huvudkonstrukter, relativt få mekanismer att kombinera dessa med. Copyright 2007 Addison-Wesley. All rights reserved. 1-30

31 ALGOL 68: Utvärdering Kontributioner Användardefinierade datastrukturer Referenstyper Dynamiska arrays (hette flex arrays) Kommentar Användes mindre än ALGOL 60 Hade stort inflytande på därpåföljande språk, speciellt på Pascal, C och Ada Copyright 2007 Addison-Wesley. All rights reserved. 1-31

32 Tidiga ättlingar till ALGOLs ALGOL språken påverkade alla imperativa språk Pascal C Modula/Modula 2 Ada Oberon C++/Java Perl (till någon grad) Copyright 2007 Addison-Wesley. All rights reserved. 1-32

33 Copyright 2007 Addison-Wesley. All rights reserved. 1-33

34 Pascal Utvecklades av Wirth (en medlem av ALGOL 68-kommittén) Designat för undervisning av strukturerad programmering Litet, enkelt, inget riktigt nytt Stor inverkan på programmeringsundervisning Från mitten av 1970-talet till slutet av talet var Pascal det mest använda språket inom programmeringsundervisning Copyright 2007 Addison-Wesley. All rights reserved. 1-34

35 Copyright 2007 Addison-Wesley. All rights reserved. 1-35

36 C Designat för systemprogrammering (vid Bell Labs av Dennis Richie) Utvecklades primärt från BCLP och B men också från ALGOL 68 Kraftfull uppsättning operatorer, men dålig type checking Spreds ursprungligen via UNIX Många tillämpningsområden Copyright 2007 Addison-Wesley. All rights reserved. 1-36

37 Perl Besläktat med ALGOL enbart via C Ett skriptspråk Ett script (fil) innehåller instruktioner som ska exekveras Andra exempel: sh, awk, tcl/tk Utvecklades av Larry Wall Perl variabler är statiskt typade och implicit deklarerade Tre distinktiva namnrymder, markerade via det första tecknet i variabelnamnet Kraftfullt, men inte utan risker Används allmänt för allehanda programmering Copyright 2007 Addison-Wesley. All rights reserved. 1-37

38 Logikbaserad programmering: Prolog Utvecklades av Colmerauer och Roussel (Universitet Aix-Marseille), med hjälp av Kowalski (University of Edinburgh) Baserat på formell logik (1. ordningens predikatkalkyl) Ickeproceduralt, deklarativt Kan beskrivas som ett intelligent databassystem som använder sig av en logisk härledningsprocess för att härleda sanningsvärdet hos givna påståenden. Synnerligen icke-effektivt, få men viktiga tillämpningsområden. Copyright 2007 Addison-Wesley. All rights reserved. 1-38

39 Copyright 2007 Addison-Wesley. All rights reserved. 1-39

40 History s Largest Design Effort: Ada Väldig designsatsning, omfattande hundratals personer, massor av pengar och ca åtta år Strawman requirements (April 1975) Woodman requirements (August 1975) Tinman requirements (1976) Ironman equipments (1977) Steelman requirements (1978) Kallades för Ada efter friherinnan Augusta Ada Byron, känd som den första programmeraren (skrev kod för Babbages maskin) Copyright 2007 Addison-Wesley. All rights reserved. 1-40

41 Ada: utvärdering Kontributioner Packages stöd för dataabstraktion Undantagshantering - omfattande Generiska programenheter (units) Concurrency via tasking model Kommentar: Kompetitiv design Inkluderade allt man då visste om mjukvaruteknik och språkdesign De första kompilatorerna var mycket svårhanterbara; den första verkligen användbara kompilatorn kom först efter ca fem år efter att språkdesignen var färdig Copyright 2007 Addison-Wesley. All rights reserved. 1-41

42 Ada 95 Ada 95 (påbörjades1988) Stöd för OOP via typderivering Bättre kontrollmekanismer för gemensamma data Nya concurrency features Flera flexibla bibliotek Populariteten dalade eftersom DoD inte längre förutsatte just Ada, men också pga att C++ började vinna terräng. Copyright 2007 Addison-Wesley. All rights reserved. 1-42

43 Copyright 2007 Addison-Wesley. All rights reserved. 1-43

44 Objektorienterad Programmering: Smalltalk Utvecklades vid Xerox PARC, ursprungligen av Alan Kay, senare av Adele Goldberg Första fullständiga implementationen av ett objektorienterat språk (dataabstraktion, nedärvning och dynamisk bindning av typer è flerformighet/polymorfism) Pionjär inom design av grafiska användargränssnitt Främjade OOP Copyright 2007 Addison-Wesley. All rights reserved. 1-44

45 Copyright 2007 Addison-Wesley. All rights reserved. 1-45

46 Att kombinera imperativ och objektorienterad programmering: C++ Utvecklades vid Bell Labs av Stroustrup i 1980 Utvecklades från C och SIMULA 67 Egenskaper som stöder objektorienterad programmering, delvis tagna från SIMULA 67 Erbjuder undantagshantering Ett stort och komplext språk, delvis pga att C++ stöder både procedural och OO programmering Blev snabbt populärt, tillsammans med OOP ANSI-standard godkändes i november 1997 Microsofts version (släpptes med.net i 2002): Managed C++ delegates, interfaces, ingen multipel nedärvning Copyright 2007 Addison-Wesley. All rights reserved. 1-46

47 Besläktade OOP-språk Eiffel (designat av Bertrand Meyer ) Inte direkt härlett ur något annat språk Mindre och enklare än C++, men har ändå nästan samma styrka Fick inte samma gehör som C++ eftersom många C++ -entusiaster redan var C-kodare Delphi (Borland) Pascal plus särdrag för att stöda OOP Mera elegant och säkrare än C++ Copyright 2007 Addison-Wesley. All rights reserved. 1-47

48 Copyright 2007 Addison-Wesley. All rights reserved. 1-48

49 Ett imperativt baserat objektorienterat språk: Java Utvecklades vid Sun på tidigt 90-tal C och C++ var inte tillfredsställande för inbyggd elektronik Baserat på C++ Markant förenklat (saknar struct, union, enum, pekararitmetik, och hälften av de påtvingade typomvandlingarna hos C++) Stöder endast OOP Har referenser, men inte pekare Inkluderar stöd för applets och en form av parallellism (concurrency) Copyright 2007 Addison-Wesley. All rights reserved. 1-49

50 Java: utvärdering Eliminerade de farliga/otrygga dragen hos C++ Concurrency features Bibliotek för applets, GUIs, databasaccess Portabelt: Java Virtual Machine, JITkompilatorer Använd(e)s mycket för WWW-sidor Användning på även andra områden spred sig snabbare än för något annat språk Senaste version 8 update 73 (5/2/16) Copyright 2007 Addison-Wesley. All rights reserved. 1-50

51 Skriptspråk för webben JavaScript Sammarbete mellan Netscape och Sun Microsystems Används i webbprogrammering (klientsidan) för att skapa dynamiska HTML-dokument Släkt med Java endast via likartad syntax PHP PHP: Hypertext Preprocessor Används för webbapplikationer (serversidan); producerar HTML-kod som output Python Ett OO tolkat skriptspråk Typkontrollerat men dynamiskt typat Stöder CGI (Common Gateway Interface) och blankettprocessering Copyright 2007 Addison-Wesley. All rights reserved. 1-51

52 Copyright 2007 Addison-Wesley. All rights reserved. 1-52

53 Ett C-baserat språk för det nya millenniet: C# En del av.net-utvecklingsplattform Baserat på C++, Java och Delphi Erbjuder ett språk för komponentbaserat mjukvaruutveckling Alla.NET-språk (C#, Visual BASIC.NET, Managed C++, J#.NET och Jscript.NET) använder Common Type System (CTS), vilket erbjuder ett gemensamt klassbibliotek Likely to become widely used Copyright 2007 Addison-Wesley. All rights reserved. 1-53

54 Sammandrag Utveckling,utvecklingsmiljö och utvärdering av ett antal viktiga programmeringsspråk Perspektiv på aktuella frågor inom språkdesign Copyright 2007 Addison-Wesley. All rights reserved. 1-54

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Innehålls förteckning

Innehålls förteckning Programmering Uppsats i skrivteknik Axxell Företagsekonomi i informationsteknik 19.3.2015 Respondent: Tomas Björklöf Opponent: Theo Wahlström Handledare: Katarina Wikström Innehålls förteckning 1. Inledning...3

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

TDIU01 - Programmering i C++, grundkurs

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

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

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

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

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

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

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

JavaScript. Innehåll. Historia. Document object model DHTML. Varför Javascript?

JavaScript. Innehåll. Historia. Document object model DHTML. Varför Javascript? Innehåll JavaScript En introduktion till skriptspråket JavaScript och till DOM Scripting Introduktion till JavaScript och DOM JavaScript Syntax DOM och DOM Scripting Händelsehantering och CSS Historia

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

Programmering för språkteknologer I, VT2012. Rum

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

Repetition C-programmering

Repetition C-programmering Repetition C-programmering Viktor Kämpe C Historik Utvecklades först 1969 1973 av Dennis Ritchcie vid AT&T Bell Labs. Högnivå språk med kontakt mot maskinvara. Ett utav de mest använda språken. Repetition

Läs mer

Introduk+on +ll programmering i JavaScript

Introduk+on +ll programmering i JavaScript Föreläsning i webbdesign Introduk+on +ll programmering i JavaScript Rune Körnefors Medieteknik 1 2012 Rune Körnefors rune.kornefors@lnu.se Språk Naturliga språk Mänsklig kommunika+on T.ex. Svenska, engelska,

Läs mer

Programmering i C++ En manual för kursen Datavetenskaplig introduktionskurs 5p

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

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

Vä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 mer

Kompilatorteknik. 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 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 mer

Kompilering och exekvering. Föreläsning 1 Objektorienterad programmering DD1332. En kompilerbar och körbar java-kod. Kompilering och exekvering

Kompilering och exekvering. Föreläsning 1 Objektorienterad programmering DD1332. En kompilerbar och körbar java-kod. Kompilering och exekvering Föreläsning 1 Objektorienterad programmering DD1332 Introduktion till Java Kompilering, exekvering, variabler, styrstrukturer Kompilering och exekvering Ett program måste översättas till datorns språk

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

Klassdeklaration. Metoddeklaration. Parameteröverföring

Klassdeklaration. 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 mer

Viktiga begrepp. Algoritm. Array. Binärkod. Blockprogrammering. Bugg / fel och felsökning. Dataspel. Dator

Viktiga begrepp. Algoritm. Array. Binärkod. Blockprogrammering. Bugg / fel och felsökning. Dataspel. Dator Viktiga begrepp Den här ordlistan är till för dig som går kursen Om Programmering. Eftersom detta är en grundläggande kurs har vi i vissa fall gjort en del förenklingar. En del begrepp är svåra att förenkla,

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

Lite mer om CGI-programmering

Lite mer om CGI-programmering Lite mer om CGI-programmering Innehåll Vad är CGI? Vad är Forms? Vad är Perl? Forms, CGI och Perl Läs också: Internetprogrammering F 14 Kursboken s s 48-51 Exemplen på på kursens sidor: sidor: http://www.nada.kth.se/kurser/kth/2d4334/98-99/contents/cgi/examples.html

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

OBS! 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.

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

Introduktion C-programmering

Introduktion C-programmering Introduktion C-programmering Viktor Kämpe C Historik Utvecklades först 1969 1973 av Dennis Ritchcie vid AT&T Bell Labs. Högnivå språk med kontakt mot maskinvara. Ett utav de mest använda språken. 2 C Standarder

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

Tentamen ID1004 Objektorienterad programmering May 29, 2012

Tentamen ID1004 Objektorienterad programmering May 29, 2012 Omtentamen för ID1004 Objektorienterad programmering HT11, 29 maj 2012, 09-13 Denna tentamen examinerar 3 högskolepoäng av kursen. Inga hjälpmedel är tillåtna. Tentamen består av 12 frågor. Varje fråga

Läs mer

Introduktion till objektorientering. Vad är objektorientering egentligen? Hur relaterar det till datatyper? Hur relaterar det till verkligheten?

Introduktion till objektorientering. Vad är objektorientering egentligen? Hur relaterar det till datatyper? Hur relaterar det till verkligheten? Introduktion till objektorientering Vad är objektorientering egentligen? Hur relaterar det till datatyper? Hur relaterar det till verkligheten? jonas.kvarnstrom@liu.se 2014 2017 jonas.kvarnstrom@liu.se

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

SMD 134 Objektorienterad programmering

SMD 134 Objektorienterad programmering SMD 134 Objektorienterad programmering Dagens agenda: Typer i Java: primitiva datatyperna, referenstyper Variabler och variabeltilldelningar med primitiva typer Konstanter av de olika typerna. Heltalsräkning

Läs mer

Ingenjörsfirman Stéen 2001-12-13 Java Sida 1 av 1

Ingenjörsfirman Stéen 2001-12-13 Java Sida 1 av 1 Java Sida 1 av 1 Java Mål och Syfte Målet med denna kurs i Java är att du direkt efteråt ska kunna börja utveckla dina första Javaapplikationer. Kursen ger dig många konkreta exempel på hur detta effektiva

Läs mer

DOM (Document Object Model) är modellen efter vilken en webbläsaren är uppbyggd. Alla objekt/element i webbläsaren finns hierarkiskt ordnade i DOM.

DOM (Document Object Model) är modellen efter vilken en webbläsaren är uppbyggd. Alla objekt/element i webbläsaren finns hierarkiskt ordnade i DOM. JavaScript del1 Syftet med detta häfte är att sammanfatta det viktigaste i JavaScript så kort och koncist som möjligt men ändå tillräckligt omfattande för att ge god kännedom om en av de vanligaste teknikerna

Läs mer

Objektorienterad programmering

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

Introduktion till objektorientering. Vad är objektorientering egentligen? Hur relaterar det till datatyper? Hur relaterar det till verkligheten?

Introduktion till objektorientering. Vad är objektorientering egentligen? Hur relaterar det till datatyper? Hur relaterar det till verkligheten? Introduktion till objektorientering Vad är objektorientering egentligen? Hur relaterar det till datatyper? Hur relaterar det till verkligheten? TDDD78, TDDE30, jonas.kvarnstrom@liu.se 729A85 jonas.kvarnstrom@liu.se

Läs mer

UML. Klassdiagr. Abstraktion. Relationer. Överskugg. Överlagr. Aktivitetsdiagram Typomv. Typomv. Klassdiagr. Abstraktion. Relationer.

UML. Klassdiagr. Abstraktion. Relationer. Överskugg. Överlagr. Aktivitetsdiagram Typomv. Typomv. Klassdiagr. Abstraktion. Relationer. Översikt Klasshierarkier UML klassdiagram Relation mellan klasser mellan klasser och objekt Association ning ing andling Programmering tillämpningar och datastrukturer 2 UML UML Unified Modeling Language

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

Skolverket Workshop i kursen TIATIL00S Tillämpad Programmering

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

F2: Krav på objektorienterat språk

F2: Krav på objektorienterat språk Institutionen för datavetenskap Umeå Universitet F2: Krav på objektorienterat språk Objektorienterad programmering för ingenjörer, VT-04 Innehåll Krav på objektorienterat språk Avvägningar vid design av

Läs mer

Inledande programmering med C# (1DV402) Introduktion till C#

Inledande programmering med C# (1DV402) Introduktion till C# Introduktion till C# Upphovsrätt för detta verk Detta verk är framtaget i anslutning till kursen Inledande programmering med C# vid Linnéuniversitetet. Du får använda detta verk så här: Allt innehåll i

Läs mer

Historik: OOP. Objektorientering. Historik: OOP (forts) En Dum Fråga

Historik: OOP. Objektorientering. Historik: OOP (forts) En Dum Fråga Historik: OOP Simula-67 Norge, 1967 Byggde på Algol-60, avsett för simulering Garbage collection, arv, klasser (inte olikt Java) Smalltalk, Alan Kay, Xerox, 70-tal Introducerade begreppet objekt-orienterad

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

Tentamen Grundläggande programmering

Tentamen Grundläggande programmering Akademin för Innovation Design och Teknik Tentamen Grundläggande programmering Kurskod: DVA103 Datum 2012-06-11 Tid 14.10 16.30 Examinator: Lars Asplund Maxpoäng: 48 Betygsgränser: Betyg 3: 20 Betyg 4:

Läs mer

JAVAUTVECKLING LEKTION 1

JAVAUTVECKLING LEKTION 1 JAVAUTVECKLING LEKTION 1 2016 Mahmud Al Hakim mahmud.al.hakim@nackademin.se www.alhakim.se AGENDA Introduktion till kursen Java historik och särdrag Javautvecklarens yrkesroll Installation och konfiguration

Läs mer

En kort text om programmering i C.

En kort text om programmering i C. En kort text om programmering i C C skapades 1972 av Brian Ritchie och Dennis Kerighan på Bell Labs i USA Det blev det språk som är mest använt genom tiderna Det finns många olika språk Pascal, FORTH,

Läs mer

Parameteröverföring. Exempel. Exempel. Metodkropp

Parameteröverföring. Exempel. Exempel. Metodkropp Exempel atriangle.changesize (100, 50); // OK atriangle.changesize (100); // fel antal atriangle.changesize ( 1, 50); // fel datatyp char c = atriangle.getarea (); // fel datatyp Parameteröverföring I

Läs mer

TDDC77 Objektorienterad Programmering

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

TDDD78 / 729A85 Objektorienterad programmering och Java. Kursinformation Java: Varifrån och varför? Java för Pythonprogrammerare

TDDD78 / 729A85 Objektorienterad programmering och Java. Kursinformation Java: Varifrån och varför? Java för Pythonprogrammerare TDDD78 / 729A85 Objektorienterad programmering och Java Kursinformation Java: Varifrån och varför? Java för Pythonprogrammerare jonas.kvarnstrom@liu.se 2017 Examinator, kursledare: Jonas Kvarnström Fråga

Läs mer

GRUNDER I VHDL. Innehåll. Komponentmodell Kodmodell Entity Architecture Identifierare och objekt Operationer för jämförelse

GRUNDER I VHDL. Innehåll. Komponentmodell Kodmodell Entity Architecture Identifierare och objekt Operationer för jämförelse GRUNDER I VHDL Innehåll Komponentmodell Kodmodell Entity Architecture Identifierare och objekt Operationer för jämförelse KOMPONENTMODELL Modell för att beskriva komponenter Externt interface Intern funktion

Läs mer

Programmering med Java. Grunderna. Programspråket Java. Programmering med Java. Källkodsexempel. Java API-exempel In- och utmatning.

Programmering med Java. Grunderna. Programspråket Java. Programmering med Java. Källkodsexempel. Java API-exempel In- och utmatning. Programmering med Java Programmering med Java Programspråket Java Källkodsexempel Källkod Java API-exempel In- och utmatning Grunderna Ann Pan panda@nada.kth.se Rum 1445, plan 4 på Nada 08-7909690 Game.java

Läs mer

Kurskatalog 2010 INNEHÅLLSFÖRTECKNING

Kurskatalog 2010 INNEHÅLLSFÖRTECKNING SFÖRTECKNING 1. RFID-Kurser... 2 1.1. RFID Grundkurs... 2 1.2. RFID Fortsättningskurs... 3 1.3. RFID dator programmering... 4 1.4. RFID Systemadministration... 5 1.5. RFID Aktiv Systemadministration...

Läs mer

Programmering B med Visual C++ 2008

Programmering B med Visual C++ 2008 Programmering B med Visual C++ 2008 Innehållsförteckning 1 Repetition och lite nytt...5 I detta kapitel... 5 Programexekvering... 5 Loop... 5 Källkod... 6 Verktyg... 6 Säkerhetskopiera... 6 Öppna, kompilera,

Läs mer

MATLAB. Python. Det finns flera andra program som liknar MATLAB. Sage, Octave, Maple och...

MATLAB. 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 mer

Föreläsning 2 Programmeringsteknik och C DD1316. Programmering. Programspråk

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

Läs mer

F5: Högnivåprogrammering

F5: 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 mer

F5: Högnivåprogrammering

F5: 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 mer

Datatyper och kontrollstrukturer. Skansholm: Kapitel 2) De åtta primitiva typerna. Typ Innehåll Defaultvärde Storlek

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

Användar- och systemdokumentation

Användar- och systemdokumentation Användar- och systemdokumentation Linköpings universitet Examinator:, IDA marme647@student.liu.se Utskriftsdatum: Innehållsförteckning Inledning... 3 Användarhandledning... 4 Systemkrav och installation...4

Läs mer

Högskolan Dalarna sid 1 av 7 DI-institutionen Hans-Edy Mårtensson Sten Sundin

Högskolan Dalarna sid 1 av 7 DI-institutionen Hans-Edy Mårtensson Sten Sundin Högskolan Dalarna sid 1 av 7 DI-institutionen Hans-Edy Mårtensson Sten Sundin TENTAMEN I IKB007 INTERNETPROGRAMMERING MED JAVA, 5p för SY2 2001-03-16, kl 14.00-18.00 Hjälpmedel: Inga hjälpmedel är tillåtna

Läs mer

OMTENTAMEN I PROGRAMSPRÅK -- DVG C kl. 08:15-13: 15

OMTENTAMEN I PROGRAMSPRÅK -- DVG C kl. 08:15-13: 15 OMTENTAMEN I PROGRAMSPRÅK -- DVG C01 130823 kl. 08:15-13: 15 Ansvarig Lärare: Donald F. Ross Hjälpmedel: Bilaga A: BNF-definition Betygsgräns: Kurs: Max 60p, Med beröm godkänd 50p, Icke utan beröm godkänd

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

Arv. Fundamental objekt-orienterad teknik. arv i Java modifieraren protected Lägga till och modifiera metoder med hjälp av arv Klass hierarkier

Arv. Fundamental objekt-orienterad teknik. arv i Java modifieraren protected Lägga till och modifiera metoder med hjälp av arv Klass hierarkier Arv Fundamental objekt-orienterad teknik arv i Java modifieraren protected Lägga till och modifiera metoder med hjälp av arv Klass hierarkier Programmeringsmetodik -Java 165 Grafisk respresentation: Arv

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 Datatyper Aritmetiska operatorer av typer Reserverade ord logiska operatorer If-sats kommentarer betyder att instruera en dator Ett program är

Läs mer

SKOLFS. beslutade den -- maj 2015.

SKOLFS. 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 mer

Fö 7: Operativsystem. Vad är ett operativsystem? Målsättning med operativsystem. Styr operativsystemet datorn?

Fö 7: Operativsystem. Vad är ett operativsystem? Målsättning med operativsystem. Styr operativsystemet datorn? Fö 7: Operativsystem Introduktion. Klassificering. Vad är ett operativsystem? Program som kontrollerar andra andra program. Gränssnitt mellan användare och hårdvaran. Kärnan. Historisk översikt. Typeset

Läs mer

Föreläsning 10 Datalogi 1 DA2001. Utskrift på skärmen. Syntax. print( Hej ) Hur är det? Hej. print( Hej,end= ) print( Hur är det? ) HejHur är det?

Föreläsning 10 Datalogi 1 DA2001. Utskrift på skärmen. Syntax. print( Hej ) Hur är det? Hej. print( Hej,end= ) print( Hur är det? ) HejHur är det? Föreläsning 10 Datalogi 1 DA2001 python introduktion Variabler Datatyp Aritmetiska operatorer av typer Reserverade ord logiska operatorer If-sats kommentarer på skärmen print( Hej ) print( Hur är det?

Läs mer

Objektorienterad programmering i Java

Objektorienterad programmering i Java bild 1 Objektorienterad programmering i Java Föreläsning 1 Kapitel 1-3 i kursboken Java Software Solutions bild 2 Läsanvisningar Kapitel 1 är en repetition av det ni förväntas kunna sedan tidigare. Det

Läs mer

Introduktion till användning av linux-servern sledge och några övningsuppgifter

Introduktion till användning av linux-servern sledge och några övningsuppgifter Uppsala universitet Institutionen för utbildning, kultur och medier Monica Langerth Zetterman och Richard Walls IT-stöd i undervisningen, HT10 Introduktion till användning av linux-servern sledge och några

Läs mer

SMD 134 Objektorienterad programmering

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

Programmering I Tobias Wrigstad fredag, 2009 augusti 28

Programmering I Tobias Wrigstad fredag, 2009 augusti 28 Programmering I Tobias Wrigstad tobias@dsv.su.se Vad är programmering? Lågnivåspråk och högnivåspråk Kompilering och interpretering Variabler Notation för flödesschema (flow chart) Kontrollstrukturer (conditionals,

Läs mer

Lektion Java Grunder. Javas historia. Programmeringsspråket Java. Skillnaderna mellan Java och C++ JVM (Javas Virtuella Maskin)

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

Objekt-orienterad programmering. Klassbegreppet och C++ UML. UMLs fördelar

Objekt-orienterad programmering. Klassbegreppet och C++ UML. UMLs fördelar Klassbegreppet och C++ OOP UML Klasser och objekt i C++ Uppdelning i filer Attribut och metoder Inkappsling - åtkomst Klassattribut - objektattribut Objekt-orienterad programmering Att använda ett objektorienterat

Läs mer

Platser för att skriva och testa kod online. Workshop om programmering i matematikkurser, version 0.7 senast sparat

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

Typkonvertering. Java versus C

Typkonvertering. Java versus C Typer Objektorienterad programmering E Typkonvertering Typkonvertering Satser: while, for, if Objekt Föreläsning 2 Implicit konvertering Antag att vi i ett program deklarerat int n=3; double x = 5.2; Då

Läs mer

Sammansatta datatyper Generics: Parametrisk polymorfism

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