Introduction to Information Technology
...history, trends, basics, paradigms, business.
Course code: ITX0025
Teacher: Endre Domiczi
Contact: edo@iki.fi
Link: http://www.lambda.ee/index/Introduction_to_Information_Technology or http://www.lambda.ee/index/itx0025
Link to last year Estonian version http://www.lambda.ee/index/Sissejuhatus_informaatikasse or http://www.lambda.ee/index/itv0010
Exam, Presentation, Evaluation, Results
Student groups for presentation: please click here for signing up.
The email should contain for each group member the name, student number and email-address. Please don't touch the subject line (or only add to it)
Group size is 1-3 persons, presentation time is min. 10 minutes, 15 if the group size is 3.
Topics can be selected from materials on this page that are prefixed with "Additionally:"
Lecture: Amount, Time and Location, Scores
Lectures per week: 2 hours. Unless otherwise marked the schedule is as follows:
- at ITK the following times.
- Tuesday 17.45-19.15, IT-140 (lecturing endre)
Exercises at ITK: independent reading and (sometimes) problem solving, with guidance
ITK: course ends with EVALUATION. The Evaluation is in writing, two or more hours.
ITK: kursus lõpeb ARVESTUSEGA. Arvestus on kirjalik, kaks või enam tundi. Semestri poole peal (täpne kuupäev ilmub hiljem) toimub lisaks kontrolltöö ajaloo-osa kohta. Arvestuse saamiseks peab edukalt tegema nii kontrolltöö kui arvestustöö.
Course goals
- Give a compact overview of informatics as a whole.
- Give a historical overview of IT theory, technology and business development.
- Introduce future courses for further studies.
NB! the course DOES NOT TEACH elementary computer usage skills. Neither does it teach programming, although it gives a gentle introduction to programming.
Summary
Ajalooline ja kontseptuaalne ülevaade informaatikast kui äri-, teadus- ja insenerivaldkonnast. Valdkonna varajane ajalugu, teaduslikud ning tehnilised arengud selle sajandi alguses, sajandi keskpaiga kiire tehnoloogiline ja äriline areng ning viimastel kümnenditel toimunu nii äris, tehnoloogias kui teaduse baasosades. Peamised programmeerimise paradigmad (imperatiivne, loogiline, funktsionaalne, objekt-orienteeritud) ning rakendussüsteemide tehnoloogia paradigmad (suurarvutid, personaalarvutid, klient-server süsteemid, hajutatud ja mitmekihilised süsteemid). Uute tehnoloogiate ja firmade teke ning allakäigu lained, printsiibid ja konkreetsed võtmesündmused.
Lecture plan and materials
The course DOESN’T HAVE a single course-book. As follows, material for each lecture is given separately.
NB! Materials for not-yet-delivered lectures are preliminary: they are changed, supplemented during the course.
- 1. Introduction
- Basics of Computers and Programming.
- Lecture material: Intro2it_1_edo.PPT, Intro2it_1_edo.pdf.
- Additionally:
- read and also play with the : Data Representations Applet (originally written by David Eck).
- read: Paul Graham: Why nerds are unpopular?
- 2. Early History
- Industrialization. Theoretical foundations. Logic.
- Lecture material: intro2it_2_edo.ppt, Intro2it_2_edo.pdf.
- Additionally:
- Paul Graham: What you'll wish you'd known
- A collection of web-based logic programs offering a number of logical functions by Christian Gottschall :
- A history of computers from the beginnings - ~1945:
- 3. "Medieval" history
- from WWII till beginning of the 60's. Computers and programming. Keeled ja rakendused. Integraalskeemid.
- Lecture material: itsissejuhatus3o.PPT, itsissejuhatus3o.pdf.
- Additionally:
- Paul Graham: Undergraduation pluss järelmärkused: more advice for undergrads
- Eck intro lab: data reps.
- Eck lab: Turing machines.
- Varastest masinatest:
- Example of an important analog computer: Norden bombsight
- English cryptography saga: Colossus, Turing, sakslaste Enigma and Lorenz SZ 40
- First digital computers working with electricity:
- Zuse electro-mechanical computer, compare with this site.
- Atanasoff's electronic computer
- Mark I: first programmable electro-mechanical computer.
- Loe ka: Polsson ning a history of computers (vt viidad allpool)
- 4. "Medieval" history (continued)
- 60's, beginning of the 70's. Miniarvutid ja mikroprotsessorid.
- Loengumaterjal: itsissejuhatus4o.PPT, itsissejuhatus4o.pdf.
- Lisaks:
- Jätk küsimusele "mida ülikoolis teha?". Joel Spolsky: Advice for Computer Science College Students
- PDP-1 restoration project
- Spacewar: first graphical computer game
- Atari muuseum
- mehaaniline pong
- SRI international
- Bell labs
- 5. Keskajalugu jätkub
- 70ś . MicroComputers, Personal Computers.
- Loengumaterjal: itsissejuhatus5o.PPT, itsissejuhatus5o.pdf.
- Additionally:
- Colossal Cave (adventure) textual adventure game
- Magnavox odyssey
- 6. Lähiajalugu
- 80's. IBM PC, Macintosh, uued vanad opsüsteemid. Spetsiaalarvutid, workstationid, oluline soft.
- Loengumaterjal: itsissejuhatus6o.PPT, itsissejuhatus6o.pdf.
- Lisaks: Apple Macintoshi reklaamfilm:
- 7. Lähiajalugu
- 90's till today. Kokkuvõtted saagadest.
- Loengumaterjal: itsissejuhatus_ajaloolopp.PPT, itsissejuhatus_ajaloolopp.pdf.
- Additionally:
- Alustada: "Teejuht võrgumeediasse" toorik.
- Tutvu: [http:/materjalid/itsissejuhatus/itsissejuhatus_eestiajalugu.ppt J.Penjami lühiülevaade Eestis tehtud ja olnud varastest arvutitest]
- 8. Arvuti tööpõhimõtted, programmeerimiskeeled.
- Loengumaterjal: itsissejuhatus7o.PPT, itsissejuhatus7o.pdf.
- Lisaks:
- Veidi tutvuda nende saitidega:
- D.Eck, osad siit: Eck laborid (siit saad võtta eraldi rakendusena). NB! Loe ise läbi, proovi ja tee igast osast üks-kaks harjutust:
- 9. Progr. keeled jätkuvad. Operatsioonisüsteemid.
- Loengumaterjal: itsissejuhatus8o.PPT, itsissejuhatus8o.pdf.
- Lisaks: Eck laborid jätk: loe ise läbi, proovi ja tee igast osast üks-kaks harjutust:
- Kohustuslikku lugemist (
- Kohustuslik on esimene 1/4 pikast artiklist In the Beginning was the Command Line
- Soovitavat lugemist:
- üldse mitte kohustuslik (algajatel raske mõista :-) The Art of Unix Programming
- Computer languages history
- About 2500 Computer Languages, Past and Present
- Computer language shootout
- Minix: Linuxi inspiratsiooniks olnud mini-UNIX
- Unix history
- 10. Tarkvara arhitektuur ja paradigmad.
- Loengumaterjal: itsissejuhatus9o.PPT, itsissejuhatus9o.pdf.
- Lisaks: Tutvuda:
- 11. Võrgutarkvara paradigma. Interneti baastehnoloogia.
- Loengumaterjal: Itsissejuhatus10o.PPT, Itsissejuhatus10o.pdf.
- Lisaks: Tutvuda:
- 12. Võrgutarkvara paradigma. Interneti rakenduste tehnoloogia.
- Loengumaterjal: itsissejuhatus11o.PPT, itsissejuhatus11o.pdf.
- Lisaks: Tutvuda lühidalt:
- Loengunäite variant: http://java.sun.com/docs/books/tutorial/networking/urls/readingURL.html
- http://www.w3schools.com/.
- http://www.w3c.org/.
- XMLHttpRequest Demo (async javascript)
- Loengunäide: Tiny www server
- Greenspuni vana kuulus Panda book
- Apache
- veel näiteid: kalkulaator, css, javascript, XML ja XSL näited
- 13. Rekursioon. Funktsionaalne ja loogiline programmeerimine.
- Loengumaterjal: itsissejuhatus12o.PPT, itsissejuhatus12o.pdf.
- Lisaks: Vaata ja proovi näiteid modifitseerida:
- Huvi korral installeeri ja proovi Prologi: SWI Prolog.
- 14. Algoritmid. Keerukus ja lahenduvus.
- Loengumaterjal: itsissejuhatus13o.PPT, itsissejuhatus13o.pdf.
- Lisaks: Huvi korral vaata TSP programmi Java lähtekoodi
- 15. Tehisintellekt.
- Loengumaterjal: itsissejuhatus14o.PPT, itsissejuhatus14o.pdf.
- Huvi korral loe Matrix, Skynet ja sõda teispoolsusega, klassiku ülevaadet tehisintellektindusest, Dennetti artikleid, tuntud õpikut, ajakirja JAIR.
- 16. IT äri, IT projektid.
- Loengumaterjal: itsissejuhatus15o.PPT, itsissejuhatus15o.pdf.
- Lisaks: mitmed kohustuslikud artiklid, vt kas powerpointist või sellel lehel allpool, :kohustuslike lugemismaterjalide peatüki allosas.
- 17. Varu.
Examples of previous exams (to practice)
NB!
- The questions will be different
- More difficult tasks give you more points than the easy ones:: most difficult 10-15 points, easy ones: 6-9 points. Altogether 100 points
Obligatory textbooks
To pass the course one must read the the following material. NB! The amount of obligatory material may be increased : follow the list
- History from the Beginnings - 1981 (piisab kiirest läbivaatamisest, vajalik materjal loengutes): Bebop BYTES Back
- History 1945-1990 (piisab kiirest läbivaatamisest, vajalik materjal loengutes): The Computer Museum.
- History 1947-1999 (see ei ole otseselt kohustuslik): autor Ken Polsson.
- Vana jutt infoühiskonnast: T.Tammet 1995-1996: "Teejuht võrgumeediasse" toorik.
- About Electronic Democray and State:
- T.Tammet, 2001: E-valimiste analüüs
- Loogika ainest ja ajaloost: T.Tammet: Loogika aine ja ajalugu: sissejuhatus T.Tamme, T.Tammeti ja R.Prangi loogikaõpikule "Mõtlemisest tõestamiseni".
- Opsüsteemidest laiemas kontekstis: Kohustuslik on algusosa (esimene 1/4) pikast artiklist In the Beginning was the Command Line
- Kohustuslikud artiklid IT äri ja juhtimise teemal on järgmised. Neid "ära õppida" vms pole vaja, piisab lihtsast mõnusast kiirest läbilugemisest:
- Paul Graham: How to start a startup?
- Paul Graham: Great hackers
- Paul Graham: Why smart people have bad ideas
- Joel Spolsky: Esileht: http://www.joelonsoftware.com/
- Joel Spolsky: Strateegia: http://www.joelonsoftware.com/articles/fog0000000074.html
- Joel Spolsky: Funktsionaalsuse spec:Painless Functional Specifications (1 osa): http://www.joelonsoftware.com/articles/fog0000000036.html
- Joel Spolsky: IT Work Arrangements : 12 steps: http://www.joelonsoftware.com/articles/fog0000000043.html
- Joel Spolsky: Project Planning: Painless Software Schedules: http://www.joelonsoftware.com/articles/fog0000000245.html
- Greenspun: Lihtsalt loe sisukorda, tervet raamatut pole vaja!: http://philip.greenspun.com/panda/
- Greenspun: Future peatükk: http://philip.greenspun.com/panda/future
- Greenspun: Humor: http://philip.greenspun.com/careers/
Very useful material: read it!
- Read Daily: http://www.news.com
- Read Daily: http://www.slashdot.org
- Software management, ca paar korda kuus materjale: http://www.joelonsoftware.com
- Paul Grahami essays, uusi suhteliselt harva.
- Jargon lexikon and the New Hacker's Dictionary.
- The cathedral and Bazaar
- Gnu manifests
- David Eck: Labs and Applets for "The Most Complex Machine".
If it all seems too easy, then:
- Loe läbi enamus Paul Grahami esseid.
- Loe läbi Steven Raymondi raamat (NB! algajatel raske õieti mõista :-) The Art of Unix Programming
- Loe läbi väga lõbus ja hariv raamat: Philip Greenspuni Guide to Web Publishing. Kui meeldis, uuri järgi, mida Greenspun veel teeb (sh loe teisi raamatuid ka) ja kuidas sündis ja suri tema kuulus firma.
- Vaata, mis võrgust (loodetavasti) edaspidi saab: Semantic Web
- Loe hoolega läbi (ei ole üldse kohustuslik ja algajatele mittesoovitav) ja tee harjutusi ka: Computer Systems: a programmers perspective toorikvariant.
- Loe läbi hulga Daniel Dennetti esseid
- Proovi õppejõu tehisintellektisüsteem Gandalf installeerida (Unix või Windows+cygwin) ja mängi sellega. Proovi ka Otterit (lihtsam, aga nõrgem klassikaline süsteem). Kuidas, loe siit ja siit ja siit.
- Tee omal käel ette läbi terve Programmeerimise põhikursus (peaasi: tee kõik harjutustööd: programmeerimise õppimiseks ainus viis on palju programmeerida :-)
- Õpi assembleris programmeerima (üpris ebapraktiline oskus, aga hästi hariv :-)