Programmering Introduktion

Storlek: px
Starta visningen från sidan:

Download "Programmering Introduktion"

Transkript

1 1DV506: Problemlösning ochprogrammering Lars Karlsson Läsanvisningar, s l i d e s och Java-exempel fi n n s på Moodle (31)

2 Agenda (Idag) Datorsystem Hårdvara Digital information på binär form Mjukvara Programspråket Java Objektorienterad programmering Kursinformation 2(31)

3 Datorsystem Ett datorsystem (eng. Computer System) består av 1. Hårdvara (eng. Hardware) Materiella delar man kan ta på Processorn Primärminnet Hårddisken DVD/CD läsare/brännare Bussar (ledningar inuti datorn) Tangentbord Skärm 2. Mjukvara (eng. Software) Mjukvara = program+data = sekvens av instruktioner Operativsystemet Övriga program (applikationer) 3. Hård- och mjukvaran är värdelösa utan varandra 4. Denna kurs handlar om att utveckla mjukvara 5. Vi tar upp ett minimum av hårdvara Datorsystem 3(31)

4 Hårdvara Minne Processor Hårddisk CD/DVD Skärm Tangentbord Nätverk (Mikro)Processorn (eng. Processor or CPU = Central Processing Unit) Ett chip som (mycket snabbt) bearbetar (enkla) instruktioner (Primär)Minne (eng. Main Memory or RAM) Här lagras program/data medan de processas. Litet men med snabb åtkomst. Hårddisken (eng. Hard Drive) Permanent lagringsplats för program/data som inte används. Stort, långsamt. Hårddisken är en typ av Sekundärminne där information lagras permanent. överlever att strömmen slås av Andra typer är: SSD, CD, DVD, magnetband, floppy Datorsystem 4(31)

5 Exekvering = Att köra ett program Exekvering ett program läses från sekundär- till primärminnet och börjar processas. Processorn består av en aritmetisk/logisk enhet som utför beräkningar ett register (mycket litet/snabbt minne) där data/resultat sparas Ett exekverbart program = en sekvens instruktioner på binär form C = A + B ********** 1. Läs i n värdet av A t i l l R(1) 2. Läs i n värdet av B t i l l R(2) 3. Beräkna R1+R2 och spara i R(3) 4. Ti lld ela C värdet i R(3) Här är R(N) = Reg ister N Binär form instruktionerna är en sekvens av ettor och nollor som (nästan) bara datorn förstår. Olika typer av datorer har olika uppsättningar instruktioner Binär form *********** Datorsystem 5(31)

6 Digital information Digital kommer från engelskans digit = siffra All information på en dator lagras som heltal (eng. integer) Förutom instruktioner gäller det även: decimaltal text ljud bild film Bilder lagras som fyra heltal (röd, grön, blå, transparens) per pixel. Text: Varje tecken i texten lagras som ett heltal. Datorer lagrar alla sina heltal på binär form. Tex, talet 14 lagras som Digital information 6(31)

7 Olika talsystem Decimala tal Det vanliga (decimala) talsystemet har basen 10. Vi använder bara siffrorna 0-9 för att ange ett tal 234 = = Varje siffra (2,3 eller 4) har olika vikt. Decimalt har vi vikterna..., 10000, 1000, 100, 10, 1 den n:te siffran från höger har vikten 10 n 1 Binära tal Det binära talsystemet har basen 2. Vi använder bara siffrorna 0 och 1 för att ange ett tal = = = Dvs, 1110 i basen 2 är lika med 14 i basen 10. Binärt har vi vikterna..., 128, 64, 32, 16, 8, 4, 2, 1 den n:te siffran från höger har vikten 2 n 1 Digital information 7(31)

8 Binära tal En binär siffra (0 eller 1) kallas en bit 8 bitar kallas en byte Med en byte kan vi representera 256 heltal mellan 0 ( ) och 255 ( ) Generellt: Med n bitar kan vi representera 2 n heltal mellan 0 och 2 n 1 Negativa tal: Den första biten ger tecken (1 = +, 0 = ), de övriga ger storlek. Varför binära tal? Hårdvaran bestämmer. Vi kan lättare, snabbare och säkrare både transportera och lagra information på binär form I kablar (transport): Spänning på = 1, spänning av = 0 I minnen (lagring): Magnetisering upp = 1, magnetisering ner = 0 Primärminnen: 1 GB (GigaByte = 2 30 byte, mer än en miljard byte) Hårddiskar: 1 TB (TeraByte = 2 40 byte, mer än 1000 miljarder byte) Övrigt: 1KB = 1 KiloByte = 2 10 = 1024 byte, 1MB = 1 MegaByte = 2 20 = byte Digital information 8(31)

9 Exempel: Kodning av text Varje tecken (alfabet + övriga) representeras av ett heltal Vanligast är att man använder 1 byte/tecken 255 möjliga tecken Det finns några olika standarder som används. Vanligast är ASCII. Heja Boden! H=72, e=101, j=106, a=97, " "=32, B=66, o=111, d=100, e=101, n=110,!=33. radbryt=10 Även osynliga tecken som mellanslag, tab och radbrytning (Enter) har en heltalskod. En textfil är en lång sekvens av bytes där varje byte motsvarar ett tecken. En texteditor (tex Wordpad) vet om detta och konverterar mellan tecken och heltal då filen läses/sparas. Digital information 9(31)

10 Mjukvara Ett datorsystems mjukvara delas upp i: 1. Operativsystem: Programmet som styr datorn Startar upp datorn Fördelar datorkraft mellan olika program Gränssnitt (eng. GUI = Graphical User Interface) för användaren vi kan via musklick och menyer styra datorn Ett mjukvaruskikt mellan hårdvara och andra program. Skyddar hårdvaran Ger andra program möjlighet att styra hårdvaran Vanliga OS: Windows, Mac OS, Unix, Linux 2. Applikationsprogram: Alla övriga program Ordbehandling Datorspel Web browser (tex Google Chrome, Mozilla Thunderbird) hanterare (tex Microsoft Outlook, Mozilla Firefox) Styrsystem för bilar Antivirus-program, mp3-spelare,... Utför specifik uppgift genom att styra hårdvaran via OS. Mjukvara 10(31)

11 Olika programnivåer Processorn förstår bara binära instruktioner (även kallat maskinkod, maskininstruktioner) Vi människor har svårt att förstå binära instruktioner talet: Assemblerkod Assembler (C = A + B) ========= 1. Load A R1 2. Load B R2 3. Add R1 R2 R3 4. Save R3 C Assembler: Att ge varje instruktion/register ett namn Binär form ========== Enkelt att översätta till binär form (en bit assembler en binär kod) Används fortfarande i vissa drivrutiner för hårdvara Mjukvara 11(31)

12 Högnivåspråk Assembler är fortfarande väldigt jobbigt att använda Programmeraren måste känna till allt om hårdvaran På 60-talet kom högnivåspråken där varje instruktion motsvarar flera maskininstruktioner Vanliga högnivåspråk: C, Ada, Pascal, Visual Basic, C++, C# och Java Översättningen till maskinkod sköts av en kompilator ett program som översätter högnivåspråk till maskinkod Språk Kompilator Maskinkod Kompilatorn är specifik för: Ett högnivåspråk och en typ av maskinkod Kompilatorn känner till maskinkod, vi programmerare avlastas. Kompilatorn säger också till om programmet ej följer språkets regler Error: Missing semi-colon on line 234 Mjukvara 12(31)

13 Högnivå programmering Ett programspråk har en specific syntax. Syntax är regler som säger: Vilka ord och symboler som kan ingå i ett program Hur dessa ord och symboler kan sättas samman till korrekta satser Ett program är i princip ett stort antal satser Programmering (i princip) 1. Skriv in (editera) programmet som vanlig text 2. Spara texten i en fil 3. Kompilera programmet generera maskinkod 4. Exekvera programmet Programmering i verkligheten Editera Kompilera Syntaxfel Exekvera / Kontrollera Logiskt fel Programmering 13(31)

14 Varför lära sig programmera? Datorn Extremt kraftfullt problemlösningsverktyg Programmera tag kontroll över datorn (utan omvägar) Icke programmera begränsad av andra människors program Lite programmering enkla skript för websidor enkla drivrutiner (styra andra maskiner) utföra ganska komplicerade beräkningar förstå vad det handlar om. Mycket programmering utveckla kommersiell programvara, tex spel administrativa program missilsystem sökmotorer Notera: Att utveckla robusta och lättanvända program för icke-experter kräver mycket programmering. Programmering 14(31)

15 Första Java-programmet: Hello.java / Hello. java Author: Jonas Lundberg Created / package chap1 2; // Paket deklaration / Ett program som skriver Hello World pa skarmen. / Public class Hello { // Klassdefinition } public static void main(string [] args) { // main metoden System.out. println ( Hello World! ); // Utskrift } Programspråket Java 15(31)

16 Programspråket Java Java uppfanns av James Arthur Gosling på Sun Microsystems Databas-företaget Oracle köpte Sun Idag kontrolleras Java av Oracle. Java introducerades 1995 och dess popularitet ökar Java bygger bl a på erfarenheter från språken C och C++ Ett Java-program består av ett antal klasser En klass består av ett antal metoder En method innehåller ett antal satser. Klass, metod, sats är byggstenar i olika storlekar. (Tänk: Vägg, sten, sandkorn) Ett Java-program börjar alltid i en metod med namnet main Java-program sparas alltid i filer med ändelsen.java Programspråket Java 16(31)

17 Kommentarer Kommentarer påverkar inte programmets funktion (Kompilatorn börjar med att ta bort dem.) Kommentarer är till för dokumentation underlättar förståelsen Dom anger syftet med koden och förklarar svåra partier Kom ihåg: Det självklara nu är kanske inte självklart om ett år (eller mindre ) Kom ihåg: Andra personer skall kanske läsa din kod. Inom industrin räknar man med att 10 olika personer kommer att läsa varje rad kod som skrivs. Tre olika typer av kommentarer // Kommentar som fortsätter till slutet av raden /* En kommentar som fortsätter från en rad till en annan. */ /** En javadoc kommentar. Mer om detta senare */ Programspråket Java 17(31)

18 Strukturen hos ett (enkelt) Java program / Kommentar om klassen / public class Hello { // klasshuvud ( signatur ) / Kommentar om metoden main / public static void main(string []args) { // metodsignatur // Har börjar programmet } // metoden slutar / Har kommer kanske fler metoder /... } // klassen slutar En metod/klass har ett huvud (signatur) och en kropp (innehåll). Orden public, static, void, class är nyckelord som specificerar egenskaper hos klasser och metoder. (Mer om detta senare.) Programspråket Java 18(31)

19 En paus på 10 minuter! ZZZZZZZZZZZZZZZZ... Programspröket Java 19(31)

20 Identifierare (Hello.java) Identifierare är ord man använder för att namnge olika saker Hello är namnet på en klass, main är namnet på en metod Identifierare består av: bokstäver, siffror och tecknen ( ) och ($) Identifierare kan inte börja med en siffra Java skiljer på stora och små bokstäver (eng. case-sensitive) HEJ Hej hej Ibland väljer vi identifierare själva (tex Hello) Ibland använder vi identifierare som andra hittat på (tex println) Java har rekommendationer för hur identifierare skall väljas Vissa ord är reserverade (tex public, class, static) och har en speciell betydelse. Dessa kan inte användas för att namnge något. Programspråket Java 20(31)

21 Reserverade ord i Java a b s t r a c t boolean break byte case catch char class const continue d e f a u l t do double else enum ext en ds false final f i n a l l y float for goto if implements import i n s t a n c e o f int i n t e r f a c e long n a t i v e new null package p r i v a t e protected public r e t u r n s h o r t s t a t i c s t r i c t f p super swi tc h synchronized this throw throws t r a n s i e n t true try void volatile while Reserverade ord kan inte användas som namn på något. Ungefär hälften av dessa används i denna kurs. Programspråket Java 21(31)

22 Javas klassbibliotek (Hello.java) System.out.println("Hello World!") Vi anropar metoden println i Javas klassbibliotek texten Hello World! skrivs ut på skärmen. Javas klassbibliotek följer med varje Java-installation println är en av tusentals färdiga metoder vi kan välja mellan. klassbiblioteket är enormt stort! Vissa delar är mycket specialiserade (tex XML hantering) och används sällan. Andra delar (tex metoden println) används i nästan alla program. Att använda klassbiblioteket underlättar programmeringen mycket Att lära sig hitta rätt i biblioteket är mycket viktigt I Java kommer vi åt hårdvaran via klassbiblioteket. Det mesta som exekveras i ett Javaprogram kommer från klassbiblioteket. Programspråket Java 22(31)

23 Program och klassbibliotek Mitt lilla Java-program Javas klassbibliotek Operativ-systemet Hårdvaran Programspråket Java 23(31)

24 Syntax och Semantik Ett språks syntaktiska regler bestämmer hur vi kan kombinera reserverade ord, identifierare och andra symboler till ett giltigt Java program. Syntaxfel upptäcks av kompilatorn Finn 5 fel! public static main void (String[]args) { system.uot.println("hello World!) } Språkets semantik bestämmer vad de olika konstruktionerna betyder/gör. Exempel: Semantiken hos System.out.println("Hello World") är att skriva ut Hello World på skärmen. Notera: Ett syntaktiskt korrekt program behöver inte vara logiskt korrekt. Ett program gör exakt vad vi säger till det att göra, inte nödvändigtvis vad vi vill att det skall göra. Datorn gör (nästan) aldrig fel. Det är vi programmerare/användare som ger datorn felaktiga instruktioner. Programspråket Java 24(31)

25 Indentering Indentering: Systematisk indragning av vänsterkanten för att visa vad som hänger ihop. Gör programmet mer lättläst public class Hello { public static void main(string [] args) { System.out. println ( Hello World! ); } } En kompakt men korrekt version Svår att förstå public class Hello{public static void main(string [] args) {System.out. println ( Hello World! );}} En slumpartad men korrekt version Svår att förstå Programspråket Java public class Hello{ public static main(string [] args) { Hello World! ) void System.out. println ( ;}} 25(31)

26 Java-kompilering En Java-kompilator översätter Java-kod (X.java) till ett speciellt format som kallas Java bytecode (X.class). Java bytecode är inte maskinkod för någon processor Ett annat program som kallas Java Virtual Machine (JVM) översätter bytecoden till maskinkod och exekverar den. Java-program kan därför exekveras på alla maskiner som har en JVM Man säger därför att Java-program är plattformsoberoende. Kompilera Hello.java Hello.class skapas C:\Temp\> javac Hello.java Exekvera Starta JVM:n med Hello.class som indata C:\Temp\> java Hello Notera: Ni kommer inte att använda terminalfönstret för kompilering/exekvering i denna kurs. Ni kommer att använda ett program som heter Eclipse som väsentligt underlättar hela processen. Programspröket Java 26(31)

27 Kompilering Kompilera/exekvera Java-program Java program (.java filer ) Java bytecode Java kompilator Java bytecode Virtual Machine Operativ-system Hårdvara Exekvering Programspröket Java 27(31)

28 Kursinformation 1DV506: Problemlösning och programmering (7,5hp) Kursen följs efter jul av 1DV507: Programmering och datastrukturer (7,5hp) Lärare: Lars Karlsson Labhandledare: Michael Johansson, Peter Danielsson, Lucas Wik, Martin Arvidsson Litteratur: Big Java - Late Objects, senaste upplagan, Cay Horstmann (Boken används också i 1DV507. Köp den!!) Moodle en webbaserad läroplattform Nyheter Föreläsningsanteckningar Programexempel Läsanvisningar Laborationer Länkar till Java och Eclipse Chat forum Moodle nås via mymoodle.lnu.se Tillgång till Moodle är viktigt! Maila mig (Namn+Pnr+LnU Username) om ni inte kommer åt Moodle för kursen 1DV506. Kursinformation 28(31)

29 Kursupplägg 11 lektioner (2h/lektion, måndagar och onsdagar, oregelbundet) 2 labtillfällen per vecka Ett komplett schema finns i Moodle Notera: Kursen ges i 2 versioner: på svenska, engelska. Välj rätt schema, se Moodle! 3 tentatillfällen (2 runt jul, sista under sommaren) Godkänt kräver: G på tenta + G på alla labbar Slutbetyg: Tentaresultat(40%) + Labbar(60%) Vi använder ETCS betyg A-F Väl godkänt: A,B (A=strålande) Godkänt: C,D,E ( E=precis godkänd) Underkänt: F ( F=underkänt, försök igen) Kursinformation 29(31)

30 Grupper Eng, Sve och Kalmar/Distans Laborationstillfällena Studenter indelade i två grupper Svenska och Engelska Varje grupp har sitt eget schema (det finns en grupp i Kalmar samt distans) => Läs rätt schema! Att närvara är viktigt statistiskt sett Närvarande -> 80% godkända Inte närvarande -> 40% godkända Java Testet Praktiskt programmeringtest 3 uppgifter, 2 timmar De som har godkänt på lab 1-3 skall klara detta Preliminärt datum är 21 december Kan ses som en femte praktisk obligatoriskt del Kursinformation 30(31)

31 Labregler Labbarna är individuella ni skall lämna in en egen uppsättning labbar. Varje laboration (1-4) har en vikt (impact factor) av 15% av kursens slutbetyg För godkänt krävs en lösning (ett bra försök i alla fall) till alla icke-vg uppgift. VG-uppgifter: Vissa labuppgifter är märkta med VG. Dessa uppgifter är inte obligatoriska men krävs för de högre betygen A,B. Ni måste lämna in era labbar innan deadline! Ingen inlämning ni är inte aktiva på kursen ni stryks från kursen Ej komplett inlämning det ni lämnat in rättas men ni får lämna in en komplettering efter kursens slut Missad deadline betyget för laborationen sänks. Undantag till denna regel kan ges om ni innan den aktuella tidsgränsen kontaktar er labhandledare och anger ett giltigt skäl. Utbyt idéer men inte lösningar. Plagiarism, dvs om någon student kopierar hela, eller delar av ett program från någon annan student (eller någon annan källa) alla inblandade studenter får F. Läs reglerna i Moodle noggrant! Kursinformation 31(31)

32 Första labtillfället (Torsdag) Introduktion till våra datorer Enkla Java-program Utvecklingsmiljön Eclipse Om ni har en laptop, tag med den på labbarna. Inför labintroduktionen (Viktigt!) Installera Java hemma Installera Eclipse hemma Installationshjälp? Se länkar i Lab 1 Inför nästa lektion: Läs avsnitten i boken av Horstmann (Hoppa över 1.7, det tas upp senare) Kursinformation 32(31)

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

OOP Objekt-orienterad programmering

OOP Objekt-orienterad programmering OOP Objekt-orienterad programmering OOP F1:1 Delkursansvarig Epost Kursens webbsidor sm@fc.dsv.su.se http://people.dsv.su.se/~sm/oop/ Föreläsning 1 Introduktion till kursen OOP Vad är Java? Ett första

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

F4. programmeringsteknik och Matlab

F4. programmeringsteknik och Matlab Programmeringsspråk Föreläsning 4 programmeringsteknik och Matlab 2D1312/ 2D1305 Introduktion till Java Kompilering, exekvering, variabler, styrstrukturer 1 Ett program är en eller flera instruktioner

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

F1 - Introduktion. ID1004 Objektorienterad programmering Fredrik Kilander

F1 - Introduktion. ID1004 Objektorienterad programmering Fredrik Kilander F1 - Introduktion ID1004 Objektorienterad programmering Fredrik Kilander fki@kth.se Viktiga resurser Java Software Solutions, Lewis & Loftus, sjätte eller sjunde upplagan kth.se/social meddelanden, frågor

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

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

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

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

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

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

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

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

l uppgiftsformulering l algoritmkonstruktion l verifikation l kodning l testning och avlusning l validering l dokumentering l underhœll Kapitel 2

l uppgiftsformulering l algoritmkonstruktion l verifikation l kodning l testning och avlusning l validering l dokumentering l underhœll Kapitel 2 Strukturerad programmering l uppgiftsformulering l algoritmkonstruktion l verifikation l kodning l testning och avlusning l validering l dokumentering l underhœll 1 2 Olika ansatser Begrepp Den manipulativa/imperativa

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

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

TDDC30. Kursledning Kursledare: Jonas Lindgren. Labassistent: Jonas Lindgren Labassistent: Niklas Holma Labassistent: Erik Nilsson

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

Objektorienterad Programmering (TDDC77)

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

Läs mer

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

Grundläggande programmering DVG A08 & ISG A04. Allmän information. Å vem är jag då. Karlstads Universitet, Johan Öfverberg 1

Grundläggande programmering DVG A08 & ISG A04. Allmän information. Å vem är jag då. Karlstads Universitet, Johan Öfverberg 1 Grundläggande programmering DVG A08 & ISG A04 Allmän information Grupp C och D slås ihop Schemat är ändrat Kurs i programmering utan förkunskaper Hjälp oss med detta Lita inte på era klasskamrater De ställer

Läs mer

Vem är vem på kursen. Objektorienterad programvaruutveckling GU (DIT011) Kursbok Cay Horstmann: Big Java 3rd edition.

Vem är vem på kursen. Objektorienterad programvaruutveckling GU (DIT011) Kursbok Cay Horstmann: Big Java 3rd edition. Institutionen för Datavetenskap Göteborgs universitet HT2009 DIT011 Vem är vem på kursen Objektorienterad programvaruutveckling GU (DIT011) Kursansvarig : Katarina Blom, tel 772 10 60 Rum: 6126 (E-huset)

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

OOP F1:1. Föreläsning 1. Introduktion till kursen OOP Vad är Java? Ett första Java-program Variabler Tilldelning. Marie Olsson

OOP F1:1. Föreläsning 1. Introduktion till kursen OOP Vad är Java? Ett första Java-program Variabler Tilldelning. Marie Olsson OOP F1:1 Föreläsning 1 Introduktion till kursen OOP Vad är Java? Ett första Java-program Variabler Tilldelning OOP Objekt-orienterad programmering Delkursansvarig: First Class-konferens: Kursens webbsidor:

Läs mer

TDDC77 Objektorienterad Programmering

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

Läs mer

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

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

Läs mer

Ö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

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

Eclipse. Avsikt. Nu ska ett fönster liknande figuren till höger synas.

Eclipse. Avsikt. Nu ska ett fönster liknande figuren till höger synas. Eclipse Avsikt Att bekanta dig med Eclipse programmeringsmiljö, dvs att med hjälp av Eclipse 1. skapa ett nytt projekt 2. skriva in källkod (sparas som.java-fil) 3. kompilera (översätta) koden till byte-kod

Läs mer

Objektorienterad Programmering (TDDC77)

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

Läs mer

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

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

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

Läs mer

NetBeans 7. Avsikt. Projektfönster

NetBeans 7. Avsikt. Projektfönster NetBeans 7 Avsikt Att bekanta dig med NetBeans programmeringsmiljö, dvs att med hjälp av NetBeans 1. skapa ett nytt projekt 2. skriva in källkod (sparas som.java-fil) 3. kompilera (översätta) koden till

Läs mer

NetBeans 5.5. Avsikt. Projektfönster

NetBeans 5.5. Avsikt. Projektfönster NetBeans 5.5 Avsikt Att bekanta dig med NetBeans programmeringsmiljö, dvs att med hjälp av NetBeans 1. skapa ett nytt projekt 2. skriva in källkod (sparas som.java-fil) 3. kompilera (översätta) koden till

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

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

(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

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

TDDC30. Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 1 Jonas Lindgren, Institutionen för Datavetenskap, LiU 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 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

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

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

Studentportalen http://www.studentportalen.uu.se UNIX-konton (systemansvariga P4118) Lärare: Anna Eckerdal, Anna.Eckerdal@it.uu.se

Studentportalen http://www.studentportalen.uu.se UNIX-konton (systemansvariga P4118) Lärare: Anna Eckerdal, Anna.Eckerdal@it.uu.se 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 P4118)

Läs mer

Föreläsning 1. Presentation av kursen Vad är programmering? Lite om java och utvecklingsmiljöer Aktivitetsdiagram Ett första program

Föreläsning 1. Presentation av kursen Vad är programmering? Lite om java och utvecklingsmiljöer Aktivitetsdiagram Ett första program Föreläsning 1 Presentation av kursen Vad är programmering? Lite om java och utvecklingsmiljöer Aktivitetsdiagram Ett första program Deitel: 1.1-1.9, 2.1-2.3 DA101A Programmering Programmering, DA101A Kursansvarig:

Läs mer

Editering, Kompilering och Exekvering av Javaprogram

Editering, Kompilering och Exekvering av Javaprogram UMEÅ UNIVERSITET Institutionen för informatik B.1, Programmeringens grunder, 5 poäng Editering, Kompilering och Exekvering av Javaprogram Introduktion Syftet med kursmomentet Programmeringens grunder (B.1)

Läs mer

TDDC77 Objektorienterad Programmering

TDDC77 Objektorienterad Programmering TDDC77 Objektorienterad Programmering Föreläsning 2 Sahand Sadjadee IDA, Linköpings Universitet Hösttermin, 2018 Outline Emacs Introduktion till Objektorienterad Programmering Introduktion till Java Variabler

Läs mer

Föreläsning 2 - Intro till Java

Föreläsning 2 - Intro till Java Föreläsning 2 - Intro till Java Sammanfattning av Lektion 1 (kap 2): Vad behövs för att kunna programmera? DrJava (t ex) Java (installera först!) Reserverade ord (t ex if, while...) Primitiva variabler

Läs mer

Objektorienterad programmering i Java I

Objektorienterad programmering i Java I Laboration 0 Objektorienterad programmering i Java I Uppgifter: 2 Beräknad tid: ca 2 3 timmar Att läsa: sidan 45 52 Syfte: Att ladda hem och installera utvecklingsmiljön Att skriva ditt första Javaprogram

Läs mer

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

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

Läs mer

Digitalitet. Kontinuerlig. Direkt proportionerlig mot källan. Ex. sprittermometer. Elektrisk signal som representerar ljud.

Digitalitet. Kontinuerlig. Direkt proportionerlig mot källan. Ex. sprittermometer. Elektrisk signal som representerar ljud. Analog Digitalitet Kontinuerlig Direkt proportionerlig mot källan Ex. sprittermometer Elektrisk signal som representerar ljud Diskret Digital Representation som siffror/symboler Ex. CD-skiva Varje siffra

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

Föreläsning 3. Programmering, C och programmeringsmiljö

Föreläsning 3. Programmering, C och programmeringsmiljö Föreläsning 3 Programmering, C och programmeringsmiljö Vad är programmering? Ett väldigt kraftfullt, effektivt och roligt sätt att kommunicera med en dator Att skapa program / applikationer till en dator

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

Java: Utvecklingsverktyg, datatyper, kontrollstrukturer

Java: Utvecklingsverktyg, datatyper, kontrollstrukturer Java: Utvecklingsverktyg, datatyper, kontrollstrukturer Sven-Olof Nyström Uppsala Universitet 13 juni 2005 1 Utvecklingsverktyg för Java Vi rekommenderar Suns utvecklingsverktyg (SDK, tidigare JDK), se

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

Att skriva till och läsa från terminalfönstret

Att skriva till och läsa från terminalfönstret Att skriva till och läsa från terminalfönstret Oftast används grafiska komponenter i Java för att kommunicera med användaren (användargränssnitt), men det finns objekt i standardbiblioteken för de tillfällen

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 2017 Outline Java Språket Utmatning av Sträng litteraler Variabler

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

Enkla datatyper minne

Enkla datatyper minne Enkla datatyper minne 143.56 sant Sonja A falskt 18 1999-10-29 Bertil Gralvik, KTH Ingenjörsskolan 1 Addera två tal Algoritmen Summera tal Mata in två tal Beräkna Skriv ut resultat Mata in tal 1 Mata in

Läs mer

Command line argumenter. Objektorienterad Programmering (TDDC77) Vad blir resultatet? Nu då? Ahmed Rezine. Hösttermin 2016

Command line argumenter. Objektorienterad Programmering (TDDC77) Vad blir resultatet? Nu då? Ahmed Rezine. Hösttermin 2016 Command line argumenter Objektorienterad Programmering (TDDC77) Föreläsning VI: eclipse, felsökning, felhantering Ahmed Rezine IDA, Linköpings Universitet Hösttermin 2016 /* Cla. java * Programmet illustrerar

Läs mer

Objektorienterad Programmering (TDDC77)

Objektorienterad Programmering (TDDC77) Objektorienterad Programmering (TDDC77) Föreläsning VI: eclipse, felsökning, felhantering Ahmed Rezine IDA, Linköpings Universitet Hösttermin 2016 Outline Felhantering Eclipse Felsökning Command line argumenter

Läs mer

Föreläsning 3. Programmering, C och programmeringsmiljö

Föreläsning 3. Programmering, C och programmeringsmiljö Föreläsning 3 Programmering, C och programmeringsmiljö Vad är programmering? Ett väldigt kraftfullt, effektivt och roligt sätt att kommunicera med en dator Att skapa program / applikationer till en dator

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

732G Linköpings universitet 732G11. Johan Jernlås. Översikt. Repetition. Felsökning. Datatyper. Referenstyper. Metoder / funktioner

732G Linköpings universitet 732G11. Johan Jernlås. Översikt. Repetition. Felsökning. Datatyper. Referenstyper. Metoder / funktioner 732G11 Linköpings universitet 2011-01-21 1 2 3 4 5 6 Skapa program Kompilera: Källkod Kompilator bytekod Köra: Bytekod Virtuell maskin Ett riktigt program Hej.java class Hej { public static void main (

Läs mer

Tentamen OOP 2015-03-14

Tentamen OOP 2015-03-14 Tentamen OOP 2015-03-14 Anvisningar Fråga 1 och 2 besvaras på det särskilt utdelade formuläret. Du får gärna skriva på bägge sidorna av svarsbladen, men påbörja varje uppgift på ett nytt blad. Vid inlämning

Läs mer

DI-institutionen Sid 1 av 6 Hans-Edy Mårtensson Sten Sundin

DI-institutionen Sid 1 av 6 Hans-Edy Mårtensson Sten Sundin DI-institutionen Sid 1 av 6 Hans-Edy Mårtensson Sten Sundin TENTAMEN I IKB007 INTERNETPROGRAMMERING MED JAVA för SY2 1999-03-17, kl 14.00-18.00 Hjälpmedel: En lärobok i Java programmering Återlämningstillfälle:

Läs mer

Boken?!?! Vad är ett program? Kompilerande-Interpreterande Programmeringsmiljö Hello World! Att programmera och ett enkelt program Variabler printf

Boken?!?! Vad är ett program? Kompilerande-Interpreterande Programmeringsmiljö Hello World! Att programmera och ett enkelt program Variabler printf Föreläsning1 Boken?!?! Vad är ett program? Kompilerande-Interpreterande Programmeringsmiljö Hello World! Att programmera och ett enkelt program Variabler printf scanf Ni behöver läsa boken både för att

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

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

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

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

Språkkonventioner och redigering av tal.

Språkkonventioner och redigering av tal. Språkkonventioner och redigering av tal. Kap J3-1 Konventioner för olika språk hanteras med hjälp av klassen java.util.locale Ett objekt i denna klass beskriver en lokal konvention. Lokala konventioner

Läs mer

E02 "The Review" Föreläsning 2, HT2013 Grunderna, repetition. Johan Leitet. Kurs: 1dv403 Webbteknik I

E02 The Review Föreläsning 2, HT2013 Grunderna, repetition. Johan Leitet. Kurs: 1dv403 Webbteknik I E02 "The Review" Föreläsning 2, HT2013 Grunderna, repetition Kurs: 1dv403 Webbteknik I Johan Leitet E02 - "The Review" Dagens agenda Identifierare Kommentarer Variabler Datatyper Operatorer Villkorssatser

Läs mer

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

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

Läs mer

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

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

Introduktion till Datalogi DD1339. Föreläsning 2 22 sept 2014

Introduktion till Datalogi DD1339. Föreläsning 2 22 sept 2014 Introduktion till Datalogi DD1339 Föreläsning 2 22 sept 2014 Namn Fält1 Fält2 Fält3 Metod1 Metod2 Metod3 Metod4 public class { public class { Åtkomst, public betyder fullt tillgänglig utifrån public

Läs mer

TDDE10 TDDE11, 725G90. Gemensam kurswebsida på:

TDDE10 TDDE11, 725G90. Gemensam kurswebsida på: TDDE10 TDDE11, 725G90 Objektorienterad programmering i Java, Föreläsning 1 Erik Nilsson, Institutionen för Datavetenskap, LiU På denna föreläsning: Kursinformation Imperativa delen av Java Hello World!

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

TENTAMEN OOP

TENTAMEN OOP TENTAMEN OOP 2013-08-08 ANVISNINGAR Påbörja varje ny uppgift på nytt blad. Skriv endast på ena sidan av bladen. Skriv tydligt - oläsbara svar beaktas ej. BETYGSÄTTNING Max antal poäng är 30. För att bli

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

Introduktion till programmering, hösten 2011

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

Läs mer

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

Inledande programmering med C# (1DV402) Introduktion till programmering Introduktion till programmering 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

Läs mer

DAT043 Objektorienterad Programmering

DAT043 Objektorienterad Programmering DAT043 Objektorienterad Programmering Detta är en exempeltenta som innehåller gamla tentauppgifter av ungefär liknande slag som ni kan förvänta er se på ordinarie tenta i Del 1 respektive Del 2. Dock är

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

1 Datorn som miniräknare. 1.1 Räkneoperationer. 1.2 Variabler

1 Datorn som miniräknare. 1.1 Räkneoperationer. 1.2 Variabler 1 Datorn som miniräknare I detta avsnitt tas upp hur man kan skriva program som utför enkla räkneoperationer och skriver resultat på skärmen. Syftet är i huvudsak att se hur flera satser kan bygga upp

Läs mer

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

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

Läs mer

Programmering för språkteknologer II, HT2011. Rum

Programmering för språkteknologer II, HT2011. Rum Programmering för språkteknologer II, HT2011 evelina.andersson@lingfil.uu.se Rum 9-2035 http://stp.ling.uu.se/~evelina/uv/uv11/pst2/ Kursplan Mål Efter avslutad kurs skall studenten för att förtjäna betyget

Läs mer

Objektorienterad Programmering DAT043. Föreläsning 1 15/1-18 Moa Johansson

Objektorienterad Programmering DAT043. Föreläsning 1 15/1-18 Moa Johansson Objektorienterad Programmering DAT043 Föreläsning 1 15/1-18 Moa Johansson Information Lärare: Moa Johansson Assistenter: Klara Granbom Niklas Gustafsson Elias Hällqvist Jakob Wall (lab mån) (lab fre) (lab

Läs mer

Inledning. Statistisk Programmering. UNIVAC 1107 (sextio- och sjuttiotal) Hålkorten. Att använda dator

Inledning. Statistisk Programmering. UNIVAC 1107 (sextio- och sjuttiotal) Hålkorten. Att använda dator Inledning Statistisk Programmering Att använda dator Datorernas utveckling sen 1970 har revolutionerat den statistiska vetenskapen! Göran Broström gb@statumuse Statistiska institutionen Umeå universitet

Läs mer

Python. Python är, som Scheme, ett interpreterat språk men det finns kompilatorer för Python.

Python. Python är, som Scheme, ett interpreterat språk men det finns kompilatorer för Python. är, som Scheme, ett interpreterat språk men det finns kompilatorer för. När man interpreterar ett språk tillhandahåller man en interpretator som läser sats för sats och försöker tolka den. När man kompilerar

Läs mer

Introduktion till datoranvändning. Välkomna till NADA. (Numerisk Analys och DAtalogi) och kursen. Datalogi, grundkurs 1, 15hp

Introduktion till datoranvändning. Välkomna till NADA. (Numerisk Analys och DAtalogi) och kursen. Datalogi, grundkurs 1, 15hp Välkomna Introduktion till datoranvändning Välkomna till NADA (Numerisk Analys och DAtalogi) och kursen Datalogi, grundkurs 1, 15hp DA2001 (Föreläsning 1) Datalogi 1 Hösten 2010 1 / 27 Kursansvarig Välkomna

Läs mer

Tentamen, EDAA10 Programmering i Java

Tentamen, EDAA10 Programmering i Java LUNDS TEKNISKA HÖGSKOLA 1(6) Institutionen för datavetenskap Tentamen, EDAA10 Programmering i Java 2019 08 21, 08.00 13.00 Anvisningar: Preliminärt ger uppgifterna 25 + 15 + 5 = 45 poäng. För godkänt betyg

Läs mer

Elektroteknik MF1016 föreläsning 9 MF1017 föreläsning 7 Mikrodatorteknik

Elektroteknik MF1016 föreläsning 9 MF1017 föreläsning 7 Mikrodatorteknik Elektroteknik MF1016 föreläsning 9 MF1017 föreläsning 7 - Inbyggda system - Analog till digital signal - Utvecklingssystem, målsystem - Labutrustningen - Uppbyggnad av mikrokontroller - Masinkod, assemblerkod

Läs mer

Föreläsning 1-2 innehåll

Föreläsning 1-2 innehåll Föreläsning 1-2 innehåll Om kursen Kursens mål och innehåll Praktisk information om kursen Programmering program, algoritmer variabler, datatyper och tilldelningssatser läsa in värden från tangentbordet,

Läs mer

Python. Python är, som Scheme, ett interpreterat språk men det finns kompilatorer för Python.

Python. Python är, som Scheme, ett interpreterat språk men det finns kompilatorer för Python. är, som Scheme, ett interpreterat språk men det finns kompilatorer för. När man interpreterar ett språk tillhandahåller man en interpretator som läser sats för sats och försöker tolka den. När man kompilerar

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

Övning 1. Datateknik A, Java I, 5 poäng. Att ladda hem och installera Java Att skriva ditt första Javaprogram Att kompilera och exekvera ditt program

Övning 1. Datateknik A, Java I, 5 poäng. Att ladda hem och installera Java Att skriva ditt första Javaprogram Att kompilera och exekvera ditt program Datateknik A, Syfte: Att ladda hem och installera Java Att skriva ditt första Javaprogram Att kompilera och exekvera ditt program Att läsa: Lektion 1 Antal uppgifter: 3 Inlämning: Sker via inlämningsuppgifter

Läs mer

Mattias Wiggberg Collaboration

Mattias Wiggberg Collaboration Informationsteknologi sommarkurs 5p, 24 Mattias Wiggberg Dept. of Information Technology Box 337 SE75 5 Uppsala +46 847 3 76 Collaboration Jakob Carlström Binära tal Slideset 5 Agenda Binära tal Talbaser

Läs mer

Idag. Exempel, version 2. Exempel, version 3. Ett lite större exempel

Idag. Exempel, version 2. Exempel, version 3. Ett lite större exempel Idag Ett exempel Undantag Substitutierbarhet, subtyper, subklasser När val av metod beror av typerna hos två objekt Lite om överlagring Exempel, version 2 Notera: för samtliga figurer gäller: arean av

Läs mer