Introduction to Information Technology: erinevus redaktsioonide vahel
| 20. rida: | 20. rida: | ||
* Unlike in previous years there will be <b>no exam in December</b>, only in January. | * Unlike in previous years there will be <b>no exam in December</b>, only in January. | ||
: Consequently, those who have signed up for a December exam should change. | : Consequently, those who have signed up for a December exam should change. | ||
: December exam reconsidered due to many students having flights | : December exam reconsidered due to many students having flights | ||
: In January there will be at least 2 exams (with min. 5 days in between) | : In January there will be at least 2 exams (with min. 5 days in between) | ||
: There will also be a consultation. | : There will also be a consultation. | ||
Redaktsioon: 28. november 2006, kell 21:18
...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
Latest News
- Unlike in previous years there will be no exams in December, only in January.
- See more at "Exam"
- Nov.21 Discussion of Exam examples
- Initial Signing up for exams
Exam, Evaluation, Results
- Unlike in previous years there will be no exam in December, only in January.
- Consequently, those who have signed up for a December exam should change.
- December exam reconsidered due to many students having flights
- In January there will be at least 2 exams (with min. 5 days in between)
- There will also be a consultation.
- Please click here and email your preferred dates, time interval.
- After receiving enough emails the dates will be set.
- A part of the exam will be about logical functions. To prepare please practice on the site of Christian Gottschall:
- Another part of the exam will be based on Logic circuits by D.Eck
Student Presentations
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, max. 15 minutes (maybe 20).
- topics can be selected from materials on this page that are prefixed with "Additionally:" or you can come up with your own, but then you should agree on it in advance with me
- choose a topic that you understand; you should be able to answer some questions related to the presentation
- do not read only, but present
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.
There will be an Evaluation/Exam in December and one or two in January. (the exact date will be announced later)
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
Historical and conceptual overview of informatics as a domain of business, science and engineering. Early history of the domain, scientific and technical development at the beginning of the last century, the rapid development during the mid-century and the even faster paved changes in the scientific-, business and technological aspects during the last decades.
Main programming paradigms (imperative, logical, functional, object-oriented) as well as paradigms in system architecture (mainframes, personal computers, client-server systems, distributed and multi-layer systems).
The birth and disappearance of technologies, companies; trends, principles, specific events.
Please also see Course Register.
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.
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?
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:
"Medieval" history : from WWII till beginning of the 60's. Computers and programming. Languages and architectures. Integrated circuits.
- Lecture material: intro2it_3_edo.ppt, Intro2it_3_edo.pdf.
- Additionally:
- Paul Graham: Undergraduation plus: more advice for undergrads
- Eck intro lab: data reps.
- Eck lab: Turing machines.
- Earlier machines:
- Example of an important analog computer: Norden bombsight
- English cryptography saga: Colossus, Turing, Germans' 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.
- Read also: Chronology of Personal Computers by Ken Polsson
"Medieval" history (continued): 60's, beginning of the 70's. Minicomputers and microprocessors.
- Lecture material: intro2it_4_edo.ppt, Intro2it_4_edo.pdf.
- Additionally:
- Continuation to question "what to do in high school?". Joel Spolsky: Advice for Computer Science College Students
- PDP-1 Restoration Project
- Spacewar: first graphical computer game
- Atari muuseum
- mechanical pong
- SRI international
- Bell labs
"Medieval" history (continued): 70ś . MicroComputers, Personal Computers.
- Lecture material: Intro2it_5_edo.pdf.
- Additionally:
- Colossal Cave (adventure) textual adventure game
- Magnavox odyssey
Recent history: 80's till today. IBM PC, Macintosh, new and old operating systems. Special computers, workstations, essential software. Saga summary
- Lecture material: intro2it_6_edo.PPT.
- Additionally: Apple Macintoshi reklaamfilm:
Basic principles of computers, programming languages.
- Lecture material: Intro2it_7_edo.ppt.
- Additionally:
- Get a bit acquainted with the following sites:
- D.Eck, parts of this: Eck labs (can take from here as separate applications). NB! Read on your own, try and do 1-2 exercises from each part
Programming languages continued. Operating Systems.
- Lecture material: Intro2it_8_edo.ppt.
- Additionally: Eck labs cont'd: Read on your own, try and do 1-2 exercises from each part:
- Obligatory reading (
- Obligatory is the first 1/4 of article In the Beginning was the Command Line
- Suggested reading:
Information Systems
- Based on:
- Bennett, McRobb and Farmer:
- Object Oriented Systems Analysis and Design Using UML, (3rd Edition), McGraw Hill, 2005.
- Chapters 1-3
Software architecture and paradigms.
- Lecture material: itsissejuhatus9o.PPT, itsissejuhatus9o.pdf.
- Additionally: Become acquainted with:
Network software paradigms. Internet basic technology.
- Lecture material: Itsissejuhatus10o.PPT, Itsissejuhatus10o.pdf.
- Additionally: Tutvuda:
Network software paradigms. Internet application technology.
- Lecture material: itsissejuhatus11o.PPT, itsissejuhatus11o.pdf.
- Additionally: 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
Recursion. Functional and logical programming.
- Lecture material: itsissejuhatus12o.PPT, itsissejuhatus12o.pdf.
- Additionally: Look at and try to modify the following examples:
- Huvi korral installeeri ja proovi Prologi: SWI Prolog.
Algorithms. Keerukus ja lahenduvus.
- Lecture material: itsissejuhatus13o.PPT, itsissejuhatus13o.pdf.
- Additionally: Huvi korral vaata TSP programmi Java lähtekoodi
Artificial intelligence.
- Lecture material: itsissejuhatus14o.PPT, itsissejuhatus14o.pdf.
- Huvi korral loe Matrix, Skynet ja sõda teispoolsusega, klassiku ülevaadet tehisintellektindusest, Dennetti artikleid, tuntud õpikut, ajakirja JAIR.
IT business, IT projects.
- Lecture material: itsissejuhatus15o.PPT, itsissejuhatus15o.pdf.
- Lisaks: mitmed kohustuslikud artiklid, vt kas powerpointist või sellel lehel allpool, :kohustuslike lugemismaterjalide peatüki allosas.
Reserved
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
- Bennett, McRobb and Farmer: Object Oriented Systems Analysis and Design Using UML, (3rd Edition), McGraw Hill, 2005.
- (don't have to buy it, but read the lecture slides "Information Systems" (more to come) )
- 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, about twice a month: http://www.joelonsoftware.com
- Paul Grahami essays, new ones less often.
- 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 :-)