Datavetenskap: En återblick Jonas Sjöström jonas.sjostrom@dis.uu.se Aktuellt & viktigt Studentkonto för åtkomst av skolans datorer och nätverk! Dagens agenda 1. Om kursen 2. Tidig historia 3. Modern historia 4. Internethistoria 5. Internet och tillämpningar 1
Computers are useless. They can only give you answers. Pablo Picasso 1. OM KURSEN Efter genomgången kurs förväntas studenten kunna... Hantera de grundläggande funktionerna i Windows, MacOS X samt i en Unix-baserad miljö Redogöra för en dators arbetssätt, inklusive den fysiska arkitekturen Beskriva hur ett operativsystem fungerar Redogöra för hur datornätverk, inklusive Internet, är uppbyggda, samt hur informationen överförs mellan datorer via datornätverk 2
Efter genomgången kurs förväntas studenten kunna... Beskriva programmering och systemutveckling, och hur en enkel databas är uppbyggd Konstruera en enkel hemsida i HTML Översiktligt beskriva utvecklingen inom artificiell intelligens Översiktligt beskriva områden inom datavetenskap, såsom artificiell intelligens, e-handel och affärssystem Ha en grundläggande förståelse för människadatorinteraktion. Examination Som betyg på kursen används något av uttrycken väl godkänd, godkänd och underkänd. Inlämningsuppgifter Måste bli godkända för att kursen skall räknas som slutförd Tentamen Skriftlig tentamen Ligger till grund för slutbetyg i kursen (U/ G/VG) Se & höra Göra Examination F1 Intro (JS) Lab 1-2 Office (SB) Office-uppgift F2 Historik (JS/?) Lab 2 HTML (SB) HTML-uppgift F3 Bygga dator (FB) F4 OS (JS) Lab 3 Datorark. (S B+FB) Lab 4 MacOS (TP) Genomförd övning på lab MacOS-uppgift Icke-kursiverade moment ligger till grund för F5 Nätverk (JS+gäst) Tenta F6-F7 MDI (JS) F9 Säkerhet & e -handel (JS) F8 AI (MC) Författa PM (SB+JS) PM + seminarium Påverkar utformning av F10 Program, system & data (JS) F11-F12 Programmering (FB) Lab 5 Programmering (FB) Programmering s-uppgift F13 Systemutveckling (JS) 3
Undervisande lärare Jonas Sjöström (JS) Huvudlärare, föreläsning, seminarium Fredrik Bengtsson (FB) Föreläsning, laboration Sofia Bryntse (SB) Laboration, seminarium Mats Cedvall (MC) Föreläsning Torsten Palm (TP) Laboration Litteratur Brookshear, J. Glenn (2008) Computer science : an overview, 10th Ed. : - Boston : Pearson/Addison-Wesley Gralla, Preston (2003) How the Internet works, 7th. ed. : - Indianapolis, Ind. : Que Oestreicher, Lars : Computer Science - selected readings : Säljs som bokpaket med Brookshear och Gralla 2. TIDIG HISTORIA 4
Datorns utveckling Många välkända fakta om datorns ursprung Kort utvecklingshistoria Intensiv teknikutveckling Hänger människan med? En gammal sliten liknelse Volkswagens bubbla kom ungefär samtidigt som första datorn Om bilar hade utvecklats i samma tempo som datorer sedan dess hade dagens bil: Uppnått ljusets hastighet Fått plats i fickan Dragit en cl bensin per mil Vad är egentligen en dator? En multi-purpose machine med stor flexibilitet, tack vare uppdelning i maskinvara och programvara En utförare av algoritmer Ett verktyg som kan öka vår förmåga i en mängd sammanhang Räkna, sammanställa, visualisera, minnas, kommunicera 5
Verktyg för räkning.... Ingen nymodighet! Abakus (antiken) Räknesticka (1600-tal) Den analytiska maskinen: Världens första dator Charles Babbage skapade ritningen för världens första programmerbara dator (som dock aldrig blev byggd) Ada Lovelace är ett känt namn i datorvärlden, då hon presenterade världens första datorprogram, skapat för den analytiska maskinen Vävstolsdator Babbage design var influerad av de s k Jacquard-vävstolarna, vars mönster programmerades med hålkort 6
3. MODERN HISTORIA Control Mechanism Read/Write Head Write Symbol Read Symbol Move Tape En Turingmaskin kan utföra de operationer som krävs för att kunna beräkna alla beräkningsbara problem. En maskin som klarar detta är Turing -komplett. Turingmaskinen presenterades av Alan Turing (till höger) 1936 som en teoretisk modell. I think there is a world market for about five computers Thomas Watson, IBM, 1943 7
Electronic Numerical Integrator And Calculator ENIAC Byggdes 1941-1946 En av de första helelektroniska Turingkompletta maskinerna 30 ton 130 m 3 18000 elektronrör Effektbehov 174 kw Känslig; gick sönder ett par gånger i veckan Alto Computer April 1973 färdigställer den första Altodatorn på Xerox PARC 3-knappars mus GUI WYSIWYG Ethernet-nätverk Objektorienterad programmering There is no reason for any individual to have a computer at home. Ken Olsen, Digital Equipment, 1979 8
1979-82 TRS 80 Luxor ABC 80 Sinclair ZX 81 Commodore PET Atari 1040 S Commodore VIC 64 Juni 1981 Xerox introducerar Star "640K [of memory] ought to be enough for anybody." Bill Gates (1981) 9
Januari 1983 Apple introducerar Lisa Januari 1983 Visicalc Kalkylblad Januari 1983 Microsoft annonserar Windows 10
Januari 1984 Apple Macintosh släpps Januari 1984 Digital GEM från Atari Januari 1984 MIT X-Windows (Unix) 11
1985 Windows 1.0 släpps 1985-1988 Compis ABC80: Svensk dator, välanvänd under sent 70-tal COMPIS, Svensk dator, välanvänd i skolor i Norge, Sverige och Finland under 1985-1988 1987 Apple lanserar färggrafik 12
1987 Windows 2.0 1988 NeXT Computer 1992 Windows 3.11 13
Utvecklingen bakom skärmen Programvarans utveckling inte lika tydlig Handlar bl.a. om: Minne (storlek) Hastighet Programmeringssätt Operativsystem och applikationer på en marknad Generation 1 Mekaniska switchar (Mark I) Hålkortsprogrammering Batchprogrammering Arbetet sker vid en dator av en användare i taget Mycket arbete för att göra en enstaka beräkning Användare och programmerare ofta samma person 14
Generation 2 Terminaler vid stordator Timesharing Fleranvändarsystem Gemensam resurs som delas mellan användare Generation 3 Persondatorer PC Lokal dator för enskilda användare Inget beroende av andra Lokal administration Generation 4 Nätverksterminaler modern variant av timesharing programvaran finns någonstans på nätet Mikrodatorer Handdatorer Intelligenta telefoner etc. 15
Annan teknik? Programmeringsspråk Första programmeringsspråket direkt koppling av sladdar i minnet strömbrytare Mer eller mindre hårdkodade program Programmeringsspråkens utveckling 1 och 0 används för att styra signaler Maskinkod (hexadecimal) Assembler Lågnivåspråk Högnivåspråk 4-e generationens språk Kodgeneratorer AI-språk, KunskapsBaserade System 16
4. INTERNETHISTORIA Internet Vad är Internet? Stort nätverk av datorer Erbjudande av tjänster Historien före WWW Ett vanligt misstag är: Internet = WWW ARPANet 1962 påbörjas en ansats till Internet Advanced Research Project Agency (ARPA) skapar ett första nät 1969 fyra universitet Stanford UCLA UC Santa Barbara University of Utah Internet anno 1969 17
E-post Framgången för ARPAnet berodde till stor del på e-post De andra nyttoaspekterna hamnar i bakgrunden 1973 Internet blir internationellt kopplas till England och (!) Norge Usenet News 1979 skapas ett utvidgat e- diskussionssystem Diskussionsgrupper inom många områden 1981 har ARPAnet 213 servrar 1 ny var 20:e dag (ca) Internet Begreppet Internet myntas 1982 Genom att skapa protokollet TCP/IP etableras ett mer generellt Internet Lös grupp av datorer som tillsammans bildar nätet. 18
Neuromancer William Gibson skriver sin novell och skapar begreppet CYBERSPACE år 1984 Universitetens roll Universitet och myndigheter driver på utvecklingen Antalet datorer på Internet är mer än 10 000 år 1987 Första Nätmasken släpptes 1988 Nätbrottslighet Nätmasken visar på en ny aspekt av datanätet hacking cracking elektroniska inbrott Virus! Elektroniskt spionage Bedrägerier et cetera 19
World Wide Web (WWW) World Wide Web skapas av bl.a. Tim Berners-Lee 1991 Första browsern Mosaic kom 1993 Pizza Hut tar emot orders via nätet 1994 (med immediate delivery) 5. INTERNET OCH TILLÄMPNINGAR Initial ide: koppla ihop datorer dela filer och data Fick en del biprodukter talk (chat mellan två personer) E-post ett tidigt medium Idag används Internet på mängder av (initialt ej kända/tänkta) sätt 20
Internets tillväxt 1981 231 servrar 1984 1.000 servrar 1987 10.000 servrar 1988 60.000 servrar 1989 100.000 servrar 1990 300.000 servrar 1992 1.000.000 servrar 1996 10.000.000 servrar 2000 600 miljoner användare 2007 1.173.109.925 användare (30/6) E-post En av de första praktiska tillämpningarna av nätverk Effektivt, snabbt, asynkront känd metafor Hittade snabbt en nisch E-postmeddelanden en egen språklig stil (SPAM) Mailing-listor Massbrev Utvalda personer Enkelt diskussionsforum Usenet News Utvecklad mailinglista 21
File Transfer Protocol (FTP) Tidig tillämpning av Internet Ett sätt att flytta information över Internet Informationsservrar och klienter Programvara och information kan enkelt flyttas över nätet World Wide Web (WWW) Ett världsomspännande nätverk Arkitektur som skall motstå kärnvapenattack Oplanerat Initialt anarkistiskt information wants to be free? Chat-programvara Jarkko Oikarinen, 1988 skapade IRC Internet Relay Chat Interaktiv synkron kommunikation via Internet Mötesplats för folk med likartade intressen Numer mest webbaserade 22
Multi-User Dungeon (MUD) Interaktiva spel med många aktörer Först textbaserade (MUD, Zork, etc.) Senare även grafiska (DOOM, etc.) Idag är online-spel otroligt stort, t ex World of Warcraft Entropia, Second Life. Vad är det, egentligen? Teaterliknande scener Efterhärmar lite av rollspel Används som ett chat-system i många fall. Otaliga andra tillämpningar Fildelning Napster, Kazaa, DC++ osv. Bittorrent Multimediaströmning Youtube, MySpace, SVT et cetera Web 2.0, social mjukvara Problem med juridik och ekonomi över nätet Kommersiellt Internet E-handel Ekonomiska transaktioner och stöd för hela affärsprocesser E-publicering Stora informationsmängder Integritet hos information E-utbildning Tillgänglighet 23
En rät, två aviga.. En stor drivkraft: Anonymitet Spamming Pornografi Nazism Programkopiering etc. Svårt att komma åt Finns anonymitet på nätet? Internet och demokrati Internet ett demokratiskt medium Internet bygger på billig teknologi Utbildning möjlig på distans Vem betalar utbyggnaden? Tillväxt och tekniska begränsningar Snart krävs nystart Antalet adresser snart slut Bristen på kontroll Kommersiellt intresse Trovärdighet Officiellt och fritids-internet? 24
REFLEKTION Data- och systemvetenskap..innefattar mycket mer än rent tekniska aspekter av IT och IT-utveckling IT används i en komplex social, organisatorisk, ekonomisk omvärld Att utveckla IT-lösningar är att förändra världen: Vi måste förstå sammanhanget för att utveckla bra IT-lösningar Data- och systemvetenskap? Utveckling, inköp och förvaltning av IS Skapar och underhåller Människor och organisation Är teknisk infrastruktur för Informationssystem som stödjer affärsprocesser och mänsklig aktivitet Ökar handlingskraften för IT och Telekom Möjliggör nyttjande av Stöd och supportverksamhet för IT och IS 25
Any sufficiently advanced technology is indistinguishable from magic. Arthur C. Clarke in "Technology and the Future" 26