Föreläsning 1: Intro till kursen och programmering



Relevanta dokument
Föreläsning 1: Intro till kursen och programmering

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

Studentportalen UNIX-konton (systemansvariga P4118) Lärare: Anna Eckerdal,

Studentportalen UNIX-konton (systemansvariga P4118) Lärare: Tom Smedsaas,

Grundkurs i programmering - intro

Program & programmering

Programmeringsteknik I

Introduktion till programmering och Python Grundkurs i programmering med Python

Föreläsning 1: Introduktion till kursen

Föreläsning 2. Operativsystem och programmering

TDIU01 (725G67) - Programmering i C++, grundkurs

Imperativ programmering

Föreläsning 1: Introduktion till kursen

TDDC77 Objektorienterad Programmering

Datorsystemteknik DAV A14 Föreläsning 1

Datorarkitektur. Informationsteknologi sommarkurs 5p, Agenda. Slideset 3

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

Programmeringsteknik II

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

Föreläsning 1: Introduktion till kursen

Programmering för alla!

IT för personligt arbete F5

Välkomna till kursen i grundläggande programmering DVGA08, ISGA04

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

Föreläsning 1 & 2 INTRODUKTION

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. Binära tal. En enkel modell av datorns inre

OOP Objekt-orienterad programmering

Objektorienterad Programmering (TDDC77)

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

Föreläsning 1 & 2 INTRODUKTION

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

Programmering för alla!

Objektorienterad Programmering (TDDC77)

Föreläsning 5 5DV086 - Programspråk

DD1361 Programmeringsparadigm Föreläsning 1: Intro

Introduktion till programmering. Programspråk och paradigmer

Introduktion till programmering

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

En Von Neumann-arkitektur ( Von Neumann-principen i föreläsning 1) innebär:

Introduktion till programmering, hösten 2011

System S. Datorarkitektur - en inledning. Organisation av datorsystem: olika abstraktionsnivåer. den mest abstrakta synen på systemet

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

Innehålls förteckning

Objektorienterad programmering i Java

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

Programmering och begrepp

Programmering. Den första datorn hette ENIAC.

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

Grundläggande datavetenskap, 4p

HF0010. Introduktionskurs i datateknik 1,5 hp

KURSMÅL WINDOWS STARTA KURSEN

F2: Motorola Arkitektur. Assembler vs. Maskinkod Exekvering av instruktioner i Instruktionsformat MOVE instruktionen

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

Introduktion till Datalogi DD1339. Föreläsning 1 8 sept 2014

DD1361 Programmeringsparadigm Föreläsning 1: Intro

Definition DVG A06. Varför operativsystem? Operativsystem. Översikt. - Vad är ett operativsystem?

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.

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

Introduktion till programmering D0009E. Föreläsning 1: Programmets väg

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

Felsökande av en Lego Mindstorm robot

Programmering och begrepp

Datorsystemteknik DAV A14 Föreläsning 1

F4. programmeringsteknik och Matlab

JAVAUTVECKLING LEKTION 1

Operativsystem DVG A06. Definition. Varför operativsystem? - Vad är ett operativsystem?

Assemblerprogrammering del 1

Grundläggande programmering med matematikdidaktisk inriktning för lärare som undervisar i gy eller komvux gy nivå, 7,5 hp

TDDE44 Programmering, grundkurs

Varmt välkommen till en helt ny värld.

729G74 IT och programmering, grundkurs. Tema 1, Föreläsning 2 Jody Foo,

Objektorienterad Programmering (TDDC77)

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

Digitalt lärande och programmering i klassrummet

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

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

Extra lab. Nu på fredag kl 8-12 Frivillig Enbart hjälp med projektuppgiften Ingen examination

Programmering från början

729G75: Programmering och algoritmiskt tänkande. Tema 1, föreläsning 1 Jody Foo

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

Mjukstart i programmering

NetBeans 7. Avsikt. Projektfönster

DVG A06. Operativsystem, mm. Karlstads universitet Datavetenskap. DVG A06 Johan Eklund. Datavetenskap, Karlstads universitet 1

Programmering A. Johan Eliasson

729G75: Programmering och algoritmiskt tänkande. Tema 1. Föreläsning 1 Jody Foo

Industriella styrsystem, TSIU06. Föreläsning 2

IT för personligt arbete F6

Övningar i 2D2050. Per-Anders Staav (kallas Pa) Epost: eller

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

Översikt 732G11 PROGRAMMERING 1. Personal. Kursens mål. Litteratur. Kursens innehåll

Program kan beskrivas på olika abstrak3onsnivåer. Högnivåprogram: läsbart (för människor), hög abstrak3onsnivå, enkelt a> porta (fly>a 3ll en annan ar

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.

Evaluation Summary - CDT104 Grundläggande Webbdesign HT07 Dan Levin

Föreläsning 2 Programmeringsteknik och Matlab DD1312. Programspråk. Utskrift på skärmen

Digital- och datorteknik

Alla datorprogram har en sak gemensam; alla processerar indata för att producera något slags resultat, utdata.

ITK:P1 Föreläsning 1. Programmering. Programmeringsspråket Java. Stark typning Explicit typning Strukturerat Hög säkerhet

NetBeans 5.5. Avsikt. Projektfönster

Digitalteknik EIT020. Lecture 15: Design av digitala kretsar

Transkript:

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 rum P2411, tel: 471 2989 Olle Eriksson, Olle.Eriksson@it.uu.se rum P2407, tel: 471 2983 Anna Eckerdal, Anna.Eckerdal@it.uu.se rum P2415, tel: 471 7893 Programmeringsteknik I: F1 1

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 Kurshemsida: lektionsmaterial, föreläsningsanteckningar Portalen (framsteg, filarea att lämna in uppgift 4) Dokumentation av programmeringsspråket java Programmeringsteknik I: F1 2

Kursupplägg 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 (3 hp) redovisas muntligt i datasal. Uppgift 4 lämnas även skriftligt Tentamen (2 hp.) - skriftlig Programmeringsteknik I: F1 3

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 4

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 5

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 6

Hur... Labbar: Övningstillfällen, 11 st Obligatoriska uppgifter, 4 st, 6 tillfällen Föreläsningar: 9 st Litteratur Sitt mycket vid tangentbordet, dela tiden! Programmeringsteknik I: F1 7

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

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 9

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 10

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

Maskinspråk 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 1100 1000 1001 1111 0100 0011 1011 0001 0110 0011 1011 1000 Knöligt att prata med datorn via ett sådant (lågnivå)språk! Programmeringsteknik I: F1 12

Lite högre nivå Enkla ord som motsvarar några maskinkodinstruktioner Ex. assemblerkod LD #10, R0 LD #12, R1 ADD R0, R1 MOV R1, 45 Assemblerspråk Lagra värdet 10 i datorregistret R0 (LD=load) Lagra värdet 12 i datorregistret R1 (LD=load) Addera R0 med R1, lägg resultatet i R1 Innehållet i R1 minnet med adress 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. Programmeringsteknik I: F1 13

Högnivåspråk 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. Programmeringsteknik I: F1 14

Mer om högnivåspråk Finns inbyggda funktioner/metoder, bibliotek Språk stöder olika sorters programmeringsprinciper: 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. Programmeringsteknik I: F1 15

Vilket högnivåspråk? Det finns många olika programmeringssprå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 16

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 17

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 18

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

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. A B C Register 345 263 608 Programmeringsteknik I: F1 20 Addera register A med register B. Lagra summan i register C.