55
729G46 Informationsteknologi och programmering Tema 1, Föreläsning 1 Jody Foo, [email protected]

729G46 Informationsteknologi och programmering729G46/kursmaterial/... · 2020. 2. 3. · Lärandemål ⁃ redogöra för och relatera grundläggande informationsteknologiska begrepp,

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 729G46 Informationsteknologi och programmering729G46/kursmaterial/... · 2020. 2. 3. · Lärandemål ⁃ redogöra för och relatera grundläggande informationsteknologiska begrepp,

729G46 Informationsteknologi och programmeringTema 1, Föreläsning 1

Jody Foo, [email protected]

Page 2: 729G46 Informationsteknologi och programmering729G46/kursmaterial/... · 2020. 2. 3. · Lärandemål ⁃ redogöra för och relatera grundläggande informationsteknologiska begrepp,

Föreläsningsöversikt⁃ Kursinformation:

Kursplan

Kursupplägg

⁃ Datorn

⁃ Program

⁃ Terminalen som gränssnitt

Page 3: 729G46 Informationsteknologi och programmering729G46/kursmaterial/... · 2020. 2. 3. · Lärandemål ⁃ redogöra för och relatera grundläggande informationsteknologiska begrepp,

Om kursen, kursupplägg och kursplan

Page 4: 729G46 Informationsteknologi och programmering729G46/kursmaterial/... · 2020. 2. 3. · Lärandemål ⁃ redogöra för och relatera grundläggande informationsteknologiska begrepp,

Digitala kontaktytor⁃ Kurshemsida

https://www.ida.liu.se/~729G46/

⁃ Webreg (anmälan till grupper)

https://www.ida.liu.se/webreg3/

⁃ Kursrum på Lisam (inlämningar)

https://lisam.liu.se

⁃ E-postlista

[email protected]

Page 5: 729G46 Informationsteknologi och programmering729G46/kursmaterial/... · 2020. 2. 3. · Lärandemål ⁃ redogöra för och relatera grundläggande informationsteknologiska begrepp,

Personal⁃ Examinator/kursledare

Jody Foo ([email protected])

⁃ Assistenter (handledda datorsalspass)

Daniel Holmer ([email protected])

Ludvig Fors ([email protected])

Otto Fors ([email protected])

⁃ Assistenter (seminarier)

Isabella Koniakowski ([email protected])

Otto Fors ([email protected])

⁃ Kursadministratör

Veronica Kindeland Gunnarsson ([email protected])

⁃ Studierektor

Jalal Maleki ([email protected])

Page 6: 729G46 Informationsteknologi och programmering729G46/kursmaterial/... · 2020. 2. 3. · Lärandemål ⁃ redogöra för och relatera grundläggande informationsteknologiska begrepp,

Kontorstider⁃ Välkomna torsdagar 10-12 (dock ej 22 augusti)

⁃ Rum E 3F:482 i E-huset

Page 7: 729G46 Informationsteknologi och programmering729G46/kursmaterial/... · 2020. 2. 3. · Lärandemål ⁃ redogöra för och relatera grundläggande informationsteknologiska begrepp,

Syftet med kursen⁃ Tillhandahålla

grunder i programmering

grunder i informationsteknologi

⁃ Förkunskapskrav och förberedelse inför fortsättningskurser, t.ex.

Artificiell intelligens

Språkteknologi

Projektkurser

Interaktionsprogrammering

Kandidatuppsats

⁃ Kognitionsvetares roll i arbetslivet

Page 8: 729G46 Informationsteknologi och programmering729G46/kursmaterial/... · 2020. 2. 3. · Lärandemål ⁃ redogöra för och relatera grundläggande informationsteknologiska begrepp,

Kursplanvarje kurs har en kursplan där lärandemål, kursinnehåll och examination beskrivs

Page 9: 729G46 Informationsteknologi och programmering729G46/kursmaterial/... · 2020. 2. 3. · Lärandemål ⁃ redogöra för och relatera grundläggande informationsteknologiska begrepp,

Kursplan⁃ Lärandemål

mål som studenter ska ha nått efter kursen

⁃ Kursinnehåll

ämnen, begrepp m.m. som tas upp i kursen

⁃ Examination

hur examineras kursmålen, hur delas examinationen upp (provkoder)

Page 10: 729G46 Informationsteknologi och programmering729G46/kursmaterial/... · 2020. 2. 3. · Lärandemål ⁃ redogöra för och relatera grundläggande informationsteknologiska begrepp,

Tre huvudområden⁃ Introduktion till programmering, programmeringsspråket

Python

⁃ Diskret matematik

⁃ Grundläggande informationsteknologi

Page 11: 729G46 Informationsteknologi och programmering729G46/kursmaterial/... · 2020. 2. 3. · Lärandemål ⁃ redogöra för och relatera grundläggande informationsteknologiska begrepp,

Lärandemål⁃ redogöra för och relatera grundläggande informationsteknologiska begrepp,

programmering och algoritmiskt tänkande till kognitionsvetenskap och kognitionsvetenskapliga tillämpningar

⁃ använda och förklara begrepp från grundläggande diskret matematik i formella beskrivningar

⁃ använda grundläggande datatyper/datastrukturer och styrstrukturer för att skriva enklare program

⁃ identifiera, förklara och konstruera abstraktioner i programkod med varierande grad av stöd i det underliggande programmeringsspråket

⁃ använda ett metodiskt och interaktivt tillvägagångssätt att lösa programmeringsrelaterade problem genom implementering, testning och felsökning

⁃ utarbeta och tillämpa algoritmer för att lösa problem

⁃ redogöra för vad ett program är och hur ett program fungerar, inklusive sådan programkod som de själva och andra skrivit

⁃ producera program med enkla grafiska användargränssnitt.

Page 12: 729G46 Informationsteknologi och programmering729G46/kursmaterial/... · 2020. 2. 3. · Lärandemål ⁃ redogöra för och relatera grundläggande informationsteknologiska begrepp,

Blooms taxonomi för lärandemål Kognitiva mål1

Kunskapstaxonomi med några aktiva verb för lärandets resultat

Lägre nivå av lärande Högre nivå av lärande

Faktakunskaper Förståelse Tillämpning Analys Syntes Värdering Komma ihåg Förstå med egna ord Använda i den aktuella

kontexten Ta isär i komponenter för att

förstå strukturen Sammanställa nya

mönster och strukturer Bedömning genom

kriterier Värdera Jämföra

Komma fram till Konstrastera

Kritisera Förklara Motivera Bevisa Avgöra Relatera

Sammanfatta Stödja

Försvara Föreslå

1 Bloom Benjamin S. and David R. Krathwohl. Taxonomy of Educational Objectives: The Classification of Educational Goals, by a committee of college and university examiners. Handbook I: Cognitive Domain. New York, Longmans, Green, 1956.

Definiera Beskriva Nämna Välja

Identifiera Lista

Lokalisera Citera

Recitera Upprepa Markera

Ange

Förklara Försvara

Skilja Utveckla

Generalisera Ge exempel

Förutse Skriva om

Sammanfatta Använda

Kunna tillämpa Beräkna Bevisa

Upptäcka Modifiera Verkställa

Förutse Förbereda Producera Relatera

Visa Lösa

Använda Skissera

Identifiera Urskilja Illustrera Peka ut Relatera

Välja Separera Indela Sortera

Differentiera Skissera

Ange Kritiskt bearbeta

Kategorisera Kombinera

Ställa samman Utarbeta Skapa

Tänka ut Konstruera

Förklara Framställa Modiviera Organisera

Planera Rekonstruera

Relatera Sammanfatta Ta ställning

Repetera någon annans definition av

en princip

Förklara principen genom exempel på dess användning

inom andra områden

Personligen använda principen på procedurer i

verkliga situationer

Kan separera fakta från antaganden i principer

Kombinerar ett antal principer till en ny fungerande strategi

Bedöma användningen av den nya strategin

Modellen bygger på en sammanfattning och översättning som Khalid El Gaidi gjort efter Gronlund N.E. How to Write and Use Instructional Objectives. (2000)

Page 13: 729G46 Informationsteknologi och programmering729G46/kursmaterial/... · 2020. 2. 3. · Lärandemål ⁃ redogöra för och relatera grundläggande informationsteknologiska begrepp,

Kursinnehåll⁃ Grundläggande informationteknologi som t.ex. filsystem, filer, internminne, processor, internet, nätverk,

server, klient, databas, kryptering, dataformat som XML, JSON, CSV

⁃ Översiktlig introduktion till datavetenskap

⁃ Handhavande av aktuella datorsystem

⁃ Programmeringsspråket Python

⁃ Kodstil i Python

⁃ Datatyper/datastrukturer, t ex tal, strängar, tupler, listor, sekventiella och hierarkiska strukturer, uppslagsbaserade strukturer

⁃ Styrstrukturer, t.ex. loopar och villkorssatser

⁃ Läsa och skriva information till/från filer

⁃ Läsa data från internetresurser

⁃ Grundläggande objektorienterad programmering

⁃ Grundläggande datavetenskapliga algoritmer som kan tillämpas inom kognitionsvetenskap och för kognitionsvetenskapliga tillämpningar.

⁃ Introduktion till programmeringsmetodik och tekniker för programdesign (t.ex. diagram, pseudokod)

⁃ Grundläggande diskret matematik, t ex mängder, relationer, funktioner, diskreta datastrukturer

⁃ Programmering av enklare grafik och användarinteraktion.

Page 14: 729G46 Informationsteknologi och programmering729G46/kursmaterial/... · 2020. 2. 3. · Lärandemål ⁃ redogöra för och relatera grundläggande informationsteknologiska begrepp,

729G46. Provkoder/Examinationsmoment⁃ LAB1. 2,5hp: Temauppgifter, Tema 1-3

⁃ EXA1. 2,5hp: Inlämningsuppgifter och seminarier, Tema 1-3

⁃ LAB2. 4,5hp: Temauppgifter, Tema 4-6

⁃ EXA2. 1,5hp: Inlämningsuppgifter och seminarier, Tema 4-6

⁃ DUG1. 1hp: Dugga i programmering

Page 15: 729G46 Informationsteknologi och programmering729G46/kursmaterial/... · 2020. 2. 3. · Lärandemål ⁃ redogöra för och relatera grundläggande informationsteknologiska begrepp,
Page 16: 729G46 Informationsteknologi och programmering729G46/kursmaterial/... · 2020. 2. 3. · Lärandemål ⁃ redogöra för och relatera grundläggande informationsteknologiska begrepp,

Betygsättning⁃ Moment med endast U/G:

EXA1 (begreppsseminarier, inlämningsuppgifter Tema 1-3)

DUG1 (dugga + uppgifter inför duggan)

⁃ Moment med U/G/VG:

LAB1, LAB2 (Temauppgifter, Tema 1-6)

EXA2 (seminarier, inlämningsuppgifter, Tema 4-6)

⁃ Kursbetyg

För G på kursen krävs G på alla examinationsmoment.

För VG krävs VG på LAB1, LAB2 och EXA2.

Page 17: 729G46 Informationsteknologi och programmering729G46/kursmaterial/... · 2020. 2. 3. · Lärandemål ⁃ redogöra för och relatera grundläggande informationsteknologiska begrepp,

Kurslitteratur⁃ Informationsteknologi

Janlert, L.-E. (2015). Tänkande och beräkning: en inledning till datavetenskap och kognitionsvetenskap. Studentlitteratur AB.

Lunell, H. (2011). Datorn i världen, världen i datorn: en introduktion till data- och informationsteknik. Studentlitteratur AB.

⁃ Python

Punch, W. F., & Enbody, R. (2017). The Practice of Computing Using Python, Global Edition, 3/E. Boston: Pearson.

⁃ Diskret matematik

Kuhlman, M., & Dahllöf, M. (2014). Matematik för språkteknologer. (PDF)

Ytterligare litteratur finns på kurshemsidan

Page 18: 729G46 Informationsteknologi och programmering729G46/kursmaterial/... · 2020. 2. 3. · Lärandemål ⁃ redogöra för och relatera grundläggande informationsteknologiska begrepp,

Frihet och eget ansvar⁃ "Offensiv kunskapsinhämtning"

⁃ Eget ansvar för aktivt deltagande i dina universitetsstudier

⁃ Finns inte möjlighet att gå igenom allt kursinnehåll på föreläsningar

⁃ Om du missar något moment kommer ingen jaga dig. Du får helt enkelt inga poäng.

⁃ Kogvets "Rekommendationer om examination och kursupplägg" (se kandidatprogramsidorna)

https://www.student.liu.se/program/kognitionsvetenskap-180-hp/student/om-examination-och-kursupplagg?l=sv

Page 19: 729G46 Informationsteknologi och programmering729G46/kursmaterial/... · 2020. 2. 3. · Lärandemål ⁃ redogöra för och relatera grundläggande informationsteknologiska begrepp,

Kursupplägg(hur kursplanen genomförs)

Page 20: 729G46 Informationsteknologi och programmering729G46/kursmaterial/... · 2020. 2. 3. · Lärandemål ⁃ redogöra för och relatera grundläggande informationsteknologiska begrepp,

729G46 Informationsteknologi och programmering⁃ 12hp ~ 320 timmar totalt över 20 veckor.

⁃ Kursen är designad för knapp halvfart (40%) dvs 16h vecka (parallell kurs 24h/vecka)

⁃ Hur många timmar som behövs för varje individ varierar

⁃ Kursen är uppdelad i 6 st teman:

Tema 1-3 grunder

Tema 4-6 fortsättning

⁃ Varje tema 3-4 veckor (48-64h)

Page 21: 729G46 Informationsteknologi och programmering729G46/kursmaterial/... · 2020. 2. 3. · Lärandemål ⁃ redogöra för och relatera grundläggande informationsteknologiska begrepp,

Tema 1-3⁃ Schemalagt / tema

3 föreläsningar

1 lektion

1 seminarium (1h)

4-5 handledda pass i datorsal

⁃ Redovisningar och inlämningar / tema

Seminarium i mindre grupper (3 par)

Temauppgift, muntlig redovisning

Inlämningsuppgift (Diskret matematik + reflektionsuppgift)

⁃ Dugga i mellan Tema 3 och Tema 4 (29 oktober)

⁃ Självstudier

Ni kommer behöva jobba med programmering utanför schemalagd tid

~20h schemalagt av totalt 48-64h tid/tema

Page 22: 729G46 Informationsteknologi och programmering729G46/kursmaterial/... · 2020. 2. 3. · Lärandemål ⁃ redogöra för och relatera grundläggande informationsteknologiska begrepp,

Tema 4-6⁃ Schemalagt / tema

2 föreläsningar

1 lektion

1 seminarium (1h)

4-5 handledda pass i datorsal

⁃ Redovisningar och inlämningar / tema

Temauppgift, muntlig redovisning

Seminarium i mindre grupper (3 par)

Inlämningsuppgift (Rapport)

⁃ Självstudier

Ni kommer behöva jobba med programmering utanför schemalagd tid

~20h schemalagt av totalt 48-64h tid/tema

Page 23: 729G46 Informationsteknologi och programmering729G46/kursmaterial/... · 2020. 2. 3. · Lärandemål ⁃ redogöra för och relatera grundläggande informationsteknologiska begrepp,

⁃ Alla uppgifter med undantag av uppgifterna i diskret matematik samt reflektionsuppgifterna genomförs i av en pargrupp. En pargrupp består av två studenter.

⁃ Tre par (dvs 6 personer) bildar en seminariegrupp.

⁃ Samma pargrupp Tema 1-3. Ny pargrupp Tema 4-6.

Grupper

Page 24: 729G46 Informationsteknologi och programmering729G46/kursmaterial/... · 2020. 2. 3. · Lärandemål ⁃ redogöra för och relatera grundläggande informationsteknologiska begrepp,

Registrera pargrupp för Tema 1-3 i Webreg⁃ Registrera er pargrupp i Webreg.

https://www.ida.liu.se/webreg3

⁃ Pargrupp registreras för två examinationsmoment: LAB1 och EXA1.

⁃ OBS! Se till att ni registrera pargruppen så att den har samma gruppbeteckning i båda examinationsmomenten!

⁃ Om ni registrerar er som grupp D.3 i LAB1 ska ni också registrera er som grupp D.3 i EXA1.

Page 25: 729G46 Informationsteknologi och programmering729G46/kursmaterial/... · 2020. 2. 3. · Lärandemål ⁃ redogöra för och relatera grundläggande informationsteknologiska begrepp,

Uppgifter/seminarier/redovisningar

Page 26: 729G46 Informationsteknologi och programmering729G46/kursmaterial/... · 2020. 2. 3. · Lärandemål ⁃ redogöra för och relatera grundläggande informationsteknologiska begrepp,

Temauppgift⁃ Genomförs i pargrupp.

⁃ Programmeringsuppgift.

⁃ Redovisas muntligt på schemalagt redovisningstillfälle.

⁃ Missad redovisning kompletteras via screencast som lämnas in via Lisam (mer info finns på kurshemsidan)

Page 27: 729G46 Informationsteknologi och programmering729G46/kursmaterial/... · 2020. 2. 3. · Lärandemål ⁃ redogöra för och relatera grundläggande informationsteknologiska begrepp,

Pythonuppgifter (Tema 1-3)⁃ Genomförs som del av Temauppgift 1-3

⁃ Består av 3 delar. T.ex. Pythonuppgifter 1 = 1.1, 1.2, 1.3

⁃ Genomgång av nya programmeringskonstruktioner.

⁃ Övning inför duggan.

⁃ Automatisk rättning:

skriv kod i textfil

kör rättningsskript via terminalen

kopiera rättningskod till textfil (en textfil för varje del)

lämna in textfilerna via Lisam

Page 28: 729G46 Informationsteknologi och programmering729G46/kursmaterial/... · 2020. 2. 3. · Lärandemål ⁃ redogöra för och relatera grundläggande informationsteknologiska begrepp,

Begreppsseminarium⁃ Seminariegrupper: 3 par (6 personer)

Seminariegrupp A består av paren A1, A2 och A3.

45 minuter per seminariegrupp.

⁃ Format

Demonstration på dator

frågor/diskussion

max 12 min per par inklusive frågor

⁃ Komplettering

Missat seminarium kompletteras genom att spela in screencast som lämnas in via Lisam

Page 29: 729G46 Informationsteknologi och programmering729G46/kursmaterial/... · 2020. 2. 3. · Lärandemål ⁃ redogöra för och relatera grundläggande informationsteknologiska begrepp,

Inlämningsuppgift i slutet av teman⁃ Uppgifter i diskret matematik: grundläggande notation och

begrepp

⁃ Reflektion kring temat.

Page 30: 729G46 Informationsteknologi och programmering729G46/kursmaterial/... · 2020. 2. 3. · Lärandemål ⁃ redogöra för och relatera grundläggande informationsteknologiska begrepp,

Översikt, Tema 1-3

Page 31: 729G46 Informationsteknologi och programmering729G46/kursmaterial/... · 2020. 2. 3. · Lärandemål ⁃ redogöra för och relatera grundläggande informationsteknologiska begrepp,

Föreläsning 1-3⁃ Föreläsning 1: Kontext. Vilka färdigheter behöver en

kognitionsvetare? Vad betyder det att programmera en dator? Vad är en dator?

⁃ Föreläsning 2: Programmeringsspråk, Python: operationer och funktioner, variabler och datatyper.

⁃ Föreläsning 3: Datorn som ett diskret system. Diskret matematik: mängder.

Page 32: 729G46 Informationsteknologi och programmering729G46/kursmaterial/... · 2020. 2. 3. · Lärandemål ⁃ redogöra för och relatera grundläggande informationsteknologiska begrepp,

Datorn

Page 33: 729G46 Informationsteknologi och programmering729G46/kursmaterial/... · 2020. 2. 3. · Lärandemål ⁃ redogöra för och relatera grundläggande informationsteknologiska begrepp,

Turing-maskinen (1936)⁃ Teoretisk beskrivning av en beräkningsmaskin / dator

⁃ Maskinens beståndsdelar:

Ett band med oändligt antal rutor som kan innehålla en symbol (eller vara tom)

Ett läs- och skrivhuvud som kan läsa och skriva symboler till/från bandet

En ändlig lista över tillstånd.

Ett tillståndsregister som lagrar maskinens aktuella tillstånd.

En ändlig uppsättning instruktioner som beskriver vad som ska göras givet maskinens tillstånd, samt aktuell symbol.

⁃ En instruktion beskriver

vad som ska göras med aktuell ruta (skriva/sudda)

om/hur huvudet ska flytta på sig

maskinens nya tillstånd efter

Page 34: 729G46 Informationsteknologi och programmering729G46/kursmaterial/... · 2020. 2. 3. · Lärandemål ⁃ redogöra för och relatera grundläggande informationsteknologiska begrepp,

ENIAC - dator utan lagring av program (1945)

USArmyPhoto

Page 35: 729G46 Informationsteknologi och programmering729G46/kursmaterial/... · 2020. 2. 3. · Lärandemål ⁃ redogöra för och relatera grundläggande informationsteknologiska begrepp,

von Neumann-arkitekturen (1945)⁃ En beskrivning av en fysisk arkitektur

⁃ Central processorenhet, Central Processing Unit: styrenhet & aritmetisk-logisk enhet

⁃ Primärminne, Random Access Memory (RAM)

⁃ Input- och output-enhet

Page 36: 729G46 Informationsteknologi och programmering729G46/kursmaterial/... · 2020. 2. 3. · Lärandemål ⁃ redogöra för och relatera grundläggande informationsteknologiska begrepp,

von Neumann-arkitekturen⁃ Data och program lagras i gemensamt minne

⁃ Instruktioner utförs sekventiellt, en instruktion i taget

⁃ En operand ("en styck data") bearbetas åt gången

Page 37: 729G46 Informationsteknologi och programmering729G46/kursmaterial/... · 2020. 2. 3. · Lärandemål ⁃ redogöra för och relatera grundläggande informationsteknologiska begrepp,

von Neumann-arkitekturen⁃ Gemensam lagring av program och data

Ett program kan skriva data som sedan används som program

Vi kan skapa program som hjälper oss skapa mer avancerade program!

⁃ Sekventiell exekvering: förutsägbarhet när program körs

Page 38: 729G46 Informationsteknologi och programmering729G46/kursmaterial/... · 2020. 2. 3. · Lärandemål ⁃ redogöra för och relatera grundläggande informationsteknologiska begrepp,

Några exempel särskilt stora och små datorer

Page 39: 729G46 Informationsteknologi och programmering729G46/kursmaterial/... · 2020. 2. 3. · Lärandemål ⁃ redogöra för och relatera grundläggande informationsteknologiska begrepp,

IBM System/360 Modell 91 på Goddard Space Flight Center slutet på 1960-talet

ByUnknown-NASA,PublicDomain,h:ps://commons.wikimedia.org/w/index.php?curid=931293

Page 40: 729G46 Informationsteknologi och programmering729G46/kursmaterial/... · 2020. 2. 3. · Lärandemål ⁃ redogöra för och relatera grundläggande informationsteknologiska begrepp,

SIM-kort (JavaCard)

h:ps://www.oracle.com/technetwork/java/embedded/javacard/documentaLon/smartcards-136372.html

Page 41: 729G46 Informationsteknologi och programmering729G46/kursmaterial/... · 2020. 2. 3. · Lärandemål ⁃ redogöra för och relatera grundläggande informationsteknologiska begrepp,

Program

Page 42: 729G46 Informationsteknologi och programmering729G46/kursmaterial/... · 2020. 2. 3. · Lärandemål ⁃ redogöra för och relatera grundläggande informationsteknologiska begrepp,

Program⁃ samling instruktioner som utför en specifik uppgift när de

körs på en dator

Page 43: 729G46 Informationsteknologi och programmering729G46/kursmaterial/... · 2020. 2. 3. · Lärandemål ⁃ redogöra för och relatera grundläggande informationsteknologiska begrepp,

Typer av program⁃ Systemprogram/Plattform

Program som systemprogram som hanterar datorns resurser; hur tillämpningsprogram kan/får använda dem.

Exempel: Operativsystem

⁃ Tillämpningsprogram/applikationer

Program som gör att datorn kan användas för en specifik tillämpning av användaren (utöver att bara "fungera")

Exempel: ordbehandlingsprogram, webbläsare

Page 44: 729G46 Informationsteknologi och programmering729G46/kursmaterial/... · 2020. 2. 3. · Lärandemål ⁃ redogöra för och relatera grundläggande informationsteknologiska begrepp,

Operativsystem⁃ Syfte (bl.a.)

Gränssnitt mellan hårdvara och andra program

Gränssnitt mellan program och användare

⁃ Består av flera komponenter

⁃ Exempel på komponenter

processhantering

filsystem

⁃ Exempel på operativsystem

Windows, macOS, Linux, Solaris

Page 45: 729G46 Informationsteknologi och programmering729G46/kursmaterial/... · 2020. 2. 3. · Lärandemål ⁃ redogöra för och relatera grundläggande informationsteknologiska begrepp,

ThinLinchttps://www.ida.liu.se/local/students/remote/index.sv.shtml

Page 46: 729G46 Informationsteknologi och programmering729G46/kursmaterial/... · 2020. 2. 3. · Lärandemål ⁃ redogöra för och relatera grundläggande informationsteknologiska begrepp,

Terminalen som gränssnitt

Page 47: 729G46 Informationsteknologi och programmering729G46/kursmaterial/... · 2020. 2. 3. · Lärandemål ⁃ redogöra för och relatera grundläggande informationsteknologiska begrepp,

Varför använda ett textbaserat gränssnitt⁃ Syfte: miljö för att utveckla och köra egna program

⁃ Enklare (färre rörliga delar):

Output: text (en rad/tecken i taget)

Input: textkommandon

⁃ Kraftfullt

⁃ Jämfört med grafiskt gränssnitt:

Output: fönster med olika interaktiva grafiska komponenter

Input: musposition, musklick, tangenttryckningar, objekt som dras och släpps m.m.

Page 48: 729G46 Informationsteknologi och programmering729G46/kursmaterial/... · 2020. 2. 3. · Lärandemål ⁃ redogöra för och relatera grundläggande informationsteknologiska begrepp,

"Terminalen"⁃ Terminalprogrammet tillhandahåller funktionalitet för

program att visa text och ta emot tangentbordstryck från användaren.

⁃ Terminalprogrammet kör ett skalprogram: bash (Bourne Again SHell) som tillhandahåller ett interaktivt gränssnitt för att köra kommandon

⁃ Prompt: sekvens av tecken som visar att skalet är redo att ta emot ett kommando.

⁃ Tecknet $ används ofta för att representera prompten.

Page 49: 729G46 Informationsteknologi och programmering729G46/kursmaterial/... · 2020. 2. 3. · Lärandemål ⁃ redogöra för och relatera grundläggande informationsteknologiska begrepp,

"Skriva kommandon"⁃ I terminalen kan man köra inbyggda kommandon,

kompilerade program och skript

⁃ Ingen skillnad på kommandon, program och skript till "utseendet"

⁃ Både kommandon och program körs genom att rätt ord skrivs i prompten

⁃ Jämförelse med grafiskt gränssnitt: "i gränssnittet kan du klicka på knappar, program och skript"

⁃ I kursen kommer ordet "kommando" att användas för att referera till alla varianter

Page 50: 729G46 Informationsteknologi och programmering729G46/kursmaterial/... · 2020. 2. 3. · Lärandemål ⁃ redogöra för och relatera grundläggande informationsteknologiska begrepp,

Argument⁃ De flesta kommandon tar emot argument

⁃ Som användare använder vi argument för att styra ett programs beteende

⁃ Syntax för kommando + argument:

$ kommando argument1 argument2

Page 51: 729G46 Informationsteknologi och programmering729G46/kursmaterial/... · 2020. 2. 3. · Lärandemål ⁃ redogöra för och relatera grundläggande informationsteknologiska begrepp,

Sökväg⁃ Beskrivning av en plats i filsystemet

⁃ Filsystem: består av kataloger och filer

Kataloger kan innehålla kataloger och filer

Filer innehåller data

⁃ Tecknet / används som skiljetecken mellan namnet på en katalog och kataloger eller filer som ligger i den

Page 52: 729G46 Informationsteknologi och programmering729G46/kursmaterial/... · 2020. 2. 3. · Lärandemål ⁃ redogöra för och relatera grundläggande informationsteknologiska begrepp,

Filsystemets trädstruktur⁃ katalog1

⁃ katalog1/katalog1_1

⁃ katalog1/katalog1_1/fil4

⁃ katalog2/hejsan/hoppsan/fallerallera

Page 53: 729G46 Informationsteknologi och programmering729G46/kursmaterial/... · 2020. 2. 3. · Lärandemål ⁃ redogöra för och relatera grundläggande informationsteknologiska begrepp,

Rot-, arbets- föräldra- och hemkatalog⁃ Toppen av filträdet, "roten": /

⁃ Aktuell katalog (arbetskatalog): ./

⁃ Föräldrakatalog: ../

⁃ Din användares hemkatalog: /home/<liuid>

/home/jodfo01

Page 54: 729G46 Informationsteknologi och programmering729G46/kursmaterial/... · 2020. 2. 3. · Lärandemål ⁃ redogöra för och relatera grundläggande informationsteknologiska begrepp,

Absoluta och relativa sökvägar⁃ Absolut sökväg har med roten

/courses/729G46/kursmaterial/temauppg1

/home/jodfo01/katalog1/fil1

/home/jodfo01/katalog1/katalog2/fil2

/home/jodfo01/katalog1/katalog3/fil3

⁃ Relativ sökväg har inte med roten och utgår från aktuell arbetskatalog (katalogen man står i)

kursmaterial/temauppg1

katalog1/fil1

../katalog3/fil3

Page 55: 729G46 Informationsteknologi och programmering729G46/kursmaterial/... · 2020. 2. 3. · Lärandemål ⁃ redogöra för och relatera grundläggande informationsteknologiska begrepp,

Exempel på kommandon⁃ echo: skriver ut dess argument

⁃ ls: visar innehåll i katalog

⁃ cd: byter katalog

⁃ mv: flytta fil eller katalog

⁃ mkdir: skapa katalog

⁃ cat: skriv ut innehåll i fil

⁃ touch: skapa ny fil/uppdatera senast ändrad hos existerande fil

⁃ man: hjälptext för kommando