Introduction to Information Technology
...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
Sisukord
- 1 Latest News
- 2 Lecture: Amount, Time and Location
- 3 Exam, Preparation, Evaluation, Results
- 4 Student Presentations & Rewards
- 5 Course goals
- 6 Summary
- 7 Lecture plan and materials
- 7.1 Introduction : Basics of Computers and Programming.
- 7.2 Early History : Industrialization. Theoretical foundations. Logic.
- 7.3 "Medieval" history : from WWII till beginning of the 60's. Computers and programming. Languages and architectures. Integrated circuits.
- 7.4 "Medieval" history (continued): 60's, beginning of the 70's. Minicomputers and microprocessors.
- 7.5 "Medieval" history (continued): 70ś . MicroComputers, Personal Computers.
- 7.6 Recent history: 80's till today. IBM PC, Macintosh, new and old operating systems. Special computers, workstations, essential software. Saga summary
- 7.7 Basic principles of computers, programming languages.
- 7.8 Programming languages continued. Operating Systems.
- 7.9 Information Systems
- 7.10 Object-Orientation, Modeling in UML
- 7.11 Software architecture and paradigms.
- 8 Examples of exams from previous year (to practice)
- 9 (N)obligatory textbooks
- 10 Very useful material: read it!
- 11 If it all seems too easy, then:
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
- 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 :-)