IN 147 Program og maskinvare. Velkommen til IN 147. Program- og maskinvare
|
|
- Tobias Abrahamsen
- 7 år siden
- Visninger:
Transkript
1 Velkommen til IN 147 Program- og maskinvare Dagens tema: Presentasjon av kurset Litt om programmeringsspråket C Registrering av oppmøte Ark 1 av 22 Forelesning
2 Foreleserne Sigbjørn Næss Digitaltekniker E-post: Kontor: NERA sigbjorn Kristin Skar Databehandler - arbeider i driftsgruppen E-post: kritisk Kontor: 3415 Telefon: (228) Forelesning Ark 2 av 22
3 Kurset Hvadreierkursetsegom? Forelesningene Gruppeundervisningen IN 147 og IN 147A Obligatoriske oppgaver Informasjon Forelesning Ark 3 av 22
4 Hva handler IN 147 om? Kurset IN 147 Program- og maskinvare dreier seg om grensesnittet mellom programmer og datamaskinen: Idé Lag et program som... Java p=newelem(4); C *pi++=&a; Assemblerspråk addi $7,$0,3 Maskinkode Forelesning Ark 4 av 22
5 Mål for IN 147 Vi skal studere hvorledes man programmerer på et maskinnært nivå for å få tilgang til datamaskinens ressurser, og hvorledes maskinen er konstruert for tilby støtte for programmeringen. Motto for IN 147 Hva er det egentlig som skjer? Prosessor Som eksempel skal vi bruke prosessoren MIPS som blant annet brukes av Silicon Graphics. Dessuten finnes en simulator kalt xspim (prøv man xspim). Forelesning Ark 5 av 22
6 Forelesningene Forelesningene foregår i Auditorium 1, Helga Engs hus mandager og onsdager Kopi av lysarkene brukt ved mine forelesninger vil bli lagt ut ved terminalstuen i Niels Henrik Abels hus før forelesningene. En oversikt over kurset og alle forelesningene (med lysark) finnes på VVV-siden Dagens forelesning kan for eksempel skrives ut med print -multi4 ~in147/forelesninger/mandag-uke04.pdf Forelesning Ark 6 av 22
7 Gruppeundervisningen IN 147 har en litt egen form for gruppeundervisning. Gruppeundervisningen varer tre timer hver uke. Studentene skal skrive ut ukens oppgaver og gjøre seg kjent med dem før gruppeøvelsen, men ikke løse dem. Gruppene deles i smågrupper på 3 5 personer som skal prøve å løse ukens problemer. Problemene vil oftest være programmeringsoppgaver, men kan også være diskusjonspreget. Noen ganger innebærer oppgaven at studentene må lese utdelt stoff. Gruppelærerne skal være tilgjengelig for spørsmål, men skal ellers ikke delta i løsningen av gruppeoppgavene. Løsningsforslag til oppgavene legges ut på nettet hver fredag. Forelesning Ark 7 av 22
8 Spørretimen (fellesøvelsen) NB! Tidspunktet for spørretimen vil bli endret! I spørretimen kan studentene spørre foreleserne om alt mulig (faglig). Typiske spørsmål kan være: «Jeg skjønte ikke... i forelesningen; kan dere gjenta forklaringen?» «Hvorfor står det... i løsningsforslaget til oppgave...?» «I læreboken står det... ; kan dere forklare dette nærmere?» «Jegharhørtat...;stemmerdet?» Foreleserne vil ikke legge frem noe selv, men bare svare på spørsmål fra studentene. Still gjerne spørsmålene via e-post før spørretimen, slik at vi kan forberede klare svar. Denne formen for gruppeundervisning vil kreve mer initiativ fra studentenes side, men vi tror den vil gi dere betydelig mer utbytte. Forelesning Ark 8 av 22
9 Våre forventninger til dere For at dere skal få fullt utbytte av kurset, forventer vi som forelesere at dere går på forelesningene, deltar aktivt på gruppeøvelsene, tenker ut spørsmål til spørretimen, og programmerer en del selv. Forelesning Ark 9 av 22
10 IN 147 og IN 147A Kurset finnes i to varianter: IN 147 gir 5 vekttall og IN 147A gir 3 vekttall. Begge kursene går samlet fra starten, men IN 147A avsluttes seks uker før IN 147. Forskjeller i innhold Det innholdet man går glipp av ved å ta bare IN 147A, er operativsystemer og I/U, og parallellitet og parallelle datamaskiner. Valg av kurs Det er anledning til å utsette valget mellom IN 147 og IN 147A. Alle er nemlig påmeldt i begge kursene! Man må så melde seg av det kurset man ikke skal ta senest 15. mai (som er to uker før eksamen 29. mai). Forelesning Ark 10 av 22
11 Pensum Læreboken er Patterson & Hennessy: Computer organization & design; the hardware/ software interface, second edition; Morgan Kaufmann, Dessuten trenger man en oppslagsbok i C. Jeg anbefaler Kernighan & Ritchie: The C programming language, second edition (ANSI C); Prentice Hall, Nærmere spesifikasjon av pensum finnes på VVV-siden til kurset. Obligatoriske oppgaver Det vil bli tre obligatoriske oppgaver i IN 147 og to i IN 147A. Disse er ennå ikke endelig fastlagt. Forelesning Ark 11 av 22
12 Informasjon Informasjon om IN 147 vil bli spredt via følgende kanaler: forelesningene, gruppeøvelsene, VVV-siden til kurset ( filområdet ~in147, og nyhetsgruppen ifi.in147. Siste gang Dette er siste gang IN 147(A) går. Høsten 2001 overtar INF-103. Forelesning Ark 12 av 22
13 Obligatorisk fremmøte Det er foreløbig påmeldt 295 studenter til IN 147(A) og vi venter mange etteranmeldinger. For å finne ut hvor mange som virkelig skal følge kurset, blir det registrert hvem som har møtt frem i dag. De andre mister plassen sin! Husk å registrere deg før du går i dag! Forelesning Ark 13 av 22
14 Programmeringsspråket C Bakgrunn Implementasjon av UNIX ved AT&Ts laboratorium i Palo Alto Navnet kommer fra BCPL B C. Opphavsmannen heter Dennis Ritchie. ANSI-standard i Formål: Kunne programmere oversiktlig; lettlest kode. Tilgang til maskinens ressurser. Lite maskinavhengige programmer. Kompakte programmer. Raske programmer. Forelesning Ark 14 av 22
15 Cs fortrinn Mulig å skrive raske programmer. Gode muligheter for strukturering av data og program. Svært kompakt kode: Simula C n := n+1; A[++n] *= 3.1; A[n] := A[n]*3.1; Mulig å skrive elegante, oversiktlige og portable programmer. Fast standard (ANSI C) fra høsten Finnes overalt. Forelesning Ark 15 av 22
16 Cs svake sider Ofte lite portable hvis man ikke tenker på det mens man koder; bedre etter ANSI-C. C tilbyr programmereren større frihet. Kompilatoren vil derfor oppdage færre feil. Java c = (char)((int)c + 1); C c = c+1; Muligheter for kryptisk kode: A[*(*x)++ = y] += 4; Å programmere i Java er som å kjøre en Volvo stasjonsvogn; den duver rolig av gårde på veien, men man kommer trygt frem. Å programmere i C er som å kjøre en Ferrari; den kan gå uhyggelig fort i svingene, men man havner av og til i grøften. ukjent opphavsmann En skrivefeil i C er ingen feil; det er bare et annet program. også ukjent opprinnelse Forelesning Ark 16 av 22
17 Hvorfor er det nyttig å lære C? Det er flere grunner: C er sannsynligvis det mest utbredte språket i dag. C brukes i et flertall av større programmeringsprosjekter. C og UNIX er uløselig knyttet sammen. Med C kan man skrive raskere kode enn de fleste andre språk. Med C kan man skrive svært kompakt kode. Programmering i C gir en følelse av hvorledes datamaskinen fungerer. Forelesning Ark 17 av 22
18 Et minimalt eksempel «Alle» lærebøker i programmering har med følgende lille eksempel: #include <stdio.h> int main(void) { printf("hallo, alle sammen!\n"); } (Det var Kernighan & Ritchies første bok som startet denne moten!) I Java ser programmet slik ut: class Hello { public static void main(string args[]) { System.out.println("Hallo, alle sammen!"); } } Kompilering Følgende kommando kan brukes for å kompilere programmet: cc hallo.c -o hallo Forelesning Ark 18 av 22
19 Forklaring Program Et program er en liste av deklarasjoner av variable og funksjoner: Java Klasse-deklarasjoner C Deklarasjoner Hovedprogrammet «Hovedprogrammet» er en funksjon ved navn main: Java public static void main(... ) { }. { C int main(void) }. Store og små bokstaver Det er forskjell på store og små bokstaver i C. MAIN, Main og main er tre helt ulike navn. Forelesning Ark 19 av 22
20 Funksjoner En C-funksjon ligner veldig på en metode i Java. Den består alltid av fire deler: type på returverdien. Hvis ingen returverdi, skrives void. navn på funksjonen. parameterliste med typeangivelse av hver parameter. Til forskjell fra Java: hvis det ikke er noen parametre, skrives void. kroppen som er selve funksjonen. Den er omsluttet av { og }. Returverdien angis med en return-setning. Forelesning Ark 20 av 22
21 Tekstkonstanter Tekstkonstanter skrives med " foran og bak. Java "En tekst" C "En tekst" I C kan vi legge inn spesialtegn i teksten; det vanligste er \n som angir linjeskift. Java "Hei!\n" C "Hei!\n" Forelesning Ark 21 av 22
22 Utskrift Utskrift skjer via kall på funksjonen printf. Eventuelt linjeskift legges inn i teksten. Java C System.out.print("Hei, "); printf("hei, "); System.out.println("dere!"); printf("dere!\n"); Utskrift av tall Med %d i teksten kan man angi at det skal settes inn et tall. Dette tallet må komme senere i parameterlisten. Java C System.out.println(a + " og " + b); printf("%d og %d\n", a, b); Forelesning Ark 22 av 22
Programmeringsspråket C
Programmeringsspråket C Programmeringsspråket C Implementasjon av Unix ved AT&Ts laboratorium i Palo Alto 1960 75. Navnet kommer fra BCPL B C. Opphavsmannnen heter Dennis Ritchie. ANSI-standard i 1988;
DetaljerProgrammeringsspråket C
Programmeringsspråket C Programmeringsspråket C Laget til implementasjon av Unix ved AT&Ts Bell labs i Palo Alto 1969 73. Navnet kommer fra BCPL B C. Opphavsmannnen heter Dennis Ritchie. ANSI-standard
DetaljerProgrammeringsspråket C
Programmeringsspråket C Bakgrunn Implementasjon av Unix ved AT&Ts laboratorium i Palo Alto 1960 75. Navnet kommer fra BCPL B C. Opphavsmannnen heter Dennis Ritchie. ANSI standard i 1988; omtrent alle følger
DetaljerAnbefalt litteratur: Pensum-bøker: Forelesere: Velkommen til INF Introduksjon til operativsystemer og datakommunikasjon
Forelesere: Velkommen til INF-1060 Introduksjon til operativsystemer og datakommunikasjon Pål Halvorsen (paalh@ifi.uio.no) Nettverk og Distribuerte systemer (ND) (ved Simula) Kjell Åge Bringsrud (kjellb@ifi.uio.no)
DetaljerVelkommen til INF Introduksjon til operativsystemer og datakommunikasjon
Velkommen til INF-1060 Introduksjon til operativsystemer og datakommunikasjon 21.08.2007 INF1060 1 Forelesere: Pål Halvorsen (paalh@ifi.uio.no) Nettverk og Distribuerte systemer (ND) (ved Simula) Kjell
DetaljerVelkommen til INF Introduksjon til operativsystemer og datakommunikasjon
Velkommen til INF-1060 Introduksjon til operativsystemer og datakommunikasjon 22.08.12 INF1060 1 Forelesere: Pål Halvorsen (paalh@ifi.uio.no) Nettverk og Distribuerte systemer (ND) (ved Simula) Tor Skeie
DetaljerDagens tema. Oppsummering om assemblerspråk. Programmering i C. Bakgrunn. Et minimalt eksempel med forklaring. Datatyper i C.
Dagens tema Oppsummering om assemblerspråk Programmering i C (kapittel 11 og 12 i Patt&Patel-boken) Bakgrunn Et minimalt eksempel med forklaring Datatyper i C Operatorer i C Et eksempel til med forklaring
DetaljerVelkommen til INF1060. Introduksjon til operativsystemer og datakommunikasjon
Velkommen til INF1060 Introduksjon til operativsystemer og datakommunikasjon 1 Forelesere Pål Halvorsen (paalh@ifi.uio.no) Nettverk og Distribuerte systemer (ND) (ved Simula) Tor Skeie (tskeie@ifi.uio.no)
DetaljerINF1070. Velkommen til. Datamaskinarkitektur. Motto: Hvordan bygger man en datamaskin? INF1070
Velkommen til Datamaskinarkitektur Motto: Hvordan bygger man en datamaskin? Dag Langmyhr,Ifi,UiO: Forelesning 10. januar 2005 Ark 1 av 10 Første time Introduksjon til kurset Hva handler kurset om? Forelesere
DetaljerArk 1 av 18. programmeringsspråkenes. Velkommen til IN 211. verden. IN 211 Programmeringsspråk
Ark 1 av 18 IN 211 Programmeringsspråk Velkommen til programmeringsspråkenes verden IN 211 Forelesning 20.8.2001 Foreleser Ragnhild Kobro Runde E-post: ragnhilk@ifi.uio.no Kontor: 3345 Treffetid: torsdager
DetaljerINF2270 Datamaskinarkitektur
Velkommen Velkommen til INF2270 Datamaskinarkitektur Motto: Hvordan bygger man en datamaskin? Dagen i dag Første time Introduksjon til kurset Hva handler kurset om? Forelesere Pensum Kursopplegg I pausen
DetaljerVelkommen. Velkommen til INF2270. Datamaskinarkitektur. Motto: Datamaskinen på tvers
Velkommen Velkommen til INF2270 Datamaskinarkitektur Motto: Datamaskinen på tvers Forelesere Forelesere Omid Mirmotahari (omidmi@ifi.uio.no) fra Studielaben, men opprinnelig fra Nanoelektronikk. Dag Langmyhr
DetaljerVelkommen til. INF våren 2017
Velkommen til INF1010 - våren 2017 Idag: 1. time: Om INF1010 2.time: Om Objekter i Java 1 Stein Gjessing og Stein Michael Storleer Universitetet i Oslo 1 INF1010 Objektorientert programmering I INF1010
DetaljerINF2270 Datamaskinarkitektur
Velkommen Velkommen til INF2270 Datamaskinarkitektur Motto: Datamaskinen på tvers Forelesere Forelesere Omid Mirmotahari (omidmi@ifi.uio.no) fra Studielaben, men opprinnelig fra gruppen for Nanoelektronikk.
DetaljerVelkommen til INF1060 høsten 2017
Velkommen til INF1060 høsten 2017 Introduksjon til operativsystemer og datakommunikasjon Presentasjonen er delvis basert på tidligere presentasjoner av Michael Welzl og Dag Langmyhr Foreleserne Pål Halvorsen
DetaljerINF2270 Datamaskinarkitektur
Velkommen Velkommen til INF2270 Datamaskinarkitektur Motto: Datamaskinen på tvers Forelesere Forelesere Omid Mirmotahari (omidmi@ifi.uio.no) fra Studielaben, men opprinnelig fra Nanoelektronikk. Dag Langmyhr
DetaljerIN1010 Objektorientert programmering Våren 2019
IN1010 Objektorientert programmering IN1010 Objektorientert programmering Våren 2019 Stein Gjessing Hva skjer de første to ukene? Forelesninger de to første ukene i dag 1. time: Info om IN1010 i dag 2.
DetaljerINF-103 Fra brukergrensesnitt til maskinvare
Velkommen til INF-103 Fra brukergrensesnitt til maskinvare eller Datamaskinen på tvers Motto: Hva er det egentlig som skjer? Ark 1 av 23 Første time Introduksjon til kurset Hva handler kurset om? Forelesere
DetaljerVelkommen til INF2100 Jeg er Dag Langmyhr
Velkommen til Jeg er Dag Langmyhr (dag@ifi.uio.no). Bakgrunn for I INF1000 20 har dere lært å rammere, men bare små rammer (< 1000 linjer). Hensikten med er å gi mer rammeringstrening Dagens tema: Hva
DetaljerINF-103. Velkommen til. Første time. Fra brukergrensesnitt til maskinvare. eller Datamaskinen på tvers. Andre time
Velkommen til INF-103 Fra brukergrensesnitt til maskinvare eller Datamaskinen på tvers Motto: Hva er det egentlig som skjer? Første time Introduksjon til kurset Hva handler kurset om? Forelesere Pensum
DetaljerINF1000 Eksamensforberedelser og -tips. Høst 2014 Siri Moe Jensen
INF1000 Eksamensforberedelser og -tips Høst 2014 Siri Moe Jensen Hva skal evalueres? Fra kurssidene Etter å ha tatt INF1000 Overordnet pensum kan du skrive små til middels store programmer oppdelt i klasser.
DetaljerVelkommen til INF2100
Kursopplegg Velkommen til INF2100 Jeg er Dag Langmyhr (dag@ifi.uio.no). Dagens tema: Hva går kurset ut på? Bakgrunn for kurset Hvordan gjennomføres kurset? Hvordan får man det godkjent? Pause (med registrering
DetaljerDagens tema. C-programmering. Nøkkelen til å forstå C-programmering ligger i å forstå hvordan minnet brukes.
Dagens tema Dagens tema C-programmering Nøkkelen til å forstå C-programmering ligger i å forstå hvordan minnet brukes. Adresser og pekere Parametre Vektorer (array-er) Tekster (string-er) Hvordan ser minnet
DetaljerIN 147 Program og maskinvare
Dagens tema Mer om C Cs preprosessor Allokering av variable Separat kompilering Programmet make Pekere i C Operasjoner på pekere Pekere og vektorer Referanseparametre Pekere til «alt» og «ingenting» Dynamisk
DetaljerBakgrunnen for INF2100. Velkommen til INF2100. Prosjektet. Hva gjør en kompilator?
Kursopplegg Velkommen til INF2100 Bakgrunnen Bakgrunnen for INF2100 Jeg er Dag Langmyhr (dag@ifi.uio.no). Dagens tema: Hva går kurset ut på? Bakgrunn for kurset Hvordan gjennomføres kurset? Hvordan får
DetaljerVelkommen til. IN1010 Objektorientert programmering Våren 2018
Velkommen til IN1010 Objektorientert programmering Våren 2018 Idag: 1. time: Om IN1010 2. time (+ i morgen og neste uke): Om Java og objekter i Java 1 Stein Gjessing, Siri Jensen og Dag Langmyhr Universitetet
DetaljerOversikt. Informatikk. INF1000: Grunnkurs i objektorientert programmering. Utenom INF1000 Informasjon & hjelp
INF1000: Grunnkurs i objektorientert programmering Uke 0, høst 2014 Oversikt Informatikk - hva & hvorfor? Datasystemer, maskinvare, programmer Objektorientert programmering i INF1000 Programmeringsspråket
DetaljerDagens tema: Enda mer MIPS maskinkode
Dagens tema: Enda mer MIPS maskinkode (P&H: 3.6 3.8 + 6.1 + A.6 + A.10) Pseudoinstruksjoner Flere instruksjoner Mer om funksjonskall Stakken Avhengigheter Direktiver Alt er bit! Kommunikasjon med C Ark
DetaljerOPPGAVE 1 OBLIGATORISKE OPPGAVER (OBLIG 1) (1) Uten å selv implementere og kjøre koden under, hva skriver koden ut til konsollen?
OPPGAVESETT 4 PROSEDYRER Oppgavesett 4 i Programmering: prosedyrer. I dette oppgavesettet blir du introdusert til programmering av prosedyrer i Java. Prosedyrer er også kjent som funksjoner eller subrutiner.
DetaljerForelesning inf Java 1
Forelesning inf1000 - Java 1 Tema: Javas historie Bestanddelene i et Java-program Programvariabler Ole Christian Lingjærde, 22. august 2012 Litt Java-historikk The Green Team I 1991 opprettet Sun Microsystems
DetaljerDel 1 En oversikt over C-programmering
Del 1 En oversikt over C-programmering 1 RR 2016 Starten C ble utviklet mellom 1969 og 1973 for å re-implementere Unix operativsystemet. Er et strukturert programmeringsspråk, hvor program bygges opp av
DetaljerHvordan en prosessor arbeider, del 1
Hvordan en prosessor arbeider, del 1 Læringsmål Kompilator, interpret og maskinkode CPU, registre Enkle instruksjoner: de fire regnearter Mer informasjon om temaet Internett Lokalnett (LAN) Mitt program
DetaljerDagens program. Operativsystemer Prosesser og systemkall i UNIX Hente prosessens nummer Starte prosesser Vente på prosesser Utføre programmer
Dagens program Operativsystemer Prosesser og systemkall i UNIX Hente prosessens nummer Starte prosesser Vente på prosesser Utføre programmer Nyttige forklaringer Sikker opprettelse av nye prosesser Hva
Detaljerpublic static <returtype> navn_til_prosedyre(<parameter liste>) { // implementasjon av prosedyren
Prosedyrer Hensikten med en prosedyre Hensikten med en prosedyre er, logisk sett, å representere en jobb eller en funksjonalitet i et eller flere programmer. Bruk av entall er viktig: vi har generelt en
DetaljerPensum Hovedtanker Selvmodifiserende Overflyt Veien videre Eksamen. Oppsummering
Oppsummering Pensum Grovt sett er alt fra forelesningene og øvingsoppgavene pensum. Detaljert oversikt finnes på kurssidene. Hovedtanker fra kurset Litt om eksamen Hvorfor har dere lært dette? Ikke mange
DetaljerVelkommen til. INF våren 2016
Velkommen til INF1010 - våren 2016 Denne uken (onsdag og torsdag): Om INF1010 Java datastrukturer Klasser med parametre i Java Stein Gjessing Institutt for informatikk Universitetet i Oslo 1 1 INF1010
DetaljerDagens tema INF1070. Vektorer (array er) Tekster (string er) Adresser og pekere. Dynamisk allokering
Dagens tema Vektorer (array er) Tekster (string er) Adresser og pekere Dynamisk allokering Dag Langmyhr,Ifi,UiO: Forelesning 23. januar 2006 Ark 1 av 23 Vektorer Alle programmeringsspråk har mulighet til
Detaljer2 Om statiske variable/konstanter og statiske metoder.
Litt om datastrukturer i Java Av Stein Gjessing, Institutt for informatikk, Universitetet i Oslo 1 Innledning Dette notatet beskriver noe av det som foregår i primærlageret når et Javaprogram utføres.
DetaljerVELKOMMEN TIL MAT-INF1100(L) Knut Mørken knutm@ifi.uio.no Rom 1033, Niels Henrik Abels hus
VELKOMMEN TIL MAT-INF1100(L) Knut Mørken knutm@ifi.uio.no Rom 1033, Niels Henrik Abels hus Forelesere Knut Mørken og Martin Reimers, Matematisk institutt, 10. etg i Niels Henrik Abels hus Arbeider med
DetaljerKapittel 1 En oversikt over C-språket
Kapittel 1 En oversikt over C-språket RR 2015 1 Skal se på hvordan man En innføring i C Skriver data til skjermen Lese data fra tastaturet Benytter de grunnleggende datatypene Foretar enkle matematiske
DetaljerOversikt. INF1000 Uke 1 time 2. Repetisjon - Introduksjon. Repetisjon - Program
Oversikt INF1000 Uke 1 time 2 Variable, enkle datatyper og tilordning Litt repetisjon Datamaskinen Programmeringsspråk Kompilering og kjøring av programmer Variabler, deklarasjoner og typer Tilordning
DetaljerMAT-INF 1100: Obligatorisk oppgave 1
8. september, 2005 MAT-INF 1100: Obligatorisk oppgave 1 Innleveringsfrist: 23/9-2005, kl. 14:30 Informasjon Den skriftlige besvarelsen skal leveres på ekspedisjonskontoret i 7. etg. i Niels Henrik Abels
DetaljerINF 1000 høsten 2011 Uke september
INF 1000 høsten 2011 Uke 2 30. september Grunnkurs i Objektorientert Programmering Institutt for Informatikk Universitetet i Oslo Siri Moe Jensen og Arne Maus 1 INF1000 undervisningen Forelesningene: Første
Detaljerpublic static <returtype> navn_til_prosedyre(<parameter liste>) { // implementasjon av prosedyren
Prosedyrer Hensikten med en prosedyre Hensikten med en prosedyre er, logisk sett, å representere en jobb eller en funksjonalitet i et eller flere programmer. Bruk av entall er viktig: vi har generelt en
DetaljerINF1000 undervisningen INF 1000 høsten 2011 Uke september
INF1000 undervisningen INF 1000 høsten 2011 Uke 2 30. september Grunnkurs i Objektorientert Programmering Institutt for Informatikk Universitetet i Oslo Siri Moe Jensen og Arne Maus Forelesningene: Første
DetaljerMAT-INF 1100: Obligatorisk oppgave 1
3. september, 2004 MAT-INF 1100: Obligatorisk oppgave 1 Innleveringsfrist: 17/9-2004, kl. 14:30 Informasjon Den skriftlige besvarelsen skal leveres på ekspedisjonskontoret i 7. etg. i Niels Henrik Abels
DetaljerKort om kursene IN1900, MAT-IN1105, IN-KJM1900
Kort om kursene IN1900, MAT-IN1105, IN-KJM1900 Joakim Sundnes 1 Ole Christian Lingjærde 1 Department of Informatics, University of Oslo 1 Aug 23, 2017 Plan for 23 august Info om kursene IN1900, MAT-IN1105,
DetaljerUke 8 Eksamenseksempler + Ilan Villanger om studiestrategier. 11. okt Siri Moe Jensen Inst. for informatikk, UiO
Uke 8 Eksamenseksempler + Ilan Villanger om studiestrategier 11. okt. 2011 Siri Moe Jensen Inst. for informatikk, UiO 1 Innhold Eksamen INF1000 Høst 2011: Oppgave 4-7 Tekstmanipulering Metoder med og uten
Detaljer2 Om statiske variable/konstanter og statiske metoder.
Gaustadbekkdalen, januar 22 Litt om datastrukturer i Java Av Stein Gjessing, Institutt for informatikk, Universitetet i Oslo Innledning Dette notatet beskriver noe av det som foregår i primærlageret når
DetaljerIN 147 Program og maskinvare
Dagens tema Mer om C Et eksempel til (med diverse forklaringer) Representasjon av tegn og logiske verdier Vektorer Statusverdi Innhenting av definisjoner Inkrementering og dekrementering av variable for-setningen
DetaljerINF3110 Programmeringsspråk. Velkommen til kurset INF 3110/4110. Programmeringsspråk 1/24
Velkommen til kurset INF 3110/4110 Programmeringsspråk 1/24 Forelesning 1 20.8.2003 Først det praktiske Foreleser: Roger Antonsen E-post: rantonse@ifi.uio.no Kontor: rom 3403 Treffetid: etter avtale Undervisning
DetaljerINF 3110/4110. Velkommen til kurset. Programmeringsspråk. Først det praktiske
Velkommen til kurset INF 3110/4110 Programmeringsspråk 1/24 Først det praktiske Foreleser: Roger Antonsen E-post: rantonse@ifi.uio.no Kontor: rom 3403 Treffetid: etter avtale Undervisning Forelesninger:
DetaljerDen siste dagen. Pensumoversikt Hovedtanker i kurset Selvmodifiserende kode Overflyt Veien videre... Eksamen
Den siste dagen Pensumoversikt Hovedtanker i kurset Selvmodifiserende kode Overflyt Veien videre... Eksamen En oppsummering Oppsummering Pensum Læreboken til og med kapittel 7, kompendiet, forelesningene
DetaljerINF1000 EKSTRATILBUD. Stoff fra uke 1-5 (6) 3. oktober 2012 Siri Moe Jensen
INF1000 EKSTRATILBUD Stoff fra uke 1-5 (6) 3. oktober 2012 Siri Moe Jensen PLAN FOR DAGEN gjennomgå stoff fra uke 1-5(6), men med en litt annen tilnærming kun gjennomgått stoff, men vekt på konsepter og
DetaljerIN 211 Programmeringsspråk. Java. på 20 enkle ark. spesielt for de som kan. Simula. (og gjerne litt C) Ark 1 av 20
Java på 20 enkle ark spesielt for de som kan Simula (og gjerne litt C) Ark 1 av 20 Forelesning 28.9.1998 Et minimalt eksempel Filen Hallo.java ser slik ut: class Hallo { public static void main(string
DetaljerEksamen IN1010/INF1010 våren 2018
Om eksamen Eksamen IN1010/INF1010 våren 2018 PRAKTISK INFORMASJON Hvis du synes noen deler av oppgaven er uklare, kan du legge dine egne forutsetninger til grunn og gjøre dine egne rimelige antagelser.
DetaljerEn oppsummering (og litt som står igjen)
En oppsummering (og litt som står igjen) Pensumoversikt Hovedtanker i kurset Selvmodifiserende kode Overflyt Eksamen En oppsummering Oppsummering Pensum læreboken til og med kapittel 7 forelesningene de
DetaljerKort om meg. INF1000 Uke 2. Oversikt. Repetisjon - Introduksjon
Kort om meg INF1000 Uke 2 Variable, enkle datatyper og tilordning Fredrik Sørensen Kontor: Rom 4311-NR, Informatikkbygget Brukernavn/e-post: fredrso@ifi.uio.no Utdanning: Dataingeniør, 2000 Cand.Scient,
DetaljerLøsningsforslag ukeoppg. 6: 28. sep - 4. okt (INF1000 - Høst 2011)
Løsningsforslag ukeoppg. 6: 28. sep - 4. okt (INF1000 - Høst 2011) Løsningsforslag til oppgave 7, 8, og 9 mangler Klasser og objekter (kap. 8.1-8.14 i "Rett på Java" 3. utg.) NB! Legg merke til at disse
DetaljerKort om kursene INF1100 og MAT-INF1100L
Kort om kursene INF1100 og MAT-INF1100L Hans Petter Langtangen 1,2 Joakim Sundnes 1,2 Simula Research Laboratory 1 University of Oslo, Dept. of Informatics 2 Aug 24, 2016 INF1100 er en første introduksjon
DetaljerProgrammeringsspråket C Del 2
Programmeringsspråket C Del 2 Michael Welzl E-mail: michawe@ifi.uio.no 8/25/10 inf1060 1 Et eksempel Dette er lite eksempel som ber om et tall, leser det og så teller fra det ned til 0. 8/25/10 inf1060
DetaljerProgrammeringsspråket C Del 2
Et eksempel Programmeringsspråket C Del 2 Dette er lite eksempel som ber om et tall, leser det og så teller fra det ned til 0. Kjell Åge Bringsrud E-mail: kjellb@ifi.uio.no inf1060 1 inf1060 2 Forklaring:
DetaljerINF1000: noen avsluttende ord
Pensum Det som er gjennomgått på forelesningene INF1000: noen avsluttende ord Arne og Fredrik Stoff som er behandlet i oppgaver/obliger Notat om Informasjonsteknologi, vitenskap og samfunnsmessige virkninger
DetaljerForelesning inf Java 5
Ole Chr. Lingjærde 1 Forelesning inf1000 - Java 5 Tema: Mer om metoder 2D-arrayer String Ole Christian Lingjærde, 26. september 2013 Ole Chr. Lingjærde Institutt for informatikk, 26. september 2013 1 Strukturen
DetaljerForelesning inf Java 5
Forelesning inf1000 - Java 5 Tema: Mer om metoder 2D-arrayer String Ole Christian Lingjærde, 26. september 2013 Ole Chr. Lingjærde Institutt for informatikk, 26. september 2013 1 Strukturen til et Java-program
DetaljerVektorer. Dagens tema. Deklarasjon. Bruk
Dagens tema Dagens tema Deklarasjon Vektorer Vektorer (array-er) Tekster (string-er) Adresser og pekere Dynamisk allokering Alle programmeringsspråk har mulighet til å definere en såkalte vektor (også
DetaljerInnhold uke 4. INF 1000 høsten 2011 Uke 4: 13. september. Deklarasjon av peker og opprettelse av arrayobjektet. Representasjon av array i Java
INF høsten 2 Uke 4: 3. september Grunnkurs i Objektorientert Programmering Institutt for Informatikk Universitetet i Oslo Siri Moe Jensen og Arne Maus Mål for uke 4: Innhold uke 4 Repetisjon m/ utvidelser:
DetaljerINF1000: noen avsluttende ord
Pensum INF1000: noen avsluttende ord Arne og Ole Christian Det som er gjennomgått på forelesningene Stoff som er behandlet i oppgaver/obliger Notat om Informasjonsteknologi, vitenskap og samfunnsmessige
DetaljerUNIVERSITETET I OSLO
UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i INF3110/4110 Programmeringsspråk Eksamensdag: 3. desember 2004 Tid for eksamen: 9.00 12.00 Oppgavesettet er på 8 sider. Vedlegg:
DetaljerForelesning inf1000 - Java 1
Litt Java-historikk Forelesning inf1000 - Java 1 Tema: Javas historie Bestanddelene i et Java-program Programvariabler Ole Christian Lingjærde, 22. august 2012 The Green Team I 1991 opprettet Sun Microsystems
DetaljerProgrammeringsspråket C Del 2
Programmeringsspråket C Del 2 Kjell Åge Bringsrud E-mail: kjellb@ifi.uio.no 30.08.2005 inf1060 H05 1 Et eksempel Dette er lite eksempel som ber om et tall, leser det og så teller fra det ned til 0. 30.08.2005
DetaljerDagens tema. Nyttige programmer Programmet make. Hvis én fil endres, hvilke filer må da kompileres på nytt?
Dagens tema Nyttige programmer Programmet make Flyt-tall Representasjon av flyt-tall Standarden IEEE 754 Systemkall i Unix Programmet make Det er mange praktiske problemer forbundet med programmering av
DetaljerDagens tema. Nyttige programmer Programmet make. Flyt-tall Representasjon av flyt-tall. Standarden IEEE 754. Systemkall i Unix
Dagens tema Nyttige programmer Programmet make Flyt-tall Representasjon av flyt-tall Standarden IEEE 754 Systemkall i Unix Ark 1 av 24 Programmet make Det er mange praktiske problemer forbundet med programmering
DetaljerVELKOMMEN TIL MAT-INF 1100
VELKOMMEN TIL MAT-INF 1100 1 Forelesere Geir Pedersen, Matematisk institutt, avd. for mekanikk Rom nr. 918 i Niels Henrik Abels hus E-post: geirkp@math.uio.no Arbeider med havbølger og numerisk analyse
DetaljerOversikt. Hva er programmering & Java forkurset til INF1000. Hva er en datamaskin. Arne Maus Inst for Informatikk Univ. i Oslo
Oversikt Hva er programmering & Java forkurset til INF1000 Arne Maus Inst for Informatikk Univ i Oslo I) Hva er en datamaskin Hvordan får vi den til å gjøre det vi vil Et program er en oppskrift til maskinen
DetaljerKapittel 1: Datamaskiner og programmeringsspråk
Kapittel 1: Datamaskiner og programmeringsspråk Redigert av: Khalid Azim Mughal (khalid@ii.uib.no) Kilde: Java som første programmeringsspråk (3. utgave) Khalid Azim Mughal, Torill Hamre, Rolf W. Rasmussen
DetaljerKapittel 1: Datamaskiner og programmeringsspråk
Kapittel 1: Datamaskiner og programmeringsspråk Redigert av: Khalid Azim Mughal (khalid@ii.uib.no) Kilde: Java som første programmeringsspråk (3. utgave) Khalid Azim Mughal, Torill Hamre, Rolf W. Rasmussen
DetaljerDagens tema C, adresser og pekere
Dagens tema C, adresser og pekere (Kapittel 17 i Patt&Patel-boken) Variable og adresser Pekervariable Parametre Dynamisk allokering Stakker og ringbuffere Ark 1 av 26 Adresser Som nevnt tidligere ligger
DetaljerArk 3 av 26. printf("i adresse %08x ligger b med verdien %d.\n", &b, b); printf("i adresse %08x ligger a med verdien %d.
Dagens tema C, adresser og pekere (Kapittel 17 i Patt&Patel-boken) Variable og adresser Pekervariable Parametre Dynamisk allokering Stakker og ringbuffere Adresser Som nevnt tidligere ligger data og programkode
DetaljerEn snarvei til INF2100
Et eksperiment En snarvei til INF2100 I år skal vi gjenta forsøket: Kan INF1000-studenter med ekstra programmeringsbakgrunn klare å gjennomføre INF2100? Hva lærer man i INF2100? INF2100 Prosjektoppgave
DetaljerVELKOMMEN TIL MAT-INF1100(L) Knut Mørken knutm@ifi.uio.no Rom 1033, Niels Henrik Abels hus
VELKOMMEN TIL MAT-INF1100(L) Knut Mørken knutm@ifi.uio.no Rom 1033, Niels Henrik Abels hus Foreleser Knut Mørken, Matematisk institutt Rom nr. 1033 i Niels Henrik Abels hus E-post: knutm@ifi.uio.no Arbeider
DetaljerDagens tema. Hva er kompilering? Anta at vi lager dette lille programmet doble.rusc (kalt kildekoden): Hva er kompilering?
Dagens tema Dagens tema Kildekode Hva er kompilering? Hva er kompilering? Hvordan foreta syntaksanalyse av et program? Hvordan programmere dette i Java? Hvordan oppdage feil? Anta at vi lager dette lille
DetaljerINF1000: Forelesning 7
INF1000: Forelesning 7 Klasser og objekter del 2 Konstruktører Static UML REPETISJON 2 Repetisjon Repetisjon forts. Verden består av objekter av ulike typer (klasser). Ofte er det mange objekter av en
DetaljerINF1000: Forelesning 7. Konstruktører Static
INF1000: Forelesning 7 Klasser og objekter del 2 Konstruktører Static UML REPETISJON 2 Repetisjon Verden består av objekter av ulike typer (klasser). Ofte er det mange objekter av en bestemt type. Objekter
DetaljerVELKOMMEN TIL MAT-INF1100
VELKOMMEN TIL MAT-INF1100 Foreleser Knut Mørken, Institutt for informatikk, CMA Rom nr. 1033 i Niels Henrik Abels hus E-post: knutm@ifi.uio.no Arbeider med numerisk analyse og representasjon av geometri.
DetaljerForelesere. Velkommen til programmeringsspråkenes verden IN211. Praktiske opplysninger. Faglige forutsetninger. Ragnhild Kobro Runde
Forelesere Velkommen til programmeringsspråkenes verden IN211 Ragnhild Kobro Runde e-post: ragnhilk@ifi.uio.no Kontor: 3345 Gerhard Skagestein e-post: gerhard@ifi.uio.no Kontor: 3402 IN211-Innledning-1
Detaljer23.09.2015. Introduksjon til objektorientert. programmering. Hva skjedde ~1967? Lokale (og globale) helter. Grunnkurs i objektorientert.
Grunnkurs i objektorientert programmering Introduksjon til objektorientert programmering INF1000 Høst 2015 Siri Moe Jensen INF1000 - Høst 2015 uke 5 1 Siri Moe Jensen INF1000 - Høst 2015 uke 5 2 Kristen
DetaljerFeilmeldinger, brukerinput og kontrollflyt
Feilmeldinger, brukerinput og kontrollflyt Skjønne hvordan et program presist utføres og forberede seg på håndtering av feil INF1000, uke2 Ragnhild Kobro Runde Programmeringskrøll Programmet vil ikke kjøre
DetaljerIN 147 Program og maskinvare
Dagens tema Basistyper i C Typekonvertering Formater i printf Pekere i C En kort repetisjon om pekere Hva er egentlig en peker? Pekere til alt og ingenting Pekere som parametre Pekere og vektorer Ark 1
DetaljerKort om kursene IN1900, MAT-IN1105, IN-KJM1900
Kort om kursene IN1900, MAT-IN1105, IN-KJM1900 Joakim Sundnes 1 Ole Christian Lingjærde 1 Department of Informatics, University of Oslo 1 Aug 21, 2018 Plan for 21 august Info om kursene IN1900, MAT-IN1105,
DetaljerFra Python til Java. En introduksjon til programmeringsspråkenes verden. Dag Langmyhr
Fra Python til Java En introduksjon til programmeringsspråkenes verden dag@ifi.uio.no Oversikt Introduksjon Python Java Noe er likt Noe bare ser anderledes ut Noe er helt forskjellig Et eksempel Klasser
DetaljerDagens tema. C-programmering. Nøkkelen til å forstå C-programmering ligger i å forstå hvordan minnet brukes.
Dagens tema C-programmering Nøkkelen til å forstå C-programmering ligger i å forstå hvordan minnet brukes. Adresser og pekere Parametre Vektorer (array-er) Tekster (string-er) Hvordan ser minnet ut? Variabler,
DetaljerLæreboken på 45 minutter
Kap 1 Kap 2 Kap 3 Kap 4 Kap 5 Kap 6 Kap 7 Kap 8 Annet Læreboken på 45 minutter Hva er viktig? Hva er ikke fullt så viktig? Hvorfor har vi en lærebok? Læreboken forteller stort sett mer detaljert enn forelesningene.
DetaljerIN 147 Program og maskinvare
Dagens tema: Tallsystemer (P&H: 4.1 4.2) Generelt Binære, oktale og heksadesimale tall Tall, bit og byte Negative tall Assemblerspråk (P&H: 3.1 3.3 + A.9) Datamaskinens oppbygging Enkel aritmetikk Flytting
DetaljerVelkommen til INF Kompilatorteknikk
Velkommen til INF5110 - Kompilatorteknikk Kursansvarlige: Stein Krogdahl [steink@ifi.uio.no] Birger Møller-Pedersen [birger@ifi.uio.no] Eivind Gard Lund (hjelpelærer) [eivindgl@student.matnat.uio.no] Kursområdet:
DetaljerI et Java-program må programmøren lage og starte hver tråd som programmet bruker. Er dette korrekt? Velg ett alternativ
INF2440-V18 Information INF2440 Vår 2018 eksamen Dato og tid: 11. juni 2018 09:00. Varighet: 4 timer Hjelpemidler: Alt skriftlig materiale er tillatt. Ingen elektroniske hjelpemidler er tillatt. Powerpoint
DetaljerDagens tema Kapittel 8: Objekter og klasser
Dagens tema Kapittel 8: Objekter og klasser Hva er objekter og klasser? Programmering med objekter Klassedeklarasjoner Generering av objekter Tilgang til elementer i objektene Objekt- og klassevariable
Detaljer