Programmeringsteknik I: F1 1 Föreläsning 1: Intro till kursen och programmering  Kursens hemsida  Studentportalen.

Slides:



Advertisements
Liknande presentationer
Utveckla en applikation Kursbok: “Objects First with Java - A Practical Introduction using BlueJ”, David J. Barnes & Michael Kölling Fredric Ragnar
Advertisements

F2 - Intro till Java1 Föreläsning 2 - Intro till Java  Sammanfattning av Lektion 1 (kap 2): • Vad behövs för att kunna programmera? • DrJava • Java •
Vad är teknik?.
Självständigt arbete 15 högskolepoäng på Statistik III
Föreläsning 1 i programmeringsteknik och Matlab 2D1312
Eva Pärt Enander och Malin Wester
Datorarkitekturer och operativsystem
Programmeringsteknik Föreläsning 13 Skolan för Datavetenskap och kommunikation.
2D1311 Programmeringsteknik med PBL Föreläsning 7 Skolan för Datavetenskap och kommunikation.
IKT i lärarutbildning IKT Information om IT-miljön – datorer, datasalar med mera.
Medieteknik.
Programmeringsteknik I: F1 1 Föreläsning 1: Intro till kursen och programmering Kursens hemsida Studentportalen.
P-uppgiften: regler, planering och specifikation
1DT066 (5c) Distribuerade Informationssystem
PC-Teknik © CAAK1 PC-teknik Anna-Karin Carstensen Plan 3 el/data tel:
IT och kommunikationsvetenskap Teresa Cerratto Pargman, DSV
Välkommna! till kursen HI1024 Programmering, grundkurs 8,0 hp
Programmeringsteknik K och Media
Att programmera i språket Java
Coach.
GK/ÖK:ITO HT06 IT i organisationer.
IS1500 Datorteknik och komponenter
Forsknings- och utvärderingsmetoder, 15 hp
OOPJ I, 5p Objektorienterad Programmering i Java.
Jonny Karlsson INTRODUKTION TILL PROGRAMMERING Föreläsning 3 ( ) INNEHÅLL: -Jämförelseoperatorer -Villkorssatser -Logiska operatorer.
1 Föreläsning 6 Programmeringsteknik och Matlab 2D1312/2D1305 Metoder & parametrar Array API och klassen ArrayList.
Fastighetsmäklareprogrammet Fastighetsförmedling I Välkommen Viktiga personer, lärare m.m. Upprop Fastighetsmäklareprogrammet Kursplan Kursutvärdering.
Föreläsning 11 J-uppgiften. Nästa period ägnas åt J-uppgiften. Den är individuell, dvs man jobbar på egen hand med uppgiften (inte tillsammans med labbkompisen).
Högskoleverkets kvalitetskonferens i Umeå 2007
Experimentella metoder i fysik 2010 Inledning Kerstin Jon-And.
Petra Andersson MORIA: Introduktion Petra Andersson
Introduktion till klasser, objekt och BlueJ Kursbok: “Objects First with Java - A Practical Introduction using BlueJ”, David J. Barnes & Michael Kölling.
Välkommna! till kursen HI1024 Programmering, grundkurs 8,0 hp
31 March 2015 IS1200 Datorteknik ht2009 föreläsning 2, (D2)1 IS1200 Datorteknik Föreläsning 2 Vi bygger en processor Kursboken, valda delar av kapitel.
IS1200 Datorteknik Föreläsning CE F2 Vi bygger en processor Kursboken, delar av kapitel 7 31 March IS1200 Datorteknik föreläsning CE – F2.
Rörelse och konstruktion
GJ It i organisationer Gudrun Jeppesen DSV.
Beräkningsvetenskap I
Experimentella metoder i fysik 2009 Inledning Kerstin Jon-And.
Jonny Karlsson INTRODUKTION TILL PROGRAMMERING Föreläsning 5 ( ) INNEHÅLL: -Introduktion till programmeringsspråket Java -Den allmänna.
1 L U N D U N I V E R S I T Y Examensarbete 19/ Civilingenjörsprogrammen för bioteknik och kemiteknik.
Introduktion. Administration Jag, B448, , Kursböcker enligt webben Schema enligt webbenwebben Laborationer 23, 29/10 + 7/11 kl
F2 - Intro till Java1 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.
Kursintroduktion 2 Programmeringsteknik, 4p vt-00 Lärare/handledare Föreläsningar Thomas Johansson ank Marie Nordström
Experimentella metoder 2006 Inledning Kerstin Jon-And.
pedagogisk dokumentation
Multimedia och Pedagogik
Välkommen till kursen objektorienterad programmering med Java Kursbok: “Objects First with Java - A Practical Introduction using BlueJ”, David J. Barnes.
Experimentella metoder 2007 Inledning Kerstin Jon-And.
Vo12 Projekt på APL: Lagar och bestämmelser
KID DH2655 Björn Thuresson VIC-Sthlm / MDI Skolan för datavetenskap och kommunikation, KTH PEL DH2460 Åke Walldius MDI Skolan för datavetenskap.
Föreläsning 1 i programmeringsteknik och Matlab 2D1312/ 2D1305 Kursinformation Introduktion till UNIX Introduktion till Emacs Introduktion till Matlab.
KI - 1 Introductory computer programming, 5p (7.5 ECTS credits) VT-03 Teacher and assistents Responsible for the course: Per Lindström
IT Fördjupning Del 2 Lotta Annell. Mål Kursen ger grundläggande kunskaper inom området databaser. Den studerande erhåller kunskaper om att skapa en databas.
22 April 2015IS1200 Datorteknik, föreläsning 11 IS1200 Datorteknik Föreläsning 1 Introduktion.
II1300 Ingenjörsmetodik 7,5 hp HT2010
1-1 Copyright © 2009 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 1-1 Programmering 7.5 hp Programmering är... creativ, fascinerande, roligt,
Revision & Redovisningsval Pernilla Broberg/Torbjörn Tagesson Balans nr 1/2015 s 8Civilekonomen nr 2/2015 s 30.
Läkarprogrammet, Uppsala universitet Ht-2015 Självständigt Arbete (SSA) - en översikt.
Datorteknik Introduction bild 1 Datorteknik Lärare Schema –Föreläsningar –Lektioner –Laborationer Undervisning Kursmaterial Kursinformation.
Studentportalen (och lite till) Roten till universitets webbsidor 3.Innehåller länkar till studentportalen, utbildningskatalogen.
TEKNIK HT17 – ÅK 7.
Automatisering och robotteknik (1TE621) 10 hp VT11
Course info.
TEKNIK HT17 – ÅK 9.
Beräkningsvetenskap I
IT Fördjupning Databaser & Excel.
Föreläsning 16: Tentan, att förbereda sig…
Föreläsning 8: Exempel och problemlösning
Föreläsning 12: Exempel och problemlösning
Presentationens avskrift:

Programmeringsteknik I: F1 1 Föreläsning 1: Intro till kursen och programmering  Kursens hemsida  Studentportalen  Lärare: Tom Smedsaas, rum P2411, tel: Olle Eriksson, rum P2407, tel: Anna Eckerdal, rum P2415, tel:

Programmeringsteknik I: F1 2 Kursmaterial  Kursbok: Introduction to computing & programming with JAVA. Guzdial and Ericson  Kursprogramvara: Java och drJava (eller motsvarande) Tips: Installera på egen dator, se kurshemsidan  Rekommenderas att arbeta med egen laptop  Material på webben, t.ex o Kurshemsida: lektionsmaterial, föreläsningsanteckningar o Portalen (framsteg, filarea att lämna in uppgift 4) o Dokumentation av programmeringsspråket java

Programmeringsteknik I: F1 3 • Lektioner i datasal (UNIX-salar Pollax) – OK använda egen laptop i datasalarna – Arbeta två och två i datasalarna – Kan utföras hemifrån – Ingen redovisning • Föreläsningar (9) • Obligatoriska uppgifter (4 st) – redovisas muntligt i datasal. Uppgift 4 lämnas även skriftligt • Tentamen (obl.) - skriftlig Kursupplägg

Programmeringsteknik I: F1 4 • Obligatoriska uppgifter (3hp) • Tentamen (2hp) Lektionerna är frivilliga, men vi rekommenderar starkt att ni gör dem, och gör dem färdiga innan nästa föreläsning Examination

Programmeringsteknik I: F1 5 Kursmål •Redogöra för grundläggande begrepp inom objektorienterad analys och design •Använda dessa begrepp för att analysera enklare problem och designa lösningar •Använda ett objektorienterat språk, t ex Java •Skriva enklare program med flera samverkande klasser •förklara vad ett givet program utför •använda ett programmeringssystem för att utveckla program

Programmeringsteknik I: F1 6 Lektion 1 •Inställningar av DrJava i PC-lab •Intro till DrJava och intro till Java •Java: Utskrift av variabelvärden och inläsning av värden till variabler •Övningsuppgifter Innehåller mycket material, men med kunskaper i Matlab kan man hoppa över mycket och komma igenom det mesta (utom de avslutande övningsuppgifter)

Programmeringsteknik I: F1 7 Kursboken: Programmera med a multimedia approach •Grafik (kursen) •Bilder (kursen) •Ljud (kursen) •Video (inget i kursen) Demo av några exempel: Turtle, Picture, Sound

Programmeringsteknik I: F1 8 Ex. grafik/turtles World w = new World(); Turtle t = new Turtle(w); t.turn(5); t.forward(8); int i=1; int move=3; while (i<50) { t.forward(move); t.turn(20); Thread.sleep(100); i=i+1; move=move+1; }

Programmeringsteknik I: F1 9 Ex. bilder import java.awt.*; String filename = FileChooser.pickAFile(); // jenny2-green-small.jpg Picture p = new Picture(filename); p.show();

Programmeringsteknik I: F1 10 Ex. bilder forts… int x=200; int y=300; while (x<300) { Pixel pix; for (int i=0; i<=3; i++) { pix = p.getPixel(x,y+i); pix.setColor(Color.red); } x=x+1; } p.repaint();

Programmeringsteknik I: F1 11 Ex. bilder medelvärdesfiltrera pixelisera

Programmeringsteknik I: F1 12 Ex. ljud String filename = FileChooser.pickAFile(); //croak.wav Sound s = new Sound(filename); s.play(); int i=1; while (i<4) { s.play(); Thread.sleep(1000); i++; }

Programmeringsteknik I: F1 13 Varför ska man lära sig programmera? •Datorer och program finns överallt •Programmering = problemlösningsverktyg •Användbart i utbildning och yrkesliv •Java: en bra grund •OOP: spritt på universitet och industri •Kul!

Programmeringsteknik I: F1 14 Datorer och datorprogram finns överallt… •Datorer finns i många apparater

Programmeringsteknik I: F1 15 Vad man lär sig...  Analysera och strukturera problem  Modellera – översätta problemet till datorn  Få en bild av:  Vad innebär programmering? “Programmeringstänk”  Vad menas med objektorienterad programmering?  Programmeringsbegrepp: objekt, klass, metod...  Syntax: språkets byggstenar (if, while,...)

Programmeringsteknik I: F1 16 Hur... •Labbar: –Övningstillfällen, 11 st –Inlämningsuppgifter, 4 st, 6 tillfällen •Föreläsningar: 9 st •Litteratur Sitt mycket vid tangentbordet, dela tiden!

Programmeringsteknik I: F1 17 Programmering handlar om kommunikation Hur få datorn att göra det vi vill?

Programmeringsteknik I: F1 18 Vad är programmering? •Skapa en detaljerad instruktion som en dator kan utföra/förstå för att lösa en uppgift. –Eller ge en vägvisning till ditt hem. –Eller få en robot att göra det du vill. –Som att skriva ett recept till din favoriträtt

Programmeringsteknik I: F1 19 För att programmera behövs… ett språk som instruktionerna skall skrivas i

Programmeringsteknik I: F1 20 Varför inte använda engelska som språk? •Engelska bra för kommunikation mellan (intelligenta) människor •Datorer är dumma –De kan bara +,-,*,/ och jämföra, lagra samt hämta data i minnet. –Behöver ett språk som är enkelt och entydigt.

Programmeringsteknik I: F1 21 Vad är ett program? • En samlad ordning instruktioner som talar om för datorn vad vi vill att den skall göra. • Datorn förstår bara 1:or och 0:or • Instruktionerna måste egentligen alltså ges på ett språk som består av enbart av nollor och ettor

Programmeringsteknik I: F1 22 Programmering i “begynnelsen” •De första datorerna (instruerades) programmerades genom att ställa in strömbrytare och koppla ihop kablar. –Detta representerade sekvenser av 1’or och 0’or. “Programmeringsspråket” bestod alltså av strömbrytare/kablar

Programmeringsteknik I: F1 23 •Därefter kom datorer som programmerades med hålkort. 1’or och 0’or var hål resp. icke hål på kortet Hålkortstans Hålkortsläsare

Programmeringsteknik I: F1 24 •På korten (7 rader ggr 80 kolumner) kunde man lagra instruktioner (programsatser), t.ex. ett kort med instruktionen (högnivåspråk): x=16 Instruktionen består av fyra tecken. Man kodade tecken till binära tal (7-bit). De fyra tecknen i exemplet lagras som binära tal (7 bit) i kolumn 1-4 på kortet. I första kolumnen lagras tecknet x, i 2:a tecknet =, i 3:e tecknet 1 och i 4:e tecknet … … … … … … … x = 1 6

Programmeringsteknik I: F1 25 Tre olika typer av språk • Maskinspråk (maskinkod) – språket man programmerade i datorns begynnelse. • Assemblerspråk • Högnivåspråk För att programmera behövs… ett språk

Programmeringsteknik I: F1 26 •Datorns eget språk •Språket består bara av nollor och ettor •Olika sorters datorer har olika språk •Ex. på 3 st maskinkodsinstruktioner •Knöligt att ”prata” med datorn via ett sådant (lågnivå)språk! Maskinspråk

Programmeringsteknik I: F1 27 • Lite högre nivå • Enkla ord som motsvarar några maskinkod- instruktioner • Ex. assemblerkod LD #10, R0 LD #12, R1 ADD R0, R1 MOV R1, 45 • Översättning från assemblerkod till maskinkod måste göras. • Programmet som översätter kallas assemblatorn. • Assemblerspråk är specifik för en viss datortyp. Assemblerspråk Lagra värdet 10 i datorregistret R0 (LD=load) Addera R0 med R1, lägg resultatet i R1 Innehållet i R1  minnet med adress 45 Lagra värdet 12 i datorregistret R1 (LD=load)

Programmeringsteknik I: F1 28 • Instruktioner av ord och fraser • Lättare att läsa/förstå för människan, men ej för datorn. • Instruktionerna måste översättas till maskinkod • Översättningen kallas kompilering och görs med ett program – kompilatorn. • Instruktionerna kan fungera på olika datortyper, men måste kompileras till rätt maskinkod. Högnivåspråk

Programmeringsteknik I: F1 29 y = a*x*x + b*x + c Högnivåspråk exempel… sum = 0; tal = 1; while (tal<=99) { sum = sum+tal; tal = tal+2; } print(sum); Picture p = new Picture(”jenny.jpg”); p.show(); p.blur(5); p.show(); z = {1,2,3,4};

Programmeringsteknik I: F1 30 • Finns inbyggda funktioner/metoder, bibliotek • Språk stöder olika sorters programmerings- principer: exvis ett objektorienterat språk • Källkod och kompilator • Ett språk har en syntax, dvs en grammatik •Instruktionerna kan fungera på olika datortyper, men måste kompileras till rätt maskinkod. Mer om högnivåspråk

Programmeringsteknik I: F1 31 Vilket högnivåspråk? •Det finns många olika programmeringsspråkprogrammeringsspråk •Kan skriva program i vilket du vill –Datorn bryr sig inte om vilket, eftersom det översätts till maskinkod. •Språket har däremot betydelse för programmeraren. –Hur lång tid tar det att skriva programmet? –Hur svårt är det att ändra programmet? –Hur lång tid tar det att köra programmet?

Programmeringsteknik I: F1 32 Vad är en dator bra på? Kan mycket snabbt •utföra matematiska ( +,-,*,/ ) och/eller logiska (>,<,or,and ) beräkningar •samla in, lagra och bearbeta stora informationsmängder (t.ex. söka/sortera). Och: •Producerar samma svar varje gång

Programmeringsteknik I: F1 33 Är datorn smart? • Nej, datorn är egentligen ganska korkad • Datorn kan bara göra väldigt enkla saker, men väldigt snabbt. • Det är programmen som får datorn som får den att bete sig smart. • Datorn blir intelligent genom att människan skrivit ett program: Att sätta samman enkla instruktioner på ett fiffigt sätt

Programmeringsteknik I: F1 34 En dator består av … •Hårdvara och mjukvara. •Hårdvaran är just det som är hårt, det som går att ta på •Mjukvaran är program och data som behandlas av hårdvaran. Ett program är de instruktioner som får all hårdvara att fungera tillsammans.

Programmeringsteknik I: F1 35 Hårdvaran i datorn •In- och utenheter –Skärm, mus, tangentbord, skrivare •Hjärnan - Central Processing Unit (CPU) –Kan göra matematiska och logiska beräkningar •Minnen –Primärminnet RAM –Sekundärminnen: Hårddisk, CD, DVD, USB

Programmeringsteknik I: F1 36 CPU – Datorns hjärna består av tre delar •Aritmetisk Logisk enhet (ALU) –Datorns “kalkylator” gör aritmetik och logik på tal lagrade i register. •Styrenheten –Läser instruktioner från primärminnet och tolkar dem och utför instruktionerna mha ALU. Därefter läses nästa instruktion. Addera register A med register B. Lagra summan i register C A B C • Register

Programmeringsteknik I: F1 37 CPU Primärminne Här finns program (instruktioner) och data (värden) En modell av en dator ALU Styrenhet Register

Programmeringsteknik I: F1 38 Minnen •Datorns minne används för att lagra data. •Data kan vara instruktioner (program) eller värden. •Den minsta minnesenheten är en bit (Binary digIT) •En bit kan vara av (ingen spänning) eller på (har spänning), vilket kan tolkas som 0 eller 1. •Minnet är organiserat i 8-bits grupper som kallas byte. 1 byte = 8 bit. En megabyte (MB) = 1 miljon byte

Programmeringsteknik I: F1 39 OK, då vet vi att det finns hårdvara som “gör” det hela men för att det ska finnas något att göra så måste det finnas programinstruktioner och det är det vi ska gå igenom på den här kursen, hur man skapar mjukvaran. Givetvis kommer ni inte bli färdigutbildade programmerare men ni kommer att lära er filosofin i mjukvaruutveckling och praktisera den.