Introduction to Information Technology: erinevus redaktsioonide vahel
| (ei näidata sama kasutaja 231 vahepealset redaktsiooni) | |||
| 3. rida: | 3. rida: | ||
Course code: ITX0025<br> | Course code: ITX0025<br> | ||
Teacher: Endre Domiczi<br> | Teacher: Endre Domiczi<br> | ||
Contact: [mailto: | Contact: [mailto:emddom@gmail.com?subject=itx0025 emddom@gmail.com] Subject should contain the string "itx0025" <br> | ||
Tel: 53485178 (SMS preferred) | |||
Link: http://www.lambda.ee/index/Introduction_to_Information_Technology or http://www.lambda.ee/index/itx0025<br> | Link: http://www.lambda.ee/index/Introduction_to_Information_Technology or http://www.lambda.ee/index/itx0025<br> | ||
Link to <font color="red">'''NEW site'''</font> https://sites.google.com/site/itx0025/ | |||
Link to last year Estonian version http://www.lambda.ee/index/Sissejuhatus_informaatikasse or http://www.lambda.ee/index/itv0010<br> | Link to last year Estonian version http://www.lambda.ee/index/Sissejuhatus_informaatikasse or http://www.lambda.ee/index/itv0010<br> | ||
Link to other course kept by EDo http://www.lambda.ee/index.php/Itx8065 i.e. http://www.lambda.ee/index.php/Software_Development_and_System_Programming<br> | |||
== Latest News == | |||
:For the '''latest news, announcements''' click '''[https://sites.google.com/site/itx0025/Class-Announcements here]''' | |||
<br><br> | |||
== Lecture: Amount, Time and Location == | |||
:For Time and Location of Lectures & Labs please go to '''Class Calendar''' by clicking '''[https://sites.google.com/site/itx0025/my-calendar here]''' | |||
:Consultations: with an appointment agreed using e-mail. | |||
== Exam, Preparation, Evaluation, Results == | |||
:Please go to '''new location''' by clicking '''[https://sites.google.com/site/itx0025/lectures_labs/lambda-layout#TOC-Exam-Preparation-Evaluation-Results here]''' | |||
<br><br> | |||
== Student Presentations & Rewards == | |||
* | * Student groups for presentation: please [mailto:edo@iki.fi?subject=itx0025_homework_group 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 <b>present</b> | |||
<br> | |||
---- | |||
* Valuable comments during lectures will also be rewarded | |||
** E.g. <Solution of Robot-problem>: by <X Y> (5 points) | |||
<br> | |||
---- | |||
* Student presentations | |||
** E.g. <PQ> & <R S>: <Presentation Title> (both of them receive 20 points) | |||
<br> | |||
---- | |||
* Rewards (extra credits earned during lectures, labs) can be seen '''[https://sites.google.com/site/itx0025/extra-credit/extra-credit-lectures here]''' | |||
<br><br><br> | |||
== Course goals == | == Course goals == | ||
:Please go to '''new location''' by clicking '''[https://sites.google.com/site/itx0025/lectures_labs/lambda-layout#TOC-Course-goals here]''' | |||
<br><br> | |||
== Summary == | == Summary == | ||
| 58. rida: | 76. rida: | ||
'''NB!''' Materials for not-yet-delivered lectures are preliminary: they are changed, supplemented during the course. | '''NB!''' Materials for not-yet-delivered lectures are preliminary: they are changed, supplemented during the course. | ||
=== Introduction : Basics of Computers and Programming. === | |||
:Lecture material: [[Media:Intro2it_1_edo.PPT|Intro2it_1_edo.PPT]], [[Media:Intro2it_1_edo.pdf|Intro2it_1_edo.pdf]]. | :Lecture material: [[Media:Intro2it_1_edo.PPT|Intro2it_1_edo.PPT]], [[Media:Intro2it_1_edo.pdf|Intro2it_1_edo.pdf]]. | ||
=== Early History : Industrialization. Theoretical foundations. Logic. === | |||
:Lecture material: [http://www.cs.hut.fi/~domiczi/itx0025/intro2it_2_edo.ppt intro2it_2_edo.ppt], [[Media:Intro2it_2_edo.pdf|Intro2it_2_edo.pdf]]. | :Lecture material: [http://www.cs.hut.fi/~domiczi/itx0025/intro2it_2_edo.ppt intro2it_2_edo.ppt], [[Media:Intro2it_2_edo.pdf|Intro2it_2_edo.pdf]]. | ||
:Additionally: | :Additionally: | ||
| 70. rida: | 86. rida: | ||
:* A collection of web-based logic programs offering a number of logical functions by Christian Gottschall : | :* A collection of web-based logic programs offering a number of logical functions by Christian Gottschall : | ||
::[http://logik.phl.univie.ac.at/~chris/gateway/formular-uk.html overview ], [http://logik.phl.univie.ac.at/~chris/gateway/formular-uk-zentral.html formulae of classical two-valued propositional logic]). | ::[http://logik.phl.univie.ac.at/~chris/gateway/formular-uk.html overview ], [http://logik.phl.univie.ac.at/~chris/gateway/formular-uk-zentral.html formulae of classical two-valued propositional logic]). | ||
:* [http://www.maxmon.com/history.htm A history of computers] from the beginnings - ~1945: | :* [http://www.maxmon.com/history.htm A history of computers] from the beginnings - ~1945: | ||
:* [http://devel-rok.informatik.hu-berlin.de/svn/TI2/2006/folien/pdf/eng_ca02.pdf Computer History] - lecture by Prof. Dr. Miroslaw Malek | |||
:* read and also play with the : [http://math.hws.edu/TMCM/java/DataReps/index.html Data Representations Applet (originally written by David Eck)]. | |||
:* [http://www.asa3.org/asa/PSCF/2004/PSCF9-04Montgomery.pdf Computer Origins and the Defense of the Faith] by John Warwick Montgomery | |||
=== "Medieval" history : from WWII till beginning of the 60's. Computers and programming. Languages and architectures. Integrated circuits. === | |||
:Lecture material: [http://www.cs.hut.fi/~domiczi/itx0025/intro2it_3_edo.ppt intro2it_3_edo.ppt], [[Media:Intro2it_3_edo.pdf|Intro2it_3_edo.pdf]]. | :Lecture material: [http://www.cs.hut.fi/~domiczi/itx0025/intro2it_3_edo.ppt intro2it_3_edo.ppt], [[Media:Intro2it_3_edo.pdf|Intro2it_3_edo.pdf]]. | ||
:Additionally: | :Additionally: | ||
:* Paul Graham: [http://www.paulgraham.com/college.html Undergraduation] | :* Paul Graham: [http://www.paulgraham.com/college.html Undergraduation] plus: [http://www.paulgraham.com/undergrad2.html more advice for undergrads] | ||
:* Eck intro lab: [http://math.hws.edu/TMCM/java/labs/DataRepsLab.html data reps]. | :* Eck intro lab: [http://math.hws.edu/TMCM/java/labs/DataRepsLab.html data reps]. | ||
:* Eck lab: [http://math.hws.edu/TMCM/java/labs/xTuringMachineLab.html Turing machines]. | :* Eck lab: [http://math.hws.edu/TMCM/java/labs/xTuringMachineLab.html Turing machines]. | ||
:* Earlier machines: | :* Earlier machines: | ||
:** Example of an important analog computer: [http://en.wikipedia.org/wiki/Norden_bombsight Norden bombsight] | :** Example of an important analog computer: [http://en.wikipedia.org/wiki/Norden_bombsight Norden bombsight] | ||
:** English cryptography saga: [http://en.wikipedia.org/wiki/Colossus_computer Colossus], [http://en.wikipedia.org/wiki/Alan_Turing Turing], | :** English cryptography saga: [http://en.wikipedia.org/wiki/Colossus_computer Colossus], [http://en.wikipedia.org/wiki/Alan_Turing Turing], Germans' [http://en.wikipedia.org/wiki/Enigma_machine Enigma] and [http://en.wikipedia.org/wiki/Lorenz_SZ_40/42 Lorenz SZ 40] | ||
:** First digital computers working with electricity: | :** First digital computers working with electricity: | ||
:*** [http://www.epemag.com/zuse/ Zuse electro-mechanical computer], compare with [http://www.zib.de/zuse/English_Version/index.html this site]. | :*** [http://www.epemag.com/zuse/ Zuse electro-mechanical computer], compare with [http://www.zib.de/zuse/English_Version/index.html this site]. | ||
| 87. rida: | 107. rida: | ||
:* Read also: [http://www.islandnet.com/~kpolsson/comphist/ Chronology of Personal Computers] by Ken Polsson | :* Read also: [http://www.islandnet.com/~kpolsson/comphist/ Chronology of Personal Computers] by Ken Polsson | ||
=== "Medieval" history (continued): 60's, beginning of the 70's. Minicomputers and microprocessors. === | |||
:Lecture material: [ | :Lecture material: [http://www.cs.hut.fi/~domiczi/itx0025/intro2it_4_edo.ppt intro2it_4_edo.ppt], [[Media:Intro2it_4_edo.pdf|Intro2it_4_edo.pdf]]. | ||
:Additionally: | :Additionally: | ||
:* | :* Continuation to question "what to do in high school?". Joel Spolsky: [http://www.joelonsoftware.com/articles/CollegeAdvice.html Advice for Computer Science College Students] | ||
:* [http://pdp-1. | :* [http://www.computerhistory.org/pdp-1/index.php PDP-1 Restoration Project] | ||
:* [http://pdp-1.org/Wiki/Spacewar Spacewar: first graphical computer game] | :* [http://pdp-1.org/Wiki/Spacewar Spacewar: first graphical computer game] | ||
:* [http://www.atarimuseum.com/ Atari muuseum] | :* [http://www.atarimuseum.com/ Atari muuseum] | ||
:* [http://www.cyberniklas.de/pongmechanik/indexen.html | :* [http://www.cyberniklas.de/pongmechanik/indexen.html mechanical pong] | ||
:* [http://en.wikipedia.org/wiki/SRI_International SRI international] | :* [http://en.wikipedia.org/wiki/SRI_International SRI international] | ||
:* [http://en.wikipedia.org/wiki/Bell_Labs Bell labs] | :* [http://en.wikipedia.org/wiki/Bell_Labs Bell labs] | ||
=== "Medieval" history (continued): 70ś . MicroComputers, Personal Computers. === | |||
:Lecture material: [[Media: | :Lecture material: [[Media:Intro2it_5_edo.pdf|Intro2it_5_edo.pdf]]. | ||
:Additionally: | :Additionally: | ||
:* [http://www.rickadams.org/adventure/ Colossal Cave (adventure)] textual adventure game | :* [http://www.rickadams.org/adventure/ Colossal Cave (adventure)] textual adventure game | ||
:* [http://www.pong-story.com/odyssey.htm Magnavox odyssey] | :* [http://www.pong-story.com/odyssey.htm 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: [[Media: | :Lecture material: [[Media:intro2it_6_edo.PPT|intro2it_6_edo.PPT]]. | ||
:* Additionally: Apple Macintoshi reklaamfilm: | :* Additionally: Apple Macintoshi reklaamfilm: | ||
:** [http://cs.ttu.ee/kursused/itv0010/various/1984.mpeg | :** [http://cs.ttu.ee/kursused/itv0010/various/1984.mpeg Small mpeg variant] | ||
:** [http://cs.ttu.ee/kursused/itv0010/various/1984.mov | :** [http://cs.ttu.ee/kursused/itv0010/various/1984.mov Large quicktime variant] | ||
=== Basic principles of computers, programming languages. === | |||
:Lecture material: [[Media: | :Lecture material: [[Media:Intro2it 7 edo.PPT|Intro2it_7_edo.ppt]]. | ||
:Additionally: | :Additionally: | ||
:* | :* Get a bit acquainted with the following sites: | ||
:** http://www.mkdata.dk/click/ | :** http://www.mkdata.dk/click/ | ||
:** [http://www.tomshardware.com/ Tom's hardware guide] | :** [http://www.tomshardware.com/ Tom's hardware guide] | ||
:* D.Eck, | :* D.Eck, parts of this: [http://math.hws.edu/TMCM/java/index.html Eck labs] (can take from here [http://math.hws.edu/TMCM/java/DownloadingAndInfo.html as separate applications]). NB! Read on your own, try and do 1-2 exercises from each part | ||
:** [http://math.hws.edu/TMCM/java/labs/xLogicCircuitsLab1.html Logic circuits] | :** [http://math.hws.edu/TMCM/java/labs/xLogicCircuitsLab1.html Logic circuits] | ||
:** [http://math.hws.edu/TMCM/java/labs/xLogicCircuitsLab2.html Memory circuits] | :** [http://math.hws.edu/TMCM/java/labs/xLogicCircuitsLab2.html Memory circuits] | ||
=== Programming languages continued. Operating Systems. === | |||
:Lecture material: [[Media: | :Lecture material: [[Media:Intro2it_8_edo.PPT|Intro2it_8_edo.ppt]]. | ||
:Additionally: Eck | :Additionally: Eck labs cont'd: Read on your own, try and do 1-2 exercises from each part: | ||
:* [http://math.hws.edu/TMCM/java/labs/xComputerLab1.html xComputer] | :* [http://math.hws.edu/TMCM/java/labs/xComputerLab1.html xComputer] | ||
:* [http://math.hws.edu/TMCM/java/labs/xComputerLab2.html xComputer assembly language] | :* [http://math.hws.edu/TMCM/java/labs/xComputerLab2.html xComputer assembly language] | ||
: | :Obligatory reading ( | ||
:* | :* Obligatory is the first 1/4 of article [[Media:commandlinebook.html|In the Beginning was the Command Line]] | ||
: | :Suggested reading: | ||
:* | :* [http://www.faqs.org/docs/artu/ The Art of Unix Programming] | ||
:* [http://www.levenez.com/lang/ Computer languages history] | :* [http://www.levenez.com/lang/ Computer languages history] | ||
:* [http://people.ku.edu/~nkinners/LangList/Extras/langlist.htm About 2500 Computer Languages, Past and Present] | :* [http://people.ku.edu/~nkinners/LangList/Extras/langlist.htm About 2500 Computer Languages, Past and Present] | ||
:* [http://shootout.alioth.debian.org/ Computer language shootout] | :* [http://shootout.alioth.debian.org/ Computer language shootout] | ||
:* [http://www.minix3.org/ Minix: | :* [http://www.minix3.org/ Minix: the mini-Unix that was the inspiration of Linux] | ||
:* [http://www.levenez.com/unix/ Unix history] | :* [http://www.levenez.com/unix/ Unix history] | ||
=== Information Systems === | |||
: | : Based on: | ||
: | :: Bennett, McRobb and Farmer: | ||
: | ::Object Oriented Systems Analysis and Design Using UML, (3rd Edition), McGraw Hill, 2005. | ||
::[[Media:intro2it_9_edo__IS_1-3.pdf|Chapters 1-3]] | |||
: | |||
=== Object-Orientation, Modeling in UML === | |||
: Based on: | |||
: | :: Bennett, McRobb and Farmer: | ||
: | ::Object Oriented Systems Analysis and Design Using UML, (3rd Edition), McGraw Hill, 2005. | ||
: | ::[[Media:intro2it_10_edo__IS_4-5.pdf|Chapters 4-5]] | ||
: | |||
=== Software architecture and paradigms. === | |||
:Lecture material: [[Media:intro2it_9_edo.pdf|SW Arch & Paradigms]]. | |||
:Additionally: Become acquainted with: | |||
:* [[Media:Itsissejuhatus_freesoftwaresong.au.snd|Stallman's funny song]] | |||
:* [[Media:itsissejuhatus.au.snd|Linus Torvalds announcing Linux]] | |||
== Examples of previous | == Examples of exams from previous year (to practice) == | ||
* [[Media: | * [[Media:Exam_itx0025_061213.pdf|Exam 061213]] | ||
* [[Media: | * [[Media:Exam_itx0025_070108.pdf|Exam 070108]] | ||
* [[Media: | * [[Media:Exam_itx0025_070115.pdf|Exam 070115]] | ||
NB! | NB! | ||
| 200. rida: | 186. rida: | ||
* More difficult tasks give you more points than the easy ones:: most difficult 10-15 points, easy ones: 6-9 points. Altogether 100 points | * More difficult tasks give you more points than the easy ones:: most difficult 10-15 points, easy ones: 6-9 points. Altogether 100 points | ||
== | == (N)obligatory textbooks == | ||
To pass the course one must read the the following material. | To pass the course one must read the the following material. | ||
'''NB!''' The amount of obligatory material may be increased : follow the list | '''NB!''' The amount of obligatory material may be increased : follow the list | ||
* History from the Beginnings - 1981 ( | * '''DIY material''' (obligatory) | ||
* History 1945-1990 ( | ** [http://www.bookfinder.com/dir/i/The_Definitive_Guide_to_How_Computers_Do_Math-Featuring_the_Virtual_DIY/0471741965/ The Definitive Guide to How Computers Do Math: Featuring the Virtual DIY Calculator by Clive Maxfield and Alvin Brown][[image:DIY_bcover-medium.jpg]] | ||
* [http://cs.ttu.ee/kursused/itv0010/elcomphist/index.htm History 1947-1999] ( | ** [http://www.diycalculator.com/index.shtml "DIY Calculator site"] | ||
** On the [http://www.diycalculator.com/downloads.shtml DIY download]page you will find the [http://www.diycalculator.com/progs/setup.zip DIY Calculator's installer] | |||
* About | ** [http://www.diycalculator.com/area51/databook.zip The Official DIY Calculator Data Book]a 202 page (starting from 1 :-) PDF file | ||
** Instructions for [http://www.diycalculator.com/popup-hm-demos.shtml various Labs] | |||
** [http://www.diycalculator.com/docs/demo-workbench-101.pdf Workbench Lab instructions] | |||
* | |||
* '''Reeborg the robot''' as Lab exercise<br>(André Roberge, © 2004, 2005, 2006) | |||
** [https://www.cs.indiana.edu/cgi-pub/chaynes/a201/rurple/en/lessons_toc.htm Learn programming with Reeborg] | |||
** [http://rur-ple.sourceforge.net/en/help.htm#RUR-PLE What is RUR-PLE] | |||
** [http://rur-ple.sourceforge.net/en/rur.htm Learning Python: Child's Play with RUR-PLE!] | |||
** [image:http://rur-ple.sourceforge.net/images/splash_screen_small.png] | |||
---------------------------------------------------------------------------------- | |||
* History from the Beginnings - 1981 (worth a look, compulsory material: lecture): [http://www.maxmon.com/history.htm Bebop BYTES Back] | |||
* History 1945-1990 (worth a look, compulsory material: lecture): [http://www.computerhistory.org/timeline/ The Computer Museum]. | |||
* [http://cs.ttu.ee/kursused/itv0010/elcomphist/index.htm History 1947-1999] (it's not directly obligatory): author Ken Polsson. | |||
* About Operating Systems in a broader context: The first 1/4 of the article is obligatory [[Media:Commandlinebook.html| In the Beginning was the Command Line]] | |||
* Obligatory articles from IT business and management. Not necessary to "learn" them, enough to have a fast read through: | |||
** Paul Graham: [http://www.paulgraham.com/start.html How to start a startup?] | ** Paul Graham: [http://www.paulgraham.com/start.html How to start a startup?] | ||
** Paul Graham: [http://www.paulgraham.com/gh.html Great hackers] | ** Paul Graham: [http://www.paulgraham.com/gh.html Great hackers] | ||
** Paul Graham: [http://www.paulgraham.com/bronze.html Why smart people have bad ideas] | ** Paul Graham: [http://www.paulgraham.com/bronze.html Why smart people have bad ideas] | ||
** Joel Spolsky: | ** Joel Spolsky: Cover: http://www.joelonsoftware.com/ | ||
** Joel Spolsky: | ** Joel Spolsky: Strategy: http://www.joelonsoftware.com/articles/fog0000000074.html | ||
** Joel Spolsky: | ** Joel Spolsky: Functional spec:Painless Functional Specifications (1. part): http://www.joelonsoftware.com/articles/fog0000000036.html | ||
** Joel Spolsky: IT Work Arrangements : 12 steps: http://www.joelonsoftware.com/articles/fog0000000043.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 | ** Joel Spolsky: Project Planning: Painless Software Schedules: http://www.joelonsoftware.com/articles/fog0000000245.html | ||
** Greenspun: | ** Greenspun: Read only the Table of Contents, not needed to read the complete book!: http://philip.greenspun.com/panda/ | ||
** Greenspun: Future | ** Greenspun: Future Chapter: http://philip.greenspun.com/panda/future | ||
** Greenspun: Humor: http://philip.greenspun.com/careers/ | ** Greenspun: Humor: http://philip.greenspun.com/careers/ | ||
| 239. rida: | 239. rida: | ||
== If it all seems too easy, then: == | == If it all seems too easy, then: == | ||
* | * Read most of [http://www.paulgraham.com/articles.html Paul Graham's essays]. | ||
* | * Read the book of Steven Raymondi (NB! difficult for beginners :-) [http://www.faqs.org/docs/artu/ The Art of Unix Programming] | ||
* | * Read through, very funny and educative book: Philip Greenspuni [http://philip.greenspun.com/panda/ Guide to Web Publishing]. If you feel like, find out what else Greenspun does (can read another book) and [http://www.waxy.org/random/arsdigita/ how this famous company was born and disappeared]. | ||
* | * Watch, what you can get from the net (hopefully): [http://www.w3.org/2001/sw/Activity Semantic Web] | ||
* | * Read carefully (not at all obligatory and doesn't suit beginners) and also do the exercises: [http://cs.ttu.ee/kursused/itv0010/various/csapp.beta.11.16.pdf Computer Systems: a programmers perspective] draft version. | ||
* | * Read essays by [http://ase.tufts.edu/cogstud/incpages/publctns.shtml Daniel Dennett] | ||
* | * Try to install Gandalf,an automated theorem proving, artificial intelligence system [http://www.ttu.ee/it/gandalf/ Gandalf] (Unix or Windows+[http://www.cygwin.com/ cygwin]) and play around with it. Try also [http://www-unix.mcs.anl.gov/AR/otter/ Otter] (easier, but more classic system). How, read [http://www-unix.mcs.anl.gov/AR/otter/ from here] and [http://www.cs.miami.edu/%7Etptp/OverviewOfATP.html from here] and [http://www-2.cs.cmu.edu/%7Efp/courses/atp/handouts.html from here]. | ||
* Tee omal käel ette läbi terve [[Programmeerimise põhikursus]] (peaasi: tee kõik harjutustööd: programmeerimise õppimiseks ainus viis on palju programmeerida :-) | * Tee omal käel ette läbi terve [[Programmeerimise põhikursus]] (peaasi: tee kõik harjutustööd: programmeerimise õppimiseks ainus viis on palju programmeerida :-) | ||
* [http://webster.cs.ucr.edu/ | * [http://webster.cs.ucr.edu/ Learn to program in assembler] (fairly unpractical skill, but pretty educative :-) | ||
[[Category:Kursus]] | [[Category:Kursus]] | ||
Viimane redaktsioon: 8. september 2014, kell 15:11
...history, trends, basics, paradigms, business.
Course code: ITX0025
Teacher: Endre Domiczi
Contact: emddom@gmail.com Subject should contain the string "itx0025"
Tel: 53485178 (SMS preferred)
Link: http://www.lambda.ee/index/Introduction_to_Information_Technology or http://www.lambda.ee/index/itx0025
Link to NEW site https://sites.google.com/site/itx0025/
Link to last year Estonian version http://www.lambda.ee/index/Sissejuhatus_informaatikasse or http://www.lambda.ee/index/itv0010
Link to other course kept by EDo http://www.lambda.ee/index.php/Itx8065 i.e. http://www.lambda.ee/index.php/Software_Development_and_System_Programming
Latest News
- For the latest news, announcements click here
Lecture: Amount, Time and Location
- For Time and Location of Lectures & Labs please go to Class Calendar by clicking here
- Consultations: with an appointment agreed using e-mail.
Exam, Preparation, Evaluation, Results
- Please go to new location by clicking here
Student Presentations & Rewards
- 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
- Valuable comments during lectures will also be rewarded
- E.g. <Solution of Robot-problem>: by <X Y> (5 points)
- Student presentations
- E.g. <PQ> & <R S>: <Presentation Title> (both of them receive 20 points)
- Rewards (extra credits earned during lectures, labs) can be seen here
Course goals
- Please go to new location by clicking here
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.
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.
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:
- Computer History - lecture by Prof. Dr. Miroslaw Malek
- read and also play with the : Data Representations Applet (originally written by David Eck).
- Computer Origins and the Defense of the Faith by John Warwick Montgomery
"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
Object-Orientation, Modeling in UML
- Based on:
- Bennett, McRobb and Farmer:
- Object Oriented Systems Analysis and Design Using UML, (3rd Edition), McGraw Hill, 2005.
- Chapters 4-5
Software architecture and paradigms.
- Lecture material: SW Arch & Paradigms.
- Additionally: Become acquainted with:
Examples of exams from previous year (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
(N)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
- DIY material (obligatory)
- The Definitive Guide to How Computers Do Math: Featuring the Virtual DIY Calculator by Clive Maxfield and Alvin Brown

- "DIY Calculator site"
- On the DIY downloadpage you will find the DIY Calculator's installer
- The Official DIY Calculator Data Booka 202 page (starting from 1 :-) PDF file
- Instructions for various Labs
- Workbench Lab instructions
- The Definitive Guide to How Computers Do Math: Featuring the Virtual DIY Calculator by Clive Maxfield and Alvin Brown
- Reeborg the robot as Lab exercise
(André Roberge, © 2004, 2005, 2006)
- History from the Beginnings - 1981 (worth a look, compulsory material: lecture): Bebop BYTES Back
- History 1945-1990 (worth a look, compulsory material: lecture): The Computer Museum.
- History 1947-1999 (it's not directly obligatory): author Ken Polsson.
- About Operating Systems in a broader context: The first 1/4 of the article is obligatory In the Beginning was the Command Line
- Obligatory articles from IT business and management. Not necessary to "learn" them, enough to have a fast read through:
- Paul Graham: How to start a startup?
- Paul Graham: Great hackers
- Paul Graham: Why smart people have bad ideas
- Joel Spolsky: Cover: http://www.joelonsoftware.com/
- Joel Spolsky: Strategy: http://www.joelonsoftware.com/articles/fog0000000074.html
- Joel Spolsky: Functional spec:Painless Functional Specifications (1. part): 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: Read only the Table of Contents, not needed to read the complete book!: http://philip.greenspun.com/panda/
- Greenspun: Future Chapter: 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:
- Read most of Paul Graham's essays.
- Read the book of Steven Raymondi (NB! difficult for beginners :-) The Art of Unix Programming
- Read through, very funny and educative book: Philip Greenspuni Guide to Web Publishing. If you feel like, find out what else Greenspun does (can read another book) and how this famous company was born and disappeared.
- Watch, what you can get from the net (hopefully): Semantic Web
- Read carefully (not at all obligatory and doesn't suit beginners) and also do the exercises: Computer Systems: a programmers perspective draft version.
- Read essays by Daniel Dennett
- Try to install Gandalf,an automated theorem proving, artificial intelligence system Gandalf (Unix or Windows+cygwin) and play around with it. Try also Otter (easier, but more classic system). How, read from here and from here and from here.
- Tee omal käel ette läbi terve Programmeerimise põhikursus (peaasi: tee kõik harjutustööd: programmeerimise õppimiseks ainus viis on palju programmeerida :-)
- Learn to program in assembler (fairly unpractical skill, but pretty educative :-)