Oversikt. Informatikk. INF1000: Grunnkurs i objektorientert programmering. Utenom INF1000 Informasjon & hjelp

Like dokumenter
Litt administrativt. Informatikk studiet og INF1000. Etter denne forelesningen skal du. INF1000: Grunnkurs i objektorientert programmering

Velkommen! I dag. Viktige beskjeder. Studieadministrasjonen. IN Høst Siri Moe Jensen Geir Kjetil Sandve Henrik Hillestad

INF1000 Eksamensforberedelser og -tips. Høst 2014 Siri Moe Jensen

Forelesning inf Java 1

Forelesning inf Java 1

Velkommen til. IN1010 Objektorientert programmering Våren 2018

Læringsmål og pensum. v=nkiu9yen5nc

TDT4110 Informasjonsteknologi, grunnkurs Uke 35 Introduksjon til programmering i Python

INF 1000 høsten 2011 Uke september

INF1000 undervisningen INF 1000 høsten 2011 Uke september

TDT4110 Informasjonsteknologi grunnkurs: Kapittel 1 Introduksjon til Programmering og Python. Professor Alf Inge Wang

Velkommen til. INF våren 2017

Velkommen til. Grunnkurs i Objektorientert Programmering. Universitetet i Oslo. Siri Moe Jensen og Arne Maus

IN1010 Objektorientert programmering Våren 2019

Ukeoppgaver 1: 30. aug 3. sep (INF Høst 2010)

Plan for denne uka: Hva er INF1000. Mål for INF1000: INF 1000 høsten Velkommen til

INF1000 : Forelesning 1 (del 2)

Forelesning inf Java 1

Kapittel 1: Datamaskiner og programmeringsspråk

Kapittel 1: Datamaskiner og programmeringsspråk

som jobbet nærmest døgnet rundt i 18 måneder i Menlo Park i California for å forberede den neste bølgen innen computing.

Litt Java-historikk. Litt Java-historikk. Ulike varianter for ulike behov. Litt Java-historikk. The Green Team

Plan for denne uka: Velkommen til. Hva er INF1000. Mål for INF1000: Grunnkurs i Objektorientert Programmering. Universitetet i Oslo

Feilmeldinger, brukerinput og kontrollflyt

Velkommen til. Grunnkurs i Objektorientert Programmering. Universitetet i Oslo. Arne Maus, Ole Christian Lingjærde og Arild Waaler

Løsningsforslag ukeoppg. 2: 31. aug - 6. sep (INF Høst 2011)

Oversikt. Hva er programmering & Java forkurset til INF1000. Hva er en datamaskin. Arne Maus Inst for Informatikk Univ. i Oslo

Plan for denne uka: Velkommen til. Mål for INF1000: Hva er INF1000. Grunnkurs i Objektorientert Programmering. Universitetet i Oslo

Oversikt. INF1000 Uke 1 time 2. Repetisjon - Introduksjon. Repetisjon - Program

Plan for denne uka: Velkommen til. Hva er INF1000. Mål for INF1000: Grunnkurs i Objektorientert Programmering. Universitetet i Oslo

Velkommen til. INF våren 2016

Innhold. INF1000 Høst Hva skal evalueres? Fra kurssidene. Hvorfor har vi en lærebok? Uke 11: Repetisjon og pensumgjennomgang

Velkommen. Velkommen til INF2270. Datamaskinarkitektur. Motto: Datamaskinen på tvers

TDT4105 Informasjonsteknologi, grunnkurs (ITGK)

Kort om kursene INF1100 og MAT-INF1100L

INF1000: IT og samfunn. Uke 6, høst 2014 Siri Moe Jensen

Kort om kursene IN1900, MAT-IN1105, IN-KJM1900

Kort om kursene IN1900, MAT-IN1105, IN-KJM1900

Kort om meg. INF1000 Uke 2. Oversikt. Repetisjon - Introduksjon

Uke 8 Eksamenseksempler + Ilan Villanger om studiestrategier. 11. okt Siri Moe Jensen Inst. for informatikk, UiO

Velkommen til INF 1000 høsten 2008

Oblig2 - obligatorisk oppgave nr. 2 (av 4) i INF1000

Obligatorisk oppgave nr. 3 (av 4) i INF1000, våren 2006

Oblig2 - obligatorisk oppgave nr. 2 (av 4) i INF1000

TDT4105 Informasjonsteknologi, grunnkurs. Introduksjon til programmering i Matlab

Innhold uke 4. INF 1000 høsten 2011 Uke 4: 13. september. Deklarasjon av peker og opprettelse av arrayobjektet. Representasjon av array i Java

Plan for denne uka: Velkommen til. Mål for INF1000: Hva er INF1000. Grunnkurs i Objektorientert Programmering. Universitetet i Oslo

Kapittel 1. Datamaskiner og programmeringsspråk. 1.1 Programmering

Hvordan blir jeg en ordentlig informatikkstudent? Kurs i studiestrategier med fokus på INF1000

Oblig2 - obligatorisk oppgave nr. 2 (av 4) i INF1000 h2006

OPPGAVESETT 1 INTRO. Delta på andre forelesning i emnet, der hovedkomponentene til datamaskinen blir introdusert. Ta notater!

Fra Python til Java, del 2

Anbefalt litteratur: Pensum-bøker: Forelesere: Velkommen til INF Introduksjon til operativsystemer og datakommunikasjon

INF Obligatorisk innlevering 5

Velkommen til INF Introduksjon til operativsystemer og datakommunikasjon

Øvingsforelesning i Matlab (TDT4105)

Introduksjon til programmering og programmeringsspråk. Henrik Lieng Høgskolen i Oslo og Akershus

Hvordan installere Java og easyio på Windows

2 Om statiske variable/konstanter og statiske metoder.

INF1000 EKSTRATILBUD. Stoff fra uke 1-5 (6) 3. oktober 2012 Siri Moe Jensen

Introduksjon til objektorientert. programmering. Hva skjedde ~1967? Lokale (og globale) helter. Grunnkurs i objektorientert.

Oversikt. INF1000 Uke 2. Repetisjon - Program. Repetisjon - Introduksjon

Introduksjon til dataanlegget ved Institutt for informatikk. Marc Bezem Institutt for informatikk Universitetet i Bergen

INF109 (kun et utvalg av kommentarene er med i denne rapporten)

TDT4105 Informasjonsteknologi, grunnkurs (ITGK)

INF2270 Datamaskinarkitektur

VELKOMMEN TIL MAT-INF 1100

OPPGAVE 1 OBLIGATORISKE OPPGAVER (OBLIG 1) (1) Uten å selv implementere og kjøre koden under, hva skriver koden ut til konsollen?

Kom i gang med Python

Oblig2 - obligatorisk oppgave nr. 2 (av 4) i INF1000 v2008

INF våren Mål for INF1000. Velkommen til INF 1000 våren Kort sagt. Hva er INF1000? Innholdet i kurset. Verktøy

Oblig2 - obligatorisk oppgave nr. 2 (av 4) i INF1000 v2009

Operativsystemer og grensesnitt

IN uke 1. Komme i gang med programmering

Java. INF1000 : Forelesning 2. Ulike varianter for ulike behov. Java Standard Edition (Java SE) Java:

Gi grunnleggende forståelse av noen sentrale. begreper, problemstillinger og metoder innen. Gi noe innsikt i datamaskiners muligheter og

INF2270 Datamaskinarkitektur

VELKOMMEN TIL MAT-INF1100

Alternativ dag for teoriforelesning. Intro. Torsdag 12:15-14:00 R1

Innhold. IN1000 Høst Hva skal evalueres? Fra kurssidene. Uke 12: Pensumgjennomgang og eksamenstips

IN uke 1. Komme i gang med programmering

Oblig 4 (av 4) INF1000, høsten 2012 Værdata, leveres innen 9. nov. kl

TDT4105 Informasjonsteknologi, grunnkurs

Velkommen til INF 1000 våren 2005

TDT4110 Informasjonsteknologi, grunnkurs

156C. Algoritmer og maskinspråk. IT1101 Informatikk basisfag. Maskinspråk: det maskinen forstår. Assembler / assemblerspråk

Velkommen til INF 1000 våren 2006

Kapittel 1: Datamaskiner og programmeringsspråk. Java som første programmeringsspråk

UNIVERSITETET I OSLO

INF2270 Datamaskinarkitektur

VELKOMMEN TIL MAT-INF1100

Ukeoppgaver 2: sep (INF Høst 2010)

UNIVERSITETET I OSLO

Velkommen til INF Introduksjon til operativsystemer og datakommunikasjon

2 Om statiske variable/konstanter og statiske metoder.

Mål for INF1000: Velkommen til INF 1000 høsten 2006 INF1000. Hva er INF1000

IN 147 Program og maskinvare. Velkommen til IN 147. Program- og maskinvare

Hvorfor objektorientert programmering?

Hvorfor objektorientert programmering? Objektorientert programmering i Python: Introduksjon. Læringsmål uke 7. Undervisning og pensum IN1000

Forkunnskapskrav. Hva handler kurset om. Kontaktinformasjon. Kurset er beregnet på en student som kan

Transkript:

INF1000: Grunnkurs i objektorientert programmering Uke 0, høst 2014 Oversikt Informatikk - hva & hvorfor? Datasystemer, maskinvare, programmer Objektorientert programmering i INF1000 Programmeringsspråket Java Praktisk om INF1000 Dette skal du kunne etter uke 0 Utenom INF1000 Informasjon & hjelp Administrativt: Regler, påmelding, fravær, eksamen etc http://www.mn.uio.no/ifi/studier/admin/ Ekspedisjonen i OJD 4. etasje Teknisk: Rom, utstyr, programvare etc http://termvakt.uio.no/ojd Resepsjon/ terminalvakter i OJD 1. etg Egen maskin: Laptop-hjelp http://termvakt.uio.no/studielaben Resepsjonen OJD 1. etg, 18.8 12.9.14 Obliger: Se semestersiden! Informatikk Informatikk er læren om hvordan datasystemer konstrueres og brukes* et datasystem består av en eller flere datamaskiner som kjører programvare og kan være knyttet til et eller flere nettverk for overføring av data. IT: Informatikk handler om teknologi, men også mye mer! * Sitat dekan ved MatNat Morten Dæhlen siriamj, 2014 1

Er informatikk viktig?.. fullt av muligheter? tilfeldig utdrag fra Ifi s forside Forskning.. krevende? Programmering Hva handler det om? Fra Stortingsmelding 10( 2012 2013): God kvalitet trygge tjenester Kvalitet og pasientsikkerhet i helse og omsorgstjenesten: «.. Eksempler på områder der Norge skårer dårlig er informasjonsflyt, kommunikasjon og koordinering mellom ulike deler av helsetjenesten» formulere problemer tenke kreativt omkring løsninger og formulere løsninger klart og nøyaktig Programmering er problemløsning og innebærer å leve mye av tiden med problemer. Eller:.. med å skape noe nytt! siriamj, 2014 2

Grunnkurs i objektorientert programmering Lag på lag på lag INF1000 Hello world! class Demo { Problemløsning Objektorientering Mer fleksibelt & primitivt Programvare < op.system > Mer avansert & sammensatt Java Maskinvare 0 eller 1? Praktisk/ teknisk mellom CPU en og brukeren. Datasystem Programmering en eller flere datamaskiner som kjører programvare og kan være knyttet til et eller flere nettverk (og som samarbeider om en oppgave) Printer Arbeidsbeskrivelse.. Å lære en datamaskin å gjøre noe nytt ved å gi den en detaljert oppskrift i et språk den forstår. I INF1000 gjør vi det på en Linux eller Windows-maskin, ved å - å lage en fil med Java-instruksjoner f eks i emacs - kompilere denne filen (oversette til maskinspråk) PC Datamaskin Program - (rette feilene vi skrev inn i filen) Ruter Programmet kan nå kjøres da gjør maskinen det vi har bedt om! Klar for innsats! siriamj, 2014 3

«Våre» lag Java hva trenger vi? Java kompilator Dine Java programmer Java kjøresystem Kommandovindu Windows eller Linux operativsystem Emacs. <Datamaskin på termstue> Kjøresystemet (Java Runtime Environment, JRE) trengs for å utføre programmene. Hvis man bare kjører ferdig kompilerte programmer er dette nok. Kompilatoren og annet som trengs av de som skriver programmer inngår i Java Development Kit (JDK) sammen med JRE og mye mer. Programmeringsspråket Java Mye brukt Presist/ sikkert lar deg ikke gjøre «farlige» feil Samme programkode kan kjøre på flere maskiner Støtter sentrale konsepter for programmerere Kraftfullt, men kan kjennes omstendelig Undervisning: Nyttig, men krevende i starten Et første Java-program class Uke00 { // Dette programmet gjoer ingenting! /* Kommentarer kan vi ogsaa skrive på denne maaten, over flere linjer */ NB: Java er ikke JavaScript siriamj, 2014 4

og ett til... og ett til... class Uke01 { // Skriver ut en tekst til brukerens skjerm: System.out.println ("Velkommen til INF1000!"); class Uke03 { // Konkatinerer (skjoeter) to tekster // og skriver ut til skjerm: System.out.println ("Velkommen til" + "INF1000!"); og ett til... class Uke02 { // Skriver ut samme tekst til brukerens skjerm: System.out.print ("Velkommen til "); System.out.println ("INF1000!"); Feil uunngåelig & lærerikt Fordi datamaskiner er maskiner er de lite tolerante og lite forståelsesfulle (om ikke de er programmert til å virke slik) Når vi programmerer vil vi heller ikke at maskinen skal begynne å «gjette» hva vi mener (mer akseptabelt ved googling!) Dvs strenge krav til nøyaktighet for at alt funker Kompileringsfeil (typisk skriveleifer) Kjøretidsfeil (noe går feil underveis) Logiske feil (programmet gjør noe annet enn ventet) Tips foreløpig: UNNGÅ NORSKE TEGN HELT siriamj, 2014 5

Linux <log inn> siriamj@eidsberg ~ $ cd Ifi/Programmering/2014./Ifi/Programmering/2014 siriamj@eidsberg ~/Ifi/Programmering/2014 $ emacs Uke01.java & [2] 5141 siriamj@eidsberg ~/Ifi/Programmering/2014 $ javac Uke01.java siriamj@eidsberg ~/Ifi/Programmering/2014 $ java Uke01 Velkommen til INF1000! siriamj@eidsberg ~/Ifi/Programmering/2014 $ INF1000 semesterplan INF1000 2014 Mål for uka Forelesing Obl Uke 0 34 Komme i gang skrive, kompilere, kjøre miniprogram System.out.print/ println Variable, keyboard input, Uke 1 35 Programmering er problemløsning! forgreining Uke 2 36 Kontrollflyt, feilsøking Feilmeldinger. Void metoder 1 Uke 3 37 Hvordan løse problemer med programmering? Enkel looping og enkle arrays 2 Uke 4 38 Hvordan løse problemer som involverer data? Filer og tekst. Value methods 3 Uke 5 39 Hva er objekt orientert programmering? Klasser, objekter og pekere 4 Uke 6 40 Hvilken rolle spiller IT i samfunnet? 5 Uke 7 41 Hvordan lage objektorienterte programmer? Instans metoder. Uke 8 42 Hvordan lage mer komplekse programmer? Mer om skop, typer, konvertering. 6 Uke 9 43 Hvordan kode for skalerering til store systemer? Uke 10 44 Hvordan representeres tall, tekst, bilder og mer på en datamaskin? Hvordan håndtere personvern? 7 Uke 11 45 Et større program Uke 12 46 Repetisjon 47 Prøveeksamen 48 49 Eksamen.. Windows «Normal» undervisningsuke finn emacs på Start-menyen (under Gnu Emacs), start dette <les inn fil eller skriv nytt program, lagre når ferdig> finn Command Prompt på Startmenyen (under Tilbehør) gå til riktig disk, f eks M: C:\Users\siriamj> M: gå til riktig mappe med CD-kommandoen Kompiler programmet ditt med javac Utfør programmet M:\>cd Ifi\Programmering\2014 M:\Ifi\Programmering\2014> javac MittProg.java C:\ java MittProg Mandag Tirsdag Onsdag Torsdag Fredag Helg 08:15 09:15 10:15 11:15 12:15 13:15 INF1000 gruppe. 2 t seminar INF1000 gruppe. 2 t lab 14:15 INF 1000 15:15 forelesning 16:15 17:15 PROGRAMMERING Oblig. oppgaver Øvingsoppgaver siriamj, 2014 6

«Uke 0» Neste uke Mandag1 8.8 Tirsdag 19.8 Onsdag 20.8 Torsdag 21.8 Fredag 22.8 Helg Programmering som problemløsning variable, forgreninger og innlesing fra bruker Kalenderuke 34 INF1000 Forelesning 2 t Frivillig lab «Forkurs trening» 2 t Kalenderuke 35 Mandag 25.8 Øvingsoppgaver Tirsdag 26.8 Lærebok uke 1 Onsdag 27.8 INF1000 Forelesning 2 t Torsdag 28.8 Fredag 29.8 INF1000 gruppe 2 t lab Helg Lykke til med semesteret og programmeringen! Hva bør du kunne etter uke 0? Følg med på semestersiden for Praktisk informasjon og beskjeder Krav til obliger, innlevering Undervisningsplan Pensum og ressurser Flervalgstester for teori Programmeringsoppgaver for praksis, inkl obliger Flervalgstest for uke 0 siriamj, 2014 7