Vajad kellegagi rääkida?
Küsi julgelt abi LasteAbi
Logi sisse

Sissejuhatus infotehnoloogiasse konspekt (0)

5 VÄGA HEA
Punktid

Esitatud küsimused

  • Mida saab üldse mehaaniliselt arvutadajäreldada?
  • Kuidas keeles X kirjutatud programmi täidetakse?
  • Miks opsüsteem ?
  • Mida opsüsteem teeb ja teha oskab?
  • Miks vabavara tehakse?
  • Kus on vabavara mõistlik kasutada?
  • Mida vabavara on endaga kaasa toonud ?
  • Millisele programmile konkreetne pakett saata?
  • Milline on HTTP protokollis päring ?
  • Kui kiirusega mingi F?
  • Mis seda lahendab?
  • Mis siis kui vastane saaks kaks käiku järjest?
  • Kuid palka tahavad küll Kust võtta sel ajal palgaraha?

Sissejuhatus infotehnoloogiasse


  • Loeng


    Algoritm on täpne samm-sammuline, kuid mitte tingimata formaalne juhend millegi tegemiseks. Näited:
  • Toiduretsept.
  • Juhend ruutvõrrandi lahendamiseks
    Algoritmiline probleem - probleem, mille lahenduse saab kirja panna täidetavate juhendite loeteluna.
    Programm on formaalses, üheselt mõistetavas keeles kirja pandud algoritm. Arvutid suudavad täita ainult programme .
    Analoogsüsteem
      • andmeid salvestatakse (peegeldatakse) proportsionaalselt
      • Näit: termomeeter, vinüülplaat, foto
    Digitaalsüsteem
      • (pidevad) andmed lõhutakse üksikuteks tükkideks, mis salvestatakse eraldi
      • Näit: CD, arvutiprogramm, kiri tähtede ja bittidena
    Ühelt teisele: digitaliseerimine

    • Electronic Computers
        • Constructed from transistors that use electricity to function.
    • Mechanical Computers
        • Do not use electricity to function.
        • Constructed of a combination of gears, levers and springs.

    • General-purpose Computers
        • Were not manufactured to do any one thing.
        • Changeable to do any task .
    • Special-purpose Computers
        • Manufactured to do a predetermined task or set of tasks.

    • Digital Computers
        • One that functions in discretely varying quantities.
        • Produces or gives results that are also discretely varying.
    • Analog Computers
        • One that functions in continuously varying quantities.
        • Produces or gives results that are also continuously varying.

    • The General-Purpose Digital Computer
        • Accepts information of many kinds.
        • Changes it in a way that is controlled by humans .
        • Presents results in a way usable by humans.

    • Alan Turingi idee, milline võiks olla lihtne universaalne arvuti: suudaks arvutada/järeldada kõike!!
    • Turingi tees: kõike, mida üldse saab mingi masinaga arvutada/järeldada, saab ka Turingi masinaga arvutada.

    • Mida saab üldse mehaaniliselt arvutada/järeldada? Selgub , et kõiki täpselt formuleeritud, selgeid, algoritmilisi probleeme ei saa garanteeritult algoritmiga lahendada. 1. Lepime sellega, et mõnes olukorras ei õnnestu vastust leida 2. Valime vahel juhuslikult, ehk: teeme vahel vigu

    • The five types of information that are the only types the computer commonly manipulates:
      • Visual (pictures)‏
      • Numeric ( numbers )‏
      • Character (text)‏
      • Audio (sound)‏
      • Instructions (programs)

    Modern computers work in a system of numbers called binary numbers
    • Binary numbers:
        • Similar to familiar decimal system.
        • Uses only two symbols: 0 and 1.
        • The choice of using binary numbers is dictated by cost and reliability.
    • Binary circuits:
        • Electronic circuits are cheapest and most reliable if they only assume two states or conditions.
        • These binary circuits have only two states, ON or OFF.

    • Standardized means of storing these codes:
      • ASCII (American Standard Code for Information Interchange)‏
      • EBCDIC ( Extended Binary Coded Decimal Interchange Code)‏
      • UNICODE (Extended ASCII)‏

    Each pixel contains a value representing some shade of gray.
    The more shades of gray possible, the more memory will be needed.
    • Instructions:
      • Must be stored within the computer before use.
      • Must be stored in binary form.
      • A set of binary instructions is called a program .
    • Program:
      • A collection of instructions for the computer to perform one by one.
    • Machine Language :
      • The language of the computing machine.
      • All instructions must be in the form of binary numbers (binary code).

    • Stored-program Computer:
      • Also known as the von Neumann -type computer.
      • Has memory - a place to keep both :
        • instructions (ie program)‏
        • and the needed information (ie data)‏
    needed for computation by the computer.
    Matemaatiline arvutiteadus
    • Praktilisem arvutiteadus
      • Algoritmika
      • Verifitseerimine, järelduste automatiseerimine
      • Õppimine
      • Keeled ja kompilaatorid
      • Krüpto
    • Veel praktilisem arvutiteadus
      • Andmebaaside teooria ja tehnoloogia
      • Failisüsteemide ...
      • Arvutigraafika ...
      • Võrgusüsteemide ...

    • Laiatarberakendused
      • Opsüsteemid , draiverid jms
      • Tekstiredaktorid, brauserid, epost jne ...
      • Üldised võrgurakendused: google, youtube, skype , ..
      • Mängud
      • Igasugu utiliidid
      • Programmeerimisvahendid
      • Lao, raamatupidamissüsteemide jms toorikud
      • ....
    • Erirakendused
      • Pangarakendused, telekomirakendused jne
      • Reaalsed lao- ja tellimissüsteemid
      • Firma andmebaasid
      • Firma süsteemide sidumine
      • ...

    • TTÜ
      • Majandusteaduskond
      • Elektroonikud
      • Küberneetika instituut
    • Tartu
      • Statistikud
      • Arvutusmeetodite teoreetikud
      • Muud matemaatikud
    • ITK
      • TTÜ
      • Tartu
      • Ettevõtted

    Loeng 2

    • Loogika on teadus mõtlemise alustest.
    • Loogika uurib mõtlemise paratamatuid aspekte ehk seda, mis üldse teeb mõtlemisest mõtlemise ehk õige mõtlemise ehk seda, mida ja kuidas üldse mõelda saab.

    • Informaalne loogika: teatud vaidlusmeetodite analüüs.
    • Formaalne loogika:
      • reeglisüsteemid ja algoritmid nö mehaaniliseks järelduste tegemiseks
      • reeglisüsteemide kui matemaatiliste objektide uurimine.
    • Arvutid on mõtlemise masinad.

    Loogika teke
    • Parmenides (5 sajand e.m.a.) : kasutas pikki loogilisi põhjendusi.
    • Zenon Eleast (5 sajand e.m.a.) - apooriad/paradoksid
    • Sofistid - Sokrates (470-399 e.m.a) - Platon (428/427 - 348/347 e.m.a):

    Aristoteles : väidete struktuur kui iseseisev uurimisobjekt
    süllogism on väitlus, kus mingitest etteantud väidetest (eeldustest) järeldub paratamatult uus väide. Aristotelese puhul alati kaks kategoorilist eeldust , üks kategooriline järeldus.
    Stoikud uurisid, kuidas saab loogiliste sidesõnade (ja, ei, või, kui...siis) abil lihtsamatest lausetest keerulisemaid kokku panna ja kuidas näidata selliselt moodustatud lausete õigsust.
    Ramon Llull
    • Elas: 1235-1315
    • Müstik
    • Peateos Ars magna, generalis et ultima

    • Schickard 1625: väitis ehitanud olema liitva, lahutava, korrutava, jagava masina
    • Kristlik filosoof Blaise Pascal 1640:

    aritmeetiline masin: ainult liitis ja lahutas (ehitas ca 50 tükki )
    Leibniz
    • Saksa filosoof1646-1716
    • Leibnizi arvuti(1671) liitis, lahutas, korrutas, jagas
    • Leibniz lõi Boole ’ga sarnaneva loogikasüsteemi, mis vajus unustusse
    • Leibniz püüdis luua universaalset sümbolkeelt (lingua characteristica universalis) ja seda keelt kasutava nn “arutlemise aritmeetika” (calculus rationator)

    Kirjutusmasin
    • Inglise patent, Henry Mill, 1714, ei ehitatud
    • Ameerika patent: 1829 William Austin Burt Detroidis
    • 1867, Christopher Latham Sholes, Carlos Glidden, Samual W. Soule leiutis: “Type-Writer“
    • Remington: 1874 (jalgpedaaliga!)‏

    Sholes’ klaviatuur ca 1874:
    • Dvoraki klaviatuur ca 1936

    Kirjutusmasin püssitehasest
    Perfokaardid ca 1800 Jacquard
    Charles Babbage
    • 1822: Difference Engine , jäi pooleli
    • Idee: Analytical Engine
    • esimene programmeerija : Ada Lovelace

    Telegraaf
    • Morse 1837: elektritelegraaf
    • Wheatstone 1857: perfolint
    • 1902-1910: teleprinter

    George Boole, de Morgan
    • Loogika (lausearvutuse) alused 1847-1854
    • Matemaatilise algebra ideede kasutamine loogika jaoks:
    • Loogika algebra:
    1A = A, 0A = 0, A+0 = A, A+1 = 1
    A+B = B+A, AB = BA, AA = A
    • Loogikatehted on funktsioonid tõeväärtustel T ja V.
    • Enimkasutatud tehted on
      • & (ja e. konjunktsioon)‏
      • V (või e. disjunktsioon)‏
      • - (ei e. eitus )‏
      • => (järeldus e. implikatsioon)‏
      • == (samasus e. ekvivalents)‏

    Kaasaegse loogika alus: Gottlob Frege
    • 1879: Kontseptuaalne notatsioon ("Begriffsschrift")
    loob kaasaegse predikaatarvutuse
    Näide:
    Isa(Jaan,Mihkel).
    Isa(Jaan,Ants).
    Isa(Ants,Peeter).
    Iga x, y, z jaoks: Isa(x,y) & Isa(y,z) => Vanaisa(x,z).
    Tõesta, et eksisteerivad z, u nii et Vanaisa(z,u).
    Hollerith’i perfokaardid
    • 1890: Herman Hollerith: perfokaartidega masin USA rahvaloenduse andmete töötlemiseks
    • Firmast tekkis IBM

    Vaakumtorud
    • Vacuum Tube (1906, Lee Deforest)
    • Three elements device used as electronic switch and amplifier : two electrodes separated by a grid in a vacuum glass enclosure.
    • Principle
    • Cathode - emits electrons;
    • Plate (anode) - receives the electrons;
    • Grid - with negative bias voltage repels some of the electrons and prevents them from reaching the plate, resulting in less current flow. A changing negative charge on the grid modulates the plate current.

    Hulgateooria : Georg Cantor
    • Elas 1845-1918
    • Hulgateooria rajaja
    • Paradokside avastamine matemaatikas
    • Matemaatika alused korraga ebakindlad

    Hilbert
    • Loogik ja matemaatik: 1862-1943
    • Filosoofilistelt vaadetelt formalist
    • Hilberti programm” matemaatikale kindlate aluste rajamiseks:
      • Matemaatika alused tuleb esitada loogika keeles, range aksiomaatikana.
      • Tuleb tõestada, et nimetatud aksiomaatika ei ole vastuoluline, st temast ei ole võimalik tuletada korraga mingit väidet A ja sellesama väite eitust -A

    Intuitsionism: Brouwer & Heyting
    Ei aktsepteeri näiteks:
    • A v -A
    • - -A A
    • (((A => B) => A) => A)‏

    Formaalne süsteem
    • Tarski ja Carnap
      • Süntaks
      • Tuletamisreeglite süsteem
      • Semantika

    • Kurt Gödel (1906-1978)‏
    • 1930: loogika baaskeel predikaatarvutus on täielik
    • 1931: formaalne aritmeetika ei ole täielik, seda ei saagi lõpliku formaalse süsteemiga kirjeldada
    Tõestuse idee:
    • Tõestuse alusidee on tuntud valetaja paradoks: kas väide ``ma praegu valetan'' on tõene või mitte? Lihtne arutlus näitab, et ta ei saa olla kumbagi.
    • Koostame nüüd sellise aritmeetilise väite A, mis ütleb, et seesama A ei ole tõestatav (see väide ei ütle, et A ei ole tõsi!). Siis ei saa väide A ise olla vale. Tõepoolest , kui A oleks vale, siis A sisu kohaselt peaks A olema tõestatav. Kuna me valesid väiteid tõestada ei saa, siib peabki A olema õige. Kuna A on õige, peab kehtima see, mida A väidab: A pole tõestatav. Tõepoolest, kui A oleks tõestatav, siis oleks A sisu ("A ei ole tõestatav") vale, see on aga, nagu näidatud, võimatu. Kokkuvõtteks, A on õige, aga ei A ega A eitus pole tõestatavad.

    • 1935-1937: artikkel Turingi masinast: universaalsus , mittelahenduvus
    • 1936: Churchi lambda -arvutus, Churchi tees.
    universaalsus, mittelahenduvus
    Vannevar Bush
    • MIT: 1930-1935-1937: Differential Analyzer dif. võrrandite lahendamiseks
    • Viimane versioon:
      • kaalus 100 tonni
      • 2000 elektronlampi
      • 150 mootorit
      • tuhanded releed

    Ludwig Wittgenstein
    • 1889-1951
    • Analüütilise filosoofia juhtkuju
    • Innustas loogilise positivismi ja Viini ringi teket:
      • Mõtestatud tekst koosneb kas (a) loogika ja matemaatika formaalsetest väidetest või (b) konkreetsete teadusharude fakte esitavatest lausetest.
      • Igasugusel fakti esitaval väitel on sisu ainult siis, kui on võimalik öelda, kuidas selle väite kehtivust kontrollida.
      • Metafüüsilised väited , mis ei lange punktide 1 ja 2 alla, on sisutud.
      • Kõik moraali, esteetikat ja religiooni käsitlevad väited on mittekontrollitavad ja mõttetud.

    Claude Shannon
    • MIT, 1938, Shannon’i magistritöö sidus:
      • Boole algebra
      • Elektrilülitid ja -skeemid
      • Bitid ja info kodeerimine
      • Info otsimise algoritmid

    • Konrad Zuse
      • Programmeeritavate arvutite pioneer saksamaalt
      • 1936-38: Z1: puhtmehaaniline
      • 1938: Z2: rehkendus releedega
      • 1941: Z3 perfolindiga, universaalselt programmeeritav
      • 1944-50: Z4: kommertsiaalne digitaalarvuti Zürichi tehnikaülikoolile:
      • 1950-1967: Z5 ... Z64
      • By 1967, the Zuse KG had built a total of 251 computers. Due to financial problems, the company was then sold to Siemens .

    • John Vincent Atanasoff
    • 1939-1942: esimene elektronarvuti?

    • Enigma: alates 1920 aastatest
    • Lorenz SZ 40 and SZ 42 ja Geheimfernschreiber: Saksa lennu- ja merevägi

    Colossus vs Lorenz
    • Londonis 1943: saksa allveelaevade salakirja dekodeerimiseks
    • 1800 elektronlampi
    • Ideoloogia ja matemaatika: olulises osas Alan Turing

    Mark I
    • Howard Aiken
    • IBM’i elektriline (releed) digitaalne arvuti MARK I
    1939-1944
      • 750.000 komponenti
      • 5 tonni

    Loeng 3

    1947

    Transistori tööpõhimõte:
    • Transistor
    Three elements solid -state device for amplifying, controlling electrical signals.
    • Principle
    Current flows from emitter through base into collector ;
    Switching - Base current on, collector current flows - Switching;
    Amplification - Base current regulates large amount of collector current.
    1949
    • Maurice Wilkes assembled the EDSAC, the first practical stored-program computer, at Cambridge University . His ideas grew out of the Moore School lectures he had attended three years earlier. For programming the EDSAC, Wilkes established a library of short programs called subroutines stored on punched paper tapes.
     
    TECHNOLOGY : vacuum tubes
    MEMORY: 1K words , 17 bits, mercury delay line
    SPEED : 714 operations per second
    1950
    Engineering Research Associates of Minneapolis built the ERA 1101 , the first commercially produced computer; the company's first customer was the U.S. Navy.
    It held 1 million bits on its magnetic drum, the earliest magnetic storage devices. Drums registered information as magnetic pulses in tracks around a metal cylinder. Read/write heads both recorded and recovered the data. Drums eventually stored as many as 4,000 words and retrieved any one of them in as little as five-thousandths of a second.
    1951
    The UNIVAC I delivered to the U.S. Census Bureau was the first commercial computer to attract widespread public attention. Although manufactured by Remington Rand , the machine often was mistakenly referred to as the "IBM UNIVAC." Remington Rand eventually sold 46 machines at more than $1 million each.
    SPEED: 1,905 operations per second
    INPUT/OUTPUT: magnetic tape, unityper, printer
    MEMORY SIZE : 1,000 12-digit words in delay lines
    MEMORY TYPE: delay lines, magnetic tape
    TECHNOLOGY: serial vacuum tubes, delay lines, magnetic tape
    FLOOR SPACE : 943 cubic feet
    COST: F.O.B. factory $750,000 plus
    Checkers, chess Britain
    • Strachey wrote a checkers program for the Ferranti Mark I at Manchester (with Turing's encouragement and utilising the latter 's recently completed Programmers' Handbook for the Ferranti computer). By the summer of 1952 this program could , Strachey reported, "play a complete game of Draughts at a reasonable speed".
    • Prinz's chess program, also written for the Ferranti Mark I, first ran in November 1951. It was for solving simple problems of the mate-in-two variety. The program would examine every possible move until a solution was found . On average several thousand moves had to be examined in the course of solving a problem, and the program was considerably slower than a human player .
    • Turing started to program his Turochamp chess-player on the Ferranti Mark I but never completed the task. Unlike Prinz's program, the Turochamp could play a complete game and operated not by exhaustive search but under the guidance of rule-of-thumb principles devised by Turing.

    Checkers (USA)
    • The first AI program to run in the U.S. was also a checkers program, written in 1952 by Arthur Samuel of IBM for the IBM 701.
    • Samuel took over the essentials of Strachey's program (which Strachey had publicised at a computing conference in Canada in 1952) and over a period of years considerably extended it.
    • In 1955 he added features that enabled the program to learn from experience, and therefore improve its play. Samuel included mechanisms for both rote learning and generalisation. The program soon learned enough to outplay its creator. Successive enhancements that Samuel made to the learning apparatus eventually led to the program winning a game against a former Connecticut checkers champion in 1962 (who immediately turned the tables and beat the program in six games straight).

    1952
    • Heinz Nixdorf founded Nixdorf Computer Corp . in Germany. It remained an independent corporation until merging with Siemens in 1990.
    • A complaint is filed against IBM, alleging monopolistic practices in its computer business, in violation of the Sherman Act.
    • G. W. Dummer, a radar expert from Britain's Royal Radar Establishment presents a paper proposing that a solid block of materials be used to connect electronic components , with no connecting wires.

    1953
    • IBM shipped its first electronic computer, the 701.

    Speedcoding: John Backus
    1954
     
    • Herbert Simon and Allen Newell unveiled Logic Theorist software that supplied rules of reasoning and proved symbolic logic theorems.
    • The Logic Theorist, as the program became known, was the major exhibit at a conference organised in 1956 at Dartmouth College, New Hampshire, by John McCarthy, who subsequently became one of the most influential figures in AI.
    • Newell, Simon and Shaw went on to construct the General Problem Solver, or GPS. The first version of GPS ran in 1957 and work continued on the project for about a decade. GPS could solve an impressive variety of puzzles, for example the "missionaries and cannibals" problem.

    1955

    However, the venture did
    not go well, partly because
    of Shockley's managerial
    style, and partly because
    he diverted resources away
    from transistor technology
    and into the creation of a
    4-layer switching diode, a
    device which he had
    conceived whilst still at Bell.
    1956
    • A U.S. District Court makes a final judgement on the complaint against IBM filed in January 1952 regarding monopolistic practices. A "consent decree" is signed by IBM, placing limitations on how IBM conducts business with respect to "electronic data processing machines".
    • IBM develops the first hard disk , the RAMAC 305, with 50 two-foot diameter platters. Total capacity is 5 MB. (350 Disk Storage Unit )‏
    • The first transistorized computer is completed, the TX-O (Transistorized Experimental computer), at the Massachusetts Institute of Technology.
    The Nobel Prize in physics is awarded to John Bardeen, Walter Brattain, and William Shockley for their work on the transistor.
    1957
    • A new language, FORTRAN (short for formula translator), enabled a computer to perform a repetitive task from a single set of instructions by using loops.
    The first commercial FORTRAN
    program ran at Westinghouse,
    producing a missing comma
    diagnostic.
    A successful attempt followed.
    1957
    • A group of eight engineers leaves Shockley Semiconductor to form Fairchild Semiconductors.
    • Kenneth Olsen founds

    Digital Equipment Corporation.
    1958
    • SAGE -- Semi-Automatic Ground Environment -- linked hundreds of radar stations in the United States and Canada in the first large- scale computer communications network .
    • At Texas Instruments, Jack St. Clair Kilby comes up with the idea of creating a monolithic device ( integrated circuit ) on a single piece of silicon.
    • Later (in 2000) Kilby receives Nobel

    price in physics
    • Jack Kilby completes building
    the first integrated circuit, containing
    five components on a piece of germanium
    half an inch long and thinner than a toothpick.
    1959
    • Fairchild Semiconductor files a patent application for the planar process for manufacturing transistors. The process makes commercial production of transistors possible and leads to Fairchild's introduction, in two years, of the first integrated circuit.
    • Texas Instruments announces the discovery of the integrated circuit.
    • At Fairchild Semiconductor, Robert Noyce constructs an integrated circuit with components connected by aluminum lines on a silicon-oxide surface layer on a plane of silicon.
    • Fairchild Semiconductor announces their independent discovery of the integrated circuit.

    1960
    • IBM develops the first automatic mass-production facility for transistors, in New York .
    • AT&T designed its Dataphone, the first commercial modem, specifically for converting digital computer data to analog signals for transmission across its long distance network
    • A team drawn from several computer manufacturers and the Pentagon developed COBOL, Common Business Oriented Language. Project leader: Grace Hopper.
    • LISP made its debut as the first computer language designed for writing artificial intelligence programs. Inventor: John McCarthy.

    1960
    • The PDP-1 sold for $120,000. MIT wrote the first video game, Space War! for it. A total of 50 were built. Each had a cathode ray tube graphic display .
    • No real commercial success

    1961
    • Fairchild Semiconductor releases the first commercial integrated circuit.
    • According to Datamation magazine , IBM had an 81.2-percent share of the computer market in 1961, the year in which it introduced the 1400 Series.

    1962
    • Teletype ships its Model 33 keyboard and punched-tape terminal , used for input and output on many early microcomputers.
    • Ivan Sutherland creates a graphics system called Sketchpad.
    1963
    • Douglas Engelbart receives a patent on the mouse pointing device for computers.
    • ASCII -- American Standard Code for Information Interchange -- permitted machines from different manufacturers to exchange data
    • Digital Equipment sells its first minicomputer, to Atomic Energy of Canada.

    1964
    • Ian Sharp and others found I.P. Sharp Associates, in Canada.
    • IBM announced System/360, a family of six mutually compatible computers and 40 peripherals that could work together.
    •   Gordon Moore suggests that integrated circuits would double in complexity every year. This later becomes known as Moore's Law.

    Moore’s law
    Each new chip contains roughly twice as much capacity as its predecessor , and is released within 18-24 months of the previous chip.”
    1964
    • John Kemeny and Thomas Kurtz develop the BASIC programming language at Dartmouth College. BASIC is an acronym for Beginners All-purpose Symbolic Instruction Code.

    1965
    Digital Equipment Corp (abbreviated DEC) introduced the PDP-8, the first commercially successful minicomputer. The PDP-8 sold for $18,000, one-fifth the price of a small IBM 360 mainframe. The speed, small size, and reasonable cost enabled the PDP-8 to go into thousands of manufacturing plants, small businesses, and scientific laboratories.
    1967
    IBM builds the first floppy disk
    • Seymour Papert designed LOGO as a computer language for children.

    1968
    • Robert Noyce and Gordon Moore found Intel Corporation.

    1968
    • Douglas C. Engelbart, of the Stanford Research Institute, demonstrates his system of keyboard, keypad, mouse, and windows at the Joint Computer Conference in San Francisco's Civic Center . He demonstrates use of a word processor, a hypertext system, and remote collaborative work with colleagues.

    1969
    • AT&T Bell Laboratories programmers Kenneth Thompson and Dennis Ritchie developed the UNIX operating system on a spare DEC minicomputer.

    Intel ja AMD arenesid välja Fairchild Semiconductorsitest, mis arenes välja Shockley Semiconductorist
    1970
    • Intel creates the first 4004 microprocessor.
    • 1969
    • The first microprocessor – CPU
    • 1971
    • The first commercial 4-bit microprocessor 4004:
    • -2,300 transistors
    • -10 µm features
    • -10 mm2 die
    • -108 kHz kHz

    Loeng 4

    1971
    • Computer-to-computer Communication expanded when the Department of Defense established four nodes on the ARPANET: the University of California-Santa Barbara and UCLA, SRI International, and the University of Utah.

    1972
    • In 1977 Atari enters the home computer market among others
    1972
    • Two important programming concepts introduced:
      • The first object -oriented language Smalltalk developed at XEROX PARC, based on ideas by Alan Kay.
      • The first logic programming language Prolog developed by Alan Colmerauer at University of Marseilles

    1972
    • Hewlett-Packard introduces a programmable calculator with a magnetic stripe memory for storing programs

    1973
    • Scelbi Computer Consulting Company offers the first computer kit in the U.S. using a microprocessor, the Intel 8008-based Scelbi-8H, for US$565, with 1KB programmable memory. An additional 15KB is available for US$2760.
    • Bob Metcalfe invents the Ethernet connectivity system.

    Altair
    • Altair was one of the first successfully sold personal computer kits for do-it-yourself computing fans. No monitor, no keyboard
    • Keyboard and cassette drive can be added
    • Oscilloscope can be attached to be used as a display

    1974
    • Popular Electronics publishes an article by MITS announcing the Altair 8800 computer for US$439 in kit form. It uses the Intel 8080 processor. The Altair pictured on the cover of the magazine is actually a mock-up, as an actual computer was not available.

    1974 Alto
    • A personal computer to be used for research
    • Cost: $32,000
    • Never produced for profit
    • First serious machine to feature a modern user interface : windows, mouse, etc invented by Engelbart in 1964
    • Great influence on Macintosh
    • Great influence on Microsoft

    C language: first half of 70s
    • Influences/derivation history: from ALGOL to C
      • ALGOL 58/60: Hoare, Perlis, Dijkstra, Kurtz, ..., Kotli,...
      • BCPL derivative of ALGOL (Strachey)‏
      • B simplified derivative of BCPL (Ken Thompson)‏
      • C derivative of B (Dennis & Ritchie)‏
    • C development 1969-1973
    Famous C book 1978 “ The C Programming Language”
    1975
    • Bill Gates and Paul Allen found Micro- Soft (the hyphen is later dropped).

    1976
    • Steve Jobs and Steve Wozniak form the Apple Computer Company, on April Fool's Day.
    • The Apple I computer board is sold in kit form, and delivered to stores by Steve Jobs and Steve Wozniak. Price: US$666.66.
    • Paul Terrell orders 50 Apple computers from Steve Jobs, for his Byte Shop.

    1976
    Gary Kildall founds Intergalactic Digital Research
    1977
    • The Commodore PET (Personal Electronic Transactor) -- the first of several personal computers released in 1977 -- came fully assembled and was straightforward to operate.

    1977
    • The Apple II became an instant success when released in 1977 with its printed circuit motherboard, switching power supply, keyboard, case assembly, manual, game paddles, A/C powercord, and cassette tape with the computer game "Breakout.“

    1977
    • In the first month after its release , Tandy Radio Shack's first desktop computer -- the TRS-80 -- sold 10,000 units , well more than the company's projected sales of 3,000 units for one year.

    1979
    • Harvard MBA candidate Daniel Bricklin and programmer Robert Frankston developed VisiCalc, the program that made a business machine of the personal computer, for the Apple II.

    79-80: USENET : varane “web” : tekstiuudised
    • USENET on hiiglaslik kogus uudisgruppe. Tekstid liiguvad masinast masinasse.
    • USENET: Unix Users Network founded late 1979.
    • Info liikus algselt: UUCP protolli abil (Unix to Unix communications protocol , enamasti moodemi abil sissehelistamisega).
    • V7 Unix with UUCP. Two Duke University grad students in North Carolina, Tom Truscott and Jim Ellis , thought of hooking computers together to exchange information with the Unix community. Steve Bellovin, a grad student at the University of North Carolina, put together the first version of the news software using shell scripts and installed it on the first two sites : "unc" and "duke." At the beginning of 1980 the network consisted of those two sites and "phs" ( another machine at Duke), and was described at the January Usenix conference.
    • 1986 murrang: Network News Transfer Protocol (NNTP) . Uudised liiguvad TCP/IP (interneti) kaudu.

    Spetsiaalkeelte protsessorid:
    sünd 1980 ja surm ca 1990

    Symbolics founded 1980. Created special hardware for running LISP programs (mostly AI) efficiently.The whole system written in LISP.
    • 21 founders: mostly from MIT AI lab.
    • Revenue 35 millions by 1986, then decreases rapidly.
    • Cost of a Symbolics machine in 1988 was between 36.000$ and 125.000$.
    • Sun-X computer at that time
    started at 14.000$
    • Another Lisp machine company created
    at the same time: LMI LISP machine
    died even faster than Symbolics
    1980
    • Microsoft and IBM sign a contract for Microsoft to develop certain software products for IBM's microcomputer .

    1981
    • Adam Osborne completed the first portable computer, the Osborne I, which weighed 24 pounds and cost $1,795. Used Z80 (NOT IBM-PC clone (yet)!)‏

    1981
    • Apollo Computer unveiled the first workstation, its DN100, offering more power than some minicomputers at a fraction of the price. Used a Motorola 68000 microprocessor.
    1981
    • College professor James Clark found Silicon Graphics, Incorporated. The 1000 and 1200 computers used a Motorola 68000 microprocessor with 8 Mhz and were sold as diskless systems intended for use as a terminal.

    1981
    • IBM announces the IBM 5150 PC Personal Computer, in New York. The PC features a 4.77-MHz Intel 8088 CPU, 64KB RAM, 40KB ROM, one 5.25-inch floppy drive (160KB capacity), and PC-DOS 1.0 (Microsoft's MS-DOS), for about US$3000. Also included is Microsoft BASIC, VisiCalc, UCSD Pascal, CP/M-86, and Easywriter 1.0. A fully loaded version with color graphics costs US$6000.
    • IBM announces the CGA graphics card for the PC, giving 640x200 resolution with 16 colors.

    1983
    Big machines:
    • AT&T announces UNIX System V.
    • AT&T Bell Labs designs C++.

    1984
    • Apple Computer's Steve Jobs introduces the Apple Macintosh at the Flint Center of DeAnza College in Cupertino, California. The Macintosh uses the 8-MHz 32-bit Motorola 68000 CPU, built-in 9-inch B/W screen, 512x342 graphics, 400KB 3.5-inch floppy disk drive, mouse, 128KB RAM, and weighs 20 pounds. Price: US$2500.
    • Apple Computer launched the Macintosh, the first successful mouse-driven computer with a graphic user interface, with a single $1.5 million commercial during the 1984 Super Bowl.
    •  ” ….. On January 24th, Apple Computer will introduce Macintosh. And you will see why 1984 won't be like "1984." 

    Apple product lines: overview
    • Two main lines: Apple II and Macintosh
    • Develop BOTH hardware and software (operating system and other important modules used by all external programmers)‏

    1984
    • Richard Stallman launches the GNU Project, to develop the free operating system GNU (anacronym for ``GNU's Not Unix''), and thereby give computer users the freedom that most of them have lost. GNU is free software: everyone is free to copy it and redistribute it, as well as to make changes either large or small.

    1984
    • The Massachusetts Institute of Technology (MIT) begins developing the X Window System. X is the basic window system for almost all UNIX machines nowadays.

    1985: Main highlihts
    • The modern Internet gained support when the National Science foundation formed the NSFNET, linking five supercomputer centers at Princeton University, Pittsburgh, University of California at San Diego, University of Illinois at Urbana -Champaign, and Cornell University.
     
    • Able to hold 550 megabytes of prerecorded data, the new CD-ROMs grew out of regular CDs on which music is recorded.
     
    • The C++ programming language emerged as the dominant object-oriented language in the computer industry when Bjarne Stroustrup published "The C++ Programming Language."
    • Free GNU Emacs 15.34 released by Richard Stallman

    Microsoft main product lines: overview
    • Main lines: progr languages , MS-DOS, Windows, NT/2000/XT, Office
    • Develop software (hardware: mouse, Xbox, etc are much less important) for IBM PC clones and (Office, Basic) for Apple

    1987
    • The Archimedes was one of the
    most powerful home computers
    available during the late 1980s
    and early 1990s;

    Loeng 5

    1989-90: Rahvusvaheline võrguots Eestis: FIDONET
    • 1989 detsembri lõpus panid Andrus Suitsu ja Tarmo Soodla käima Opus-e nimelise P.O.Box-i.
    • 1990 aasta kevadel lülitus Eesti FIDONET Soome kaudu ülemaailmsesse FIDO-võrku, ning sama aasta sügiseks oli Eestis juba sedavõrd palju FIDONET-i huvilisi, et Eesti sai omaette FidoNeti regiooni staatuse (R49).

    1989: Python programming language
    • Python implementation was started in 1989 by Guido van Rossum at CWI in the Netherlands as a successor to the ABC programming language (itself inspired by SETL).
    • Python 2.0 was released in 2000, with many major new features including a full garbage collector and support for Unicode.
    • Python 3.0, a major, backwards-incompatible
    release, was released in 2008
    1990: HTML, http and the browser are born
    • The World Wide Web was born when Tim Berners -Lee, a researcher at CERN, the high-energy physics laboratory in Geneva, developed HyperText Markup Language.
    • HTML, as it is commonly known, allowed the Internet to expand into the World Wide Web, using specifications he developed such as URL (uniform resource locator) and HTTP (hypertext transfer protocol).
    • Berners-Lee based the World Wide Web on Enquire, a hypertext system he had developed for himself, with the aim of allowing people to work together by combining their knowledge in a global web of hypertext documents.
    • With this idea in mind, Berners-Lee designed

    both the first World Wide Web server and browser
    -- available to the general public in 1991.
    First web server address: info.cern.ch
    • Berners-Lee founded the W3 Consortium,
    which coordinates World Wide Web development.
    www.w3c.org. Active in semantic web project
    1990 :TBL browser, runs on NeXT
    1990 WWW taustaks: mis oli ja mis ei
    • Oli selleks ajaks:
      • Hulk aega olemas olnud internet
      • Email, ftp, gopher ja muud failivahetussüsteemid internetis
      • Apple’i HyperCard (umbes nagu html, aga ühe masina piires)‏
    • Ja olid varased ideed, mida ei realiseeritud:
      • Vannevar Bushi ideed aastast 1945, Doug Engelbarti klassikaline demo 1960-datest (hiir, aknad, koostöö üle võrgu)
      • Ted Nelsoni poolik projekt Xanadu (aastast 1965)‏
    • Berners Lee aga programmeeris ideed praktiliselt kokku, tehes lihtkasutajate jaoks väga mugava süsteemi. HTML on väga lihtne!

    1990: GNU UNIX almost complete
    • 1990, the GNU system was almost complete; the only major missing component was the kernel .
    • It was decided to implement the kernel as a collection of server processes running on top of Mach . Mach is a microkernel developed at Carnegie Mellon University and then at the University of Utah. The start of development was delayed as people waited for Mach to be released as free software, as had been promised.

    1990: MS and IBM end cooperation
    • Microsoft shipped Windows 3.0 on May 22.
    • IBM and Microsoft end cooperative work on operating systems, dividing up work-to- date between them, in a series of cross -licensing agreements.
      • Microsoft will work on Windows, DOS, and a portable version of OS/2.
      • IBM will continue development of 16-bit and 32-bit versions of OS/2.

    1990: Internetiotsake Eestis: e-post, USENET
    • Tampere tehnikaülikoolist laenuks saadud moodemi Robotics Courier V.32 abil panid Küberneerika Instituudi teadurid Aleksander Shmundak, Mari Kõpp ja Leonid Tomberg käima regulaarse ühenduse oma instituudi ja soome UNIXI-kasutajate seltsi (FUUG) masina vahel.
    • Küberneetika Instituudi arvuti helistas iga poole tunni tagant Soome arvutisse ja saatis edasi ning võttis vastu vahepeal saabunud e-teated (põhiliselt e-posti).
    • Ca 400 rubla eest kuus said Eesti-poolsed kliendid ennast oma moodemi abil Küberneetika Instituudi arvuti külge haakida ning samuti e-posti saata.
    • Küberneetika instituudi e-posti aadressi lõpus oli .su, mis tähendas mõistagi NSVL-i.

    1991
    • Linus Torvalds, a student at the University of Helsinki in Finland , starts working as a hobby on Linux . Linus had an interest in Minix, a small UNIX system created by Tannenbaum, and decided to develop a system that exceeded the Minix standards. He began his work in 1991 when he released version 0.02
    • Linus used both Minix and Gnu for his work: essentially, Linux is a Minix-inspired kernel for Gnu.

    1992: GSM mobile networks : first providers
    • 1982 Nordic Telecom and Netherlands PTT propose to CEPT (Conference of European Post and Telecommunications) the development of a new digital cellular standard that would cope with the ever a burgeoning demands on European mobile networks. 
    • 1982 The European Commission (EC) issues a directive which requires member states to reserve frequencies in the 900 MHz band for GSM to allow for roaming.
    • 1987 13 operators and administrators from 12 areas in the CEPT GSM advisory group sign the charter GSM (Groupe Spéciale Mobile) MoU "Club" agreement, with a launch date of 1 July 1991. GSM spec drafted.
    • 1990 Phase 1 GSM 900 specifications are frozen. First GSM World congress in Rome with 650 Participants
    • 1992 January - First GSM network operator is Oy Radiolinja Ab in Finland.
    • 1992 December - 13 networks on air in 7 areas. GSM World Congress Berlin - 630 Participants

    1992: Päris TCP/IP internetiotsad Eestis
    • Lippmaa organiseerimisel rajas KBFI kaks kallist satelliidi-otseliini TCP/IP (päris internet) jaoks: Tallinn(KBFI)- Stockholm (KTH) ja Tartu(Biokeskus)-Stockholm.
    • Ants Wõrk Küberneetika Instituudist organiseeris interneti-välisühenduse kaablitpidi Helsingisse.
    • KBFI satelliidiühendus sai valmis kuu aega enne Küberneetika Instituudi kaabliühendust: Tõelise Interneti käimapaneku juures 1992. aasta märtsis viibisid paar rootslast ja eesti poolelt Andres Bauman, Jaak Lippmaa ning Toomas Kadarpik .
    • Kuivõrd KBFI uus interneti-ots sai valmis enne Küberneetika Instituudi oma, hankisid nemad Eestile Soviet Unioni .su-st erineva interneti aadressi .ee ja hakkasid Eesti-sisest internetti administreerima.
    • Nii Küberneetika Instituudi kui KBFI-Biokeskuse ühendused elasid välisfinantsidest, ning olid ette nähtud akadeemilistele kasutajatele.

    1993
    • Apple Computer introduces the Newton MessagePad 100 personal digital assistant at Macworld Expo, in Boston's Symphony Hall.

    1993: Berners-Lee edasiarendus NCSA-s
    • First publicly available popular browser, free to download, runs on several UNIX workstations:
    NCSA Mosaic v1.0 is released.
    • NCSA: National Center for Supercomputing Applications
    • MS Internet Explorer “about” in 2002 says: “Based on NCSA Mosaic. NCSA Mosaic(TM); was developed at the National Center for Supercomputing Applications at the University of Illinois at Urbana-Champaign”.

    1994: NCSA www-meeskonnast Netscape
    • Silicon Graphics co-founder James Clark leaves to start Mosaic Communications. Mosaic soon renamed to Netscape.
    • Mosaic Communications releases Netscape Navigator 1.0, a world-wide web browser.
    • Asutajad: Clark ja Andreessen
    Clark invested $4 millions.
    Andreessen invested source
    code and competence and team.
    • Microsoft offers Netscape US$1 million to license Netscape's browser code. Netscape refuses.

    1994: PHP language, Mysql database
    • PHP development began in 1994 when the Danish/Greenlandic programmer Rasmus Lerdorf initially created a set of Perl scripts he called "Personal Home Page Tools" to maintain his personal homepage..
    • Zeev Suraski and Andi Gutmans, two Israeli
    developers at the Technion IIT,
    rewrote the parser in 1997 and formed
    the base of PHP 3. Created the
    Zend Engine in 1999.
    • Michael Widenius and David Axmark start
    work on the MySQL database.
    • In 2008, Sun Microsystems bought
    MySQL for US$1 billion . Now owned by
    Oracle.
    1994: GNU/Linux version 1.0 and freeware BSD-s
    • A freeware version of UNIX BSD branch: 4.4 BSD Lite at Berkeley
    • Linus Torvalds releases version 1.0 of the Linux Kernel.
    • NB! Freeware BSD-s and Linux are completely separate projects to create freeware UNIX-es

    1995: Eestis esimene päevaleht internetis
    • Eesti päevaleht. http://www.zzz.ee/epl/
    • Esimene number: 5. oktoober 1995
    • Käivitamise osalised:
      • Tanel Tammet : pushimine & tegelik igapäevane avaldamine
      • Marek Strandberg: üks EPL omanikke, aktiivselt poolt
      • Ott Köstner: www.zzz.ee üks omanik ja põhihaldaja
      • Kalle Muuli: peatoimetaja, oli rõõmsalt nõus.

    1995: Windows 95
    • Microsoft releases Windows 95. More than 20,000 retail stores offer copies for sale .
    • Windows 95 sports a GUI interface somewhat similar to Apple Macintosh.
    • Microsoft prepares for support calls, with 1600 people staffing tech support lines. 1 million copies of the new and upgrade versions are sold through retail channels within the first 4 days.
    • One month after the release of Windows 95, an estimated 7 million copies have been sold to end-users.
    • Microsoft releases Microsoft Internet Explorer 1.0.
    • Microsoft introduces Microsoft Office 95.

    1995: Pixar’s Toy Story
    • First full-length feature film done entirely with 3-D animation.
    Pixar was created by Jobs several years before.
    • Java is initially used for writing small applets in HTML web pages, but after a while focus shifts to “ordinary programs” without browsers, especially on servers.

    1995
    • Alta Vista : the first successful web search engine
    • AltaVista was created by researchers at Digital Equipment Corporation's Western Research Laboratory who were trying to provide services to make finding files on the public network easier.

    1996: Palm Pilot (pihuarvuti)
    1996: Eestis internetipangad
    • Kevadel Forekspank: esimesed katsed.
    • Suvel Hoiupank: täisvõimsusega.
    • Hansapank esialgu kahtleb.
    Kuulujutuna kuuldud
    insider-tsitaat Jüri Mõisalt:
    “internet on
    seksuaalvähemustele”.
    1997: Google start
    • Google began in March 1997 as a research project by Larry Page and Sergey Brin, Ph.D. students at Stanford working on the Stanford Digital Library Project (SDLP)

    1997: Computer chess finally wins big
    1998: Netscape down, Mozilla born
    1999 Blackberry
    2000
    Microsoft introduces C#
    IBM selling the first USB flash drives
    2001
    • Dell computers becomes the largest PC
    maker.
    • Wikipedia is founded .
    • Bram Cohen introduces BitTorrent
    on a public message board.
    • Apple introduces the iPod.
    • Microsoft releases XBOX

    2001: X-road started in Estonia
    • Secure standardised communications platform between different state information systems and databases
    • Idea and pilot 1999-2000: Tanel Tammet, Ain Järv, Vello Kadarpik

    2002: stock market crash
    2002
    • Estonian electronic ID card introduced: digital authentication and signatures.

    2003
    • Apple opens the iTunes store
    • The Safari Internet browser is released.
    • The Mozilla Foundation is officially formed.
    • The Internet VoIP service Skype goes public.
    • Valve introduces Steam.

    2004: the year of social networking
    • MySpace is launched: first successful social network platform.
    • Orkut social network platform is launched by Google.
    • Mark Zuckerberg launches Thefacebook, later becomes Facebook .
    • The photo sharing site
    Flickr is launched.
    • Google announces
    Gmail.
    • Ubuntu linux distro
    is released.
    followup to Mozilla, which
    was a followup to Netscape
    2005: Internet elections start in Estonia
    2005
    • Google maps released
    • YouTube is founded and comes online
    • Lenovo acquires IBM PC business
    • Apple announces it plans on switching its
    computer to the Intel processors
    • eBay acquired Skype for
    approximately $2.6billion
    • Microsoft releases the Xbox 360

    Loeng 6

    Relee: mootoriga lüliti
    Töötab elektrimagneti ja vedru toimel reguleerituna, nagu tavaline lüliti
    Raadiolambi tööpõhimõte
    • Vacuum Tube (1906, Lee Deforest)‏
    Three elements device used as electronic switch and amplifier: two electrodes separated by a grid in a vacuum glass enclosure.
    • Principle
    Cathode - emits electrons;
    Plate (anode) - receives the electrons;
    Grid - with negative bias voltage repels some of the electrons and prevents them from reaching the plate, resulting in less current flow. A changing negative charge on the grid modulates the plate current.
    1947
    • Three scientists at Bell Telephone Laboratories, William Shockley, Walter Brattain, and John Bardeen demonstrate their new invention of the point-contact transistor amplifier.

    • Peamine idee: transistorid kui “katkestusmootoriga” lülitid

    CMOS: transistor pairs for low power consumption
    • MOSFET transistors always in complementary P/N pairs:
    switch only momentary, most of the time no current
    One of the two
    transistors is always
    off, except for a short
    period during a switch
    Neljabitine liitja (four-bit adder)
    Kaheksa pluss kaks sisendjuhet, neli pluss üks väljundjuhet
    Ecki xComputer
    • Olulist: protsessori sees on väike hulk spetsiaal -mälupesi ( registrid )‏
    • Tehteid saab teha ainult nende registrite vahel.
    • Ei ole näiteks võimalik liita otse kahte mälus olevat arvu: enne tuleb nad registritesse kopeerida, siis seal liita, siis tulemusregistrist (nn akumulaator) mäll kirjutada.
    • Koha, kust mälust loetakse/ kirjutatakse näitab ADDR register .
    • Koha, kust lugeda järgmine käsk , näitab PC (program counter) register

    Käskude täitmine
    • Kaks tsüklit üksteise sees:
    • Välimine tsükkel suurendab igal ringil PC-d (program counterit), st igal ringil võetakse täidetav käsk järgmisest mälupesast.
      • Sisemine tsükkel toimub iga käsu sees. Sisemise tsükli jooksul täidetakse käsu sisemisi pisi - samme .
    Üks pisi-samm vastab mingile juhtmele voolu peale andmisele, mispeale käivitub vastav loogika-ahel protessoris ja selle tulemus salvestatakse mõnda registrisse.
    • Masina taktsagedus on see sagedus, kui tihti pisi-samme täidetakse. Iga järgmise pisi-sammu alustamise jaoks on masinas kell, mis annab kindla sagedusega impulsse. Pisi-sammu number saadakse nende impulsside kokkulugemisega.

    xComputer-i põhiregistrid
    • The X and Y registers hold two sixteen-bit binary numbers that are used as input by the ALU. For example, when the CPU needs to add two numbers, it must put them into the X and Y registers so that the ALU can be used to add them.
    • The AC register is the accumulator. It is the CPU's "working memory" for its calculations. When the ALU is used to compute a result , that result is stored in the AC. For example, if the numbers in the X and Y registers are added, then the answer will appear in the AC. Also, data can be moved from main memory into the AC and from the AC into main memory.
    • The FLAG register stores the "carry-out" bit produced when the ALU adds two binary numbers. Also, when the ALU performs a shift-left or shift-right operation, the extra bit that is shifted off the end of the number is stored in the FLAG register.
    • The ADDR register specifies a location in main memory. The CPU often needs to read values from memory or write values to memory. Only one location in memory is accessible at any given time.
    • The PC register is the program counter. The PC specifies the location in memory that holds the next instruction to be executed.
    • The IR is the instruction register. When the CPU fetches a program instruction from main memory, this is where it puts it. The IR holds that instruction while it is being executed.
    • The COUNT register counts off the steps in a fetch-and-execute cycle. It takes the CPU several steps to fetch and execute an instruction. When COUNT is 1, it does step 1; when COUNT is 2, it does step 2; and so forth. Remember that as the COUNT register counts 0, 1, 2,..., just one machine language program is being executed

    Hierarhia pistikutest progekeelteni
    • Esimene: programmeerimismeetod: kaablid ja pistikud
    • Teine: von Neumanni arhitektuur, programm mälus binaarkoodina:
    01011101 01001011 01010101 11010101 10101001 ....
    Lihtsam kirjutada hexas, ntx 4A FC 09 B2 ....
    • Kolmas: Esmane progekeel: assembler.
    Üks masinakäsk: tüüpiliselt üks rida assembleriprogrammi
    • Neljas: Harilik progekeel ehk nn kõrgkeel (fortran, basic, c, java, python jne jne).
    Harilikud valemid, if-then- else jne, a la x=2*y+sin(y);
    Ecki assembler
    • This program counts. It starts by putting the number 1 into memory location 12, and then it adds one to the number in that location over and over, forever.

    Loeng 7

    Programming is linguistic
    • Programming is an explanatory activity.
      • To yourself, now and in the future.
      • To whoever has to read your code.
      • To the compiler, which has to make it run.
    • Explanations require language.
      • To state clearly what is going on.
      • To communicate ideas over space and time.

    Programming and description languages
      • Programming languages, in the familiar sense:

    Fortran, C, Java, C#, Python, Javascript etc.
      • Description languages (i.e. not for programming):
    Text layout : html
    Html layout nuances: css
    Database query tasks: SQL
    Data representation: XML, json , csv
    ... etc
    Kõrgkeeled
    • Automatiseerivad ja lihtsustavad hulga “harilikke” protseduure, mida assembleris programmeerides vaja
    • Ei anna assembleriga analoogilist kontrolli masina üle
    • Kõrgkeeled on erineva abstraktsusastmega:
      • Masinalähedane ja ebamugav: Fortran, C (portaabel assembler)‏
      • Abstraktsem ja mugavam: Lisp, Ada, ML, Java, Python,
    • Peale programmeerimiskeelte on veel hulk muid keeli:
      • Päringukeeled (SQL, RDQL, ....)‏
      • Kujunduskeeled (HTML, PS, ...)‏
      • Spetsifitseerimiskeeled (loogikakeeled, UML, ....)‏
    ....
    Kuidas keeles X kirjutatud programmi täidetakse?
    NB! arvuti suudab täita ainult masinkoodis programme.
    Kaks põhivarianti keeles X programmi täitmiseks.
    • Kompileerimine: masinkoodis programm nimega kompilaator teisendab keeles X programmi masinkoodfailiks Y. Seejärel täidetakse saadud masinkoodis programm Y. Näide: C.
    • Interpreteerimine: masinkoodis programm nimega interpretaator loeb sisse X keeles faili, kontrollib/ veidi teisendab teda ja asub nö sisekujul varianti rida-realt täitma. Näited: Python, PHP, Perl, vanemad Javascripti mootorid jne.
    NB!
    • Programmi interpreteerimine on ca 10-200 korda aeglasem, kui kompileeritud koodi täitmine.
    • Põhimõtteliselt saaks igas keeles kirjutatud programme nii interpreteeritult täita kui kompileerida.
    • Praktikas eelistatakse vahel interpreteerimist, vahel kompileerimist.
    Kompromissvariante:
    • Kompilaator kompileerib X faili vahekoodiks Y, seejärel interpreteeritakse vahekoodi Y (Python, Java).
    • Interpretaator interpreteerib vahekoodi Y, kuid kompileerib töö ajal osa Y-st masinkoodiks, mida seejärel täidab (Java ja Firefoxi Javascript) nn just-in-time compilation ehk JIT.
    • Chrome V8 Javascript: kompileerib algul kogu programmi masinkoodiks kiire kompilaatoriga, seejärel kompileerib töö käigus selgunud kriitilised kohad aeglasema optimeeriva kompilaatoriga, mis annab kiiremini töötava tulemuse.

    Kompileeritava programmi valmimine
    Olgu meil (näiteks C keeles) failid main.c ja swap.c
    Teeme gcc main.c swap.c -o minuprogramm
    Kompilaator (näiteks gcc) teeb järjest mitut eri asja:
    • Kompileerimine
      • Kompilaator teeb neist assemblerikeelsed ajutised failid
      • Kompilaator teeb assemblerfailidest masinkood+sümbolinfo failid
    • Linkimine
    Käivitame saadud programmifaili minuprogramm:
    • Opsüsteemi loader otsib lisaks vajalikud olemasolevad failid osa sümbolinfo seostamiseks päris koodi-viidetega
    • Saadud kogum paigutatakse mällu, tehakse opsüsteemi infoblokk tema jaoks (protsess) ja kogum käivitatakse

    Keelte erisused: kolm põhiasja
    • Süntaks (kuidas kirjutatakse näiteks if .. then .. else ühes või teises keeles)‏
    • Semantika ehk tähendus (mida õigesti kirjutatud programm tegelikult siis teeb)‏
    • Teegid ( libraries ) (millised valmisprogrammijupid on selle keele jaoks kergesti kättesaadavad või kohe kaasa pandud)‏

    Keeled: tüüpilised asjad, mida pea iga keel pakub
    • Primitiivsed andmetüübid:
      • int, char etc (näiteks: 1 ja –3 on int-id, ‘c’ ja ‘a’ on char-id)‏
      • string (näiteks “aaa123bb”)‏
      • massiiv (näiteks a[1]=2; a[2]=20; a[3]=15; y=2; x=a[y]+a[1]+3;)‏
    • Avaldised:
      • näiteks x = (y*2) – (5+x);
    • Elementaarsed juhtkonstruktsioonid:
      • valik: if ... then ... else
      • tsükkel: while(x0) return 2+bar(x-2) else return 1}
      • int bar(int x)

    Deklaratiivne vs imperatiivne
    • Programmeerimiskeeli ja -meetodeid saab klassifitseerida mitmel moel. Selle loengu kontekstis sobib jaotada programmeerimiskeeled kõigepealt kahte gruppi:
    • Imperatiivsed keeled] sobivad samm-sammult, kindlas järjekorras täidetavate algoritmide esitamiseks . Programmid kujutavad endast arvutile antavate käskude jada. Tuntumad imperatiivsed keeled on C, Basic, Pascal, Java, objektorienteeritud keeled ja assemblerkeeled.
      • Imperatiivsete keelte peamiseks eeliseks on arvuti tegevuse täpse kontrollimise ja suunamise võimaldamine, mis enamasti tagab maksimaalse töökiiruse.
      • Miinusteks on programmeerimise suur töömahukus - lahenduskäigu kõik detailid tuleb süsteemile esitada - ning suured raskused programmideanalüüsimisel, näiteks optimeerimise, verifitseerimise või paralleliseerimise tarvis.

    Deklaratiivsed vs imperatiivsed keeled
    • Deklaratiivsed keeled sobivad algoritmi esitamiseks käskude jadast abstraktsemal viisil. Programmeerija ei pruugi alati kõiki algoritmi detaile kirja panna, vaid võib esitada otsitava lahenduse kirjelduse , ning juba programmi täitmise käigus otsustab süsteem automaatselt, mis viisil täpselt seda lahendust otsida.
    • Deklaratiivseteks keelteks võib lugeda loogilise programmeerimise keeled (näiteks Prolog) ja mitmed funktsionaalsed keeled (näiteks Haskell ). Teoorias kasutatav lambda-arvutus on puhtalt funktsionaalse deklaratiivse keele näide.
    • Deklaratiivsed keeled võimaldavad enamikku programme kiiremini ja mugavamalt kirjutada, kui imperatiivsed keeled - programmeerija ei pea kõigi detailide eest hoolt kandma. Tunduvalt lihtsam on ka programmide analüüs, näiteks programmi automaatsel kohandamisel paralleelarvutile, kus programmi täitmise juures töötab samaaegselt hulk protsessoreid.
    • Peamiseks miinuseks on programmide väiksem töökiirus - deklaratiivne programm ei pruugi küll alati aeglasem olla, kui imperatiivne, kuid on seda harilikult siiski. Põhjuseks on siin keele automaattranslaatori väiksem intelligentsus kogenud programmeerijaga võrreldes.

    • Deklaratiivsed keeled jaotatakse
      • Funktsionaalse programmeerimise keelteks (näide: Haskell), kus lahendus kirjeldatakse funktsioonide kogu abil - ka viimast saab tegelikult käsitleda kui teatud tüüpi loogikasüsteemi.
      • Loogilise programmeerimise keelteks (näide: Prolog), kus otsitavat lahendust kirjeldatakse loogika keeles

    Funktsionaalne programmeerimine
    • Funktsionaalsete keelte idee on programmide kirjutamine (matemaatiliste) funktsioonide defineerimise teel, määramata seejuures täpselt ära, mis strateegia järgi funktsiooni resultaati tuleb arvutada.
    • Funktsioonile võib anda argumendiks teisi funktsioone ja funktsiooni arvutamise resultaadiks võib samuti olla funktsioon.
    • NB! Funktsionaalne programmeerimine on ajalooliselt esimene deklaratiivse programmeerimise viis, ning enamik kaasaegseid programmeerimiskeeli -- C, Pascal, Ada jne -- on funktsionaalse programmeerimise meetoditest mõjustatud.

    Avaldise väärtustamine (reduktsioon)‏
    • Leitakse funktsiooni defineeriv "sobiv" võrdus
    • Asendatakse avaldis võrduse parema poolega
    • Formaalsete parameetrid asendatakse tegelike argumentidega
    • Kogu protsessi korratakse kuni rohkem ei saa

    Puhtad ja kombineeritud funktsionaalsed keeled
    • Funktsionaalseid keeli saab jämedalt jagada kahte liiki: puhtad ja kombineeritud.
    • Puhtas funktsionaalses keeles -- Haskell, Hope , Miranda, FP -- ei ole programmeerijal peale funktsioonide defineerimise ja sisseehitatud baasfunktsioonide (aritmeetika, loendid jms) mingeid lisavahendeid -- kõik kõrvalefektid on keelatud.
    • Puhas funktsionaalne keel ei luba muutujatele väärtusi omistada. Ainus efekt, mis funktsiooni rakendamine argumentidele annab, on resultaadi leidmine.
    • Kombineeritud funktsionaalsed keeled - ML, Lisp, Scheme - kombineerivad puhaste funktsionaalsete keelte mehhanisme imperatiivsete mehhanismidega.

    Alus: lambda-arvutus
    • Lambda- arvutuse keel on Alonzo Churchi poolt 1930. aastatel leiutatud lihtne ja universaalne meetod funktsioonide kirjapanekuks.
    • Lambda-arvutuse teooria tegeleb arvutatavuse ja arvutatavate funktsioonide uurimisega, kasutades selleks lambda-arvutuse keelt kui universaalset programmeerimiskeelt.
    • Churchi tees väidab, et iga algoritmi saab lambda-arvutuse keeles kirja panna. On võimalik näidata, et lambda-arvutus, nagu ka Prolog, C ja Basic on üks paljudest universaalsetest programmeerimiskeeltest.
    • Konkreetselt on lambda-arvutuse keel ja teooria funktsionaalsete programmeerimiskeelte aluseks.

    Loogiline programmeerimine: Prolog
    • Prolog on esimene -- ja siiani väga populaarne -- loogilise programmeerimise keel. Prolog-ile lisaks on välja töötatud mitmeid uuemaid loogilise programmeerimise keeli ja süsteeme, ning nende arendamine on ulatuslik ja levinud uurimisteema.
    • Prolog-i põhi-idee on nõuda otsitava lahenduse kirjeldamist esimest järku predikaatarvutuse keeles, kusjuures Prolog-i süsteem sisaldab teatud tüüpi automaatset teoreemitõetajat, mis on võimeline lahendust automaatselt otsima ja tuletama.
    • Sellegipoolest ei ole Prolog siiski automaatse teoreemitõestamise süsteem: viimast realiseeriv mehhanism on Prolog-is väga piiratud, spetsiifiline ja loogiliselt mittetäielik.

    Loeng 13


    Keerukus uurimisvaldkonnana
    • Keerukus on suur arvutiteaduse uurimisvaldkond.
    • Ingliskeelne harilik nimi: complexity theory
    • Tegeldakse keerukusega peamiselt kahes mõttes:
      • Kiirus ehk aeg (time): kui kiiresti algoritm peatub, kui kiireid algoritme on mingite ülesannete jaoks olemas?
      • Mälukasutus ehk ruum (space): kui palju mälu algoritm kasutab, kui väikese mälukasutusega algoritme on mingite ülesannete jaoks olemas?
    • Vaadatakse eraldi:
      • Algoritmide keerukust (nii aja kui ruumi mõttes)‏
      • Ülesannete lahendamise keerukust:
    kas mingi probleemide ehk ülesannete klassi jaoks on olemas algoritmi keerukusega vähem kui mingi f?
    • Raske juhus : kuidas näida, et mingi probleemide klassi K jaoks ei ole kiiremat algoritmi, kui kiirusega mingi F?
      • Algoritme on lõpmatult palju, neid ei saa kõiki läbi proovida
      • Järelikult tuleb kavalalt tõestada, et kiiremat algoritmi kui kiirusega F ei saa antud probleemi jaoks olla.
    • Hulgaliselt suuri, olulisi, lihtsalt formuleeritavaid probleeme on senini lahendamata (näiteks P=NP?)‏

    Hirmsad keerukusfunktsioonid praktikas
    • Eksponentsiaalse keerukusega ülesanded on praktikas väga levinud
    • Supereksponentsiaalse ja mittearitmeetilise keerukusega ülesanded tulevad samuti ette
    • Paljusid selliseid ülesandeid saab kavalate algoritmidega praktikas päris hästi lahendada ka üpris suure ülesannete (suure N) jaoks:
      • lihtsalt sellised algoritmid ei tööta alati efektiivselt, vaid vahete-vahel.
      • ka sellest on palju kasu, kui neid ülesandeid vahete-vahel õnnestub mõistliku ajaga lahendada
      • Vahete-vahel kiirelt lahenduvate juhtude protsent võib praktikas osutuda üpris kõrgeks

    Lahenduvus
    • Teame, et iga probleemi jaoks ei leidu kiiret algoritmi.
    • Kas aga iga probleemi jaoks on üldse olemas algoritmi, mis seda lahendab?
    • Eeldame, et vaatame ainult probleeme, mis on täpselt ja üheselt kirjeldatud ja kus on lahendamiseks olemas piisavalt infot (a la travelling salesman, malemäng jne)‏
    • Selgub, et iga täpselt formuleeritud probleemi jaoks ei leidugi lahendavat algoritmi!
    • Vähe sellest: kui võtta “juhuslik” probleem, siis tõenäosus, et lahendav algoritm leidub, on lõpmatult väike!

    Intuitiivne seletus lahendamatusele
    • Saab näidata, et erinevaid probleeme on lõpmatult rohkem, kui erinevaid algoritme.
    • Kuna probleeme on lõpmatult rohkem kui algoritme, siis iga probleemi jaoks lihtsalt “ei jätku ” lahendavat algoritmi.
    • Kuidas seda näidata (plaan):
      • Näitame, et algoritme on sama palju, kui täisarve (lihtne)‏
      • Näitame, et probleeme on vähemalt sama palju, kui reaalarve (veidi keerulisem)‏
      • Näitame, et reaalarve on lõpmatult rohkem kui täisarve (Cantori üks teoreeme)‏

    Loeng 14


    • Tehisintellektinduse “suur eesmärk” ehk „ strong AI“ on päriselt intelligentse masina ehitamine: riistvara + tarkvara
    • Tehisintellektinduse “filosoofiline eesmärk” on saada paremini aru mõistuse (sh inimese ja loomade) funktsioneerimise põhimõtetest üldse.
    • Tehisintellektinduse “praktiline eesmärk” ehk „ weak AI“ on teha programme, mis oskaksid lahendada keerulisi ülesandeid, mille jaoks siiani on inimesi vaja.

    Strong AI:
    if a machine approaches or supersedes human intelligence, if it can do typically human tasks, if it can apply a wide range of background knowledge and has some degree of self-consciousness”
    Weak AI:
    the use of software to study or accomplish specific problem solving or reasoning tasks that do not encompass (or in some cases, are completely outside of) the full range of human cognitive abilities. “
    Turingi test:
    Mõistata, kas
    chati-ekraani
    taga on inimene
    või programm?
    Turing:
    Kui katsetajad
    ei suuda ära
    arvata (st
    ära-arvamise
    sagedus on
    50% ja 50%
    eksitakse), siis
    on jutlev
    masin
    päriselt
    intelligentne .
    • Palju erinevaid vastuväiteid, et testi ärategemine ei tähenda veel “päris” intellekti.
    • Ükski vastuväide ei ole ümberlükatav.
    • Tegelikkuses ei suuda praegu keegi teha programmi, mis suudaks Turingi testi edukalt läbi teha: sellest ollakse väga kaugel.
    • Praegu “edukalt” intellekti simuleerivad Turingi testi programmid on simulaatorid, mis hoiavad keskustelu väga kitsastes raamides ja sisuliselt ei saa üldse aru talle öeldud lausetest.
    • Veidi põhjalikuma vestlusega saab alati aru, et simuleerival programmil pole üldist arusaama isegi igapäevasest elust ja asjadest ning ta ei oska probleeme lahendada.

    Vestlev pseudointellekt: Eliza
    • In 1966 Joseph Weizenbaum at M.I.T. wrote ELIZA, a famous program that simulates a Rogerian psychoanalyst by taking excerpts from the subject 's comments and posing questions back to the subject.
    • Eliza on lihtne programm, mille sees on suur hulk “standardlauseid” ja “standardsõnu”. Kui Elizale anda lause, milles on sõna tema “standardsõnade” loetelus, siis Eliza valib mõne “standardvastuse” ja paneb sinna sisse osi talle antud tekstist.
    • Jääb mulje, et Eliza haakub vestlejaga. Eliza poolt antud laused on samuti harilikud inimkeelsed laused (sest need on programmeerija talle andmebaasi pannud”.

    • Tegelikult Turingi testi edukalt tegev programm peaks:
      • Teadma igapäevaelust sama palju, kui keskmine inimene
      • Oskama lahendada ülesandeid
      • Saama aru vestluspartneri soovidest ja teadmistest jne
    • See kõik on väga keeruline ja ei ole põhjust arvata, et lihtsakoeline programm sellega kuidagi hakkama saab.
    • Kui programm sellega hakkama saab, siis on ta äärmiselt keeruline ja inimesed üldiselt ei saa enam aru, mis ta sees on ja kuidas ta töötab, ja pigem võiks arvata, et ta on siis ka päriselt intelligentne.

    • Putukad
      • Rodney Brooks’i projekt MIT-s:
    teha putuka analoogideks olevaid roboteid.
      • Idee: kui oskame teha putuka intellektiga masinat, siis proovime sealt edasi liikuda väikese looma intellektiga masinani, sealt kõrgema loomani, sealt inimeseni ja edasi.
      • Lootus: sel viisil ehitame mõistuse mehhanismid analoogiliselt nende tekkele looduses.
    • CYC
      • Doug Lenati projekt CYC: teeme hiiglasliku andmebaasi faktidest ja reeglitest ja lihtsa järelduste tegemise programmi sinna peale.
      • Idee: programm hakkab tekstidest aru saama, uusi reegleid ja fakte õppima, seejärel ka iseennast täiustama.
      • Lootus: kvantiteet tekitab teatud piiri ületamisel kvalitatiivse hüppe.

    • Ekspertsüsteem on mõne spetsiifilise valdkonna jaoks kohandatud järelduste tegemise programm (variant teoreemitõestajast)
    • Tihtpeale kasutavad ebaharilikku, spetsiaalselt valdkonnaga sobitatud loogikat.
    • Enamasti sisaldavad paljusid valmiskujul reegleid.
    • Enamasti sisaldavad mugavat kasutajaliidest: kasutaja ei pea loogika keelt oskama.
    • Tüüpiliselt kasutatakse mõne suure rakenduse osana

    • Killer moves”: jätame otsides meelde eriti head käigud:
      • nii masinal kui vastasel
      • proovime kõigepealt varasemast meelde jäetud eriti häid käike
    • Quiescence search”: mõnda haru otsitakse sügavamalt :
      • ebastabiilses seisus otsime sügavamalt
      • stabiilses seisus otsime vähem sügavalt
      • otsime lõpuni kõik vahetused ja löögid
    • Null-Move”: mis siis, kui vastane saaks kaks käiku järjest?
      • Proovime nii, et vastane saab kaks käiku järjest
      • Kui on meile OK tulemus, siis see on positiivne faktor
      • Kui on meile halb tulemus, jätame meelde “killer move”

    • Idee:
      • ehitame hiiglasliku lõppmängu-seisude andmebaasi
      • igal lõppmängu-seisul on andmebaasis öeldud täpne “headus” (võit, viik, kaotus)
      • ehitamiseks: kõigepealt ühe nupuga lõppmängud, siis kahe nupuga lõppmängud, siis kolme nupuga lõppmängud jne.
    • Kõigepealt tehti seda 8x8 inglise kabes:
      • Chinook: Jonathan Schaeffer, Robert Blake,
    Paul Lu and Martin Bryant:
    University of Alberta
    10 või vähem nuppu
    • Sügavad otsingud jõuavad tihti lõppmängude
    andmebaasini, kus on juba sees täpne
    seisuhinnang.
    • Otsing seega mõlemast suunast!

    Loeng 15


    Ettevõtte peamine eesmärk?
    • On ainult üks eesmärk, mille nimel muud tuleb vajadusel ohverdada: Teenida võimalikult suurt kasumit omanikele.
    • Teenimise viise on üldjuhul kaks:
      • Harilik teenimine : esitada klientidele arveid, ja teha seda nii, et nad arved ära maksaks, hoides samas väljaminekuid madalal.
      • Firma müügilt teenimine: müüa ettevõte või selle osad kalli raha eest maha.
        • Osade kaupa 1: näiteks börsile oma aktsiaid lastes
        • Osade kaupa 2: teha nii, et aktsiahind tõuseks, ja siis müüa oma aktsiaid
        • Tervikuna : Müüa ettevõte tervikuna teisele ettevõttele

    Riigi peamine eesmärk?
    • On ainult üks eesmärk, mille nimel muud tuleb vajadusel ohverdada:
    Teenida võimalikult suurt heaolu kodanikele.
    • Kodanikud on riigi aktsionärid : igalühel on üks aktsia .
    • Parlament on riigi “aktsiaseltsi nõukogu”
    • Valitsus on riigi “aktsiaseltsi juhatus”
    • Konkreetselt realiseerub mehhanism järgmiselt:
    Poliitikute õige eesmärk on teenida poliitilist kapitali (lai tunnustus)
    • Poliitikud suunavad riigiaparaati valitsuse kaudu selliselt, et oma poliitilist kapitali maksimeerida.
    • Riigiaparaadi tegevuse eesmärk on poliitikute tunnustuse kasvatamine

    IT firma strateegia: kolm äärmusmudelit
    • Investeeringupõhine mullistrateegia börsi jaoks (järgmine slaid)‏
    • Investeeringupõhine strateegia: laenata raha või müüa osalust eesmärgiga kulutada saadud raha firma suurendamisele (näiteks, inimeste palkamine : esimestel kuudel nad ei teeni raha, kuid palka tahavad küll. Kust võtta sel ajal palgaraha?)‏
    • Omavahendite strateegia: alustada väikeselt ja kulutada teenitud raha selge vajaduse korral firma suurendamisele

    Teenimine ettevõtet müües
    • Ei eelda alati, et ettevõte klientidelt raha teenib.
    • Esmatähtis on, et ettevõte oleks suur ja tuntud ja investorid sooviks tema aktsiaid osta või keegi sooviks firmat tervikuna osta.
    • Dot-com börsimulli ajal oli ettevõtte müügilt teenimine peamine eesmärk. Tüüpiliselt dot-com ettevõtted teenisid ise vähe raha.
    • Dot-com börsimull funktsioneeris kui kettkiri või Ponzi skeem: esimeste investorite rahaga tehti firmat uhkemaks, siis tuli jälle uusi investoreid, firma läks veel uhkemaks, jne, kuni enam investoreid ei jätkunud. Seejärel selgus, et firma eriti raha ei teeni ja investorid hakkasid oma aktsiaid maha müüma. Aktsia odavnes ja kõik hakkasid kartma, et ta odavneb veel, ja müüsid ka, mispeale aktsia odavnes üha edasi.
    • Hetkel on vastupidi: väärtuslikud on peamiselt need ettevõtted, mis suudavad kasumit teenida. Teiste osas ollakse ettevaatlikud.

    1990-2002: aktsiamull
    • 1990-1996 kasvas USA aktsiaturg (nii DOW kui NASDAQ indeksid) palju kiiremini, kui eelmistel kümnenditel.
    • 1996 arvas Fed-i juht Greenspan, et kasv on olnud liiga kiire (“irrational exuberance” speech )‏
    • 1990-lõpuaastatel kiirendas interneti muutumine mainstream-tehnoloogiaks eriti järsult aktsiahindade tõusu.
    • Tekkis palju firmasid, kes ei andnud üldse kasumit, ainult kulutasid raha, kuid mille aktsiaid osteti tohutu hinnaga.
    • See andis hoogu ka nende firmade hinna kasvule, kes kasumit tekitasid.
    • 2000 aasta alguses oli NASDAQ index veidi üle 4500 . 2002 sügis oli see 1139!
    • 2000-2002 nii NASDQ kui DOW pidevalt langesid
    • Analoogia eestis: börsimull 1997

    IT- ja mitte-IT firmad
    • Mitte-IT firmal ei ole mingit IT-d (programmid, arvutid) loomu poolest vaja.
    • Mitte-IT firma vajab vahel IT-d kolmel põhjusel:
      • Töötajatele meeldivad arvutid ja ilma arvutiteta töötades nõuaks nad rohkem palka (a la ilusad ruumid, külmutuskapp nurgas, kohvi jne)‏
      • Arvutiga midagi tehes saab mõne inimtöötaja lahti lasta ja palgakulu inimese peale oleks suurem, kui arvutisüsteemi ostmine, juurutamine ja edaspidine hooldus .
      • Arvutiga saab teha midagi kasulikku, mida muidu üldse ei saaks teha.
    • Tüüpiline mitte-IT-firma vajab abi oma arvutite ja programmide käimashoidmiseks ja töötajate aitamiseks, et arvutite ja programmidega hakkama saada.
    • Tüüpilisel mitte-IT-firmal ei ole üldiselt väga vaja uusi ja vingeid programme.

    IT- firmad
    • Üldiselt järgmist tüüpi tegevused, nende sageduse kaupa eesti IT firmade osas (levinult vähemlevinule):
      • Standardsete arvutite ja tarkvara müük ja korrashoid (a la autosalong)‏
      • Standardse tarkvara kasutamise õpetamine ja korrashoid (a la autokool )‏
      • Keerulise standardtarkvara installeerimine, sättimine ja kasutamise õpetamine (tüüpiliselt majandustarkvara )‏
      • Erinevate standardtarkvara tükkide kokkupanemine, tüüpiliselt omakirjutatud programmide abil (integratsioon)‏
      • Uue tarkvara tegemine vastavalt kliendi tellimusele
      • Uue elektroonika kokkupanek tükkidest, müük ja korrashoid
      • Uue tarkvara tegemine laiemaks müügiks
    • Levinumad asjad on levinud, kuna:
      • Vähemlevinud asjad on väga keerulised: leidub vähe inimesi, kes seda efektiivsel viisil teha mõistavad.
      • Levinud asjade turg eesti sees on suurem (a la piimamüük eesti turul)‏

    Operatiivne juhtimine
    • Operatiivne juhtimine on väga pingutav ja annab üldiselt pidevaid negatiivseid emotsioone:
      • Kui mingi asi hästi välja tuleb, on see loomulik või tänu tegijale.
      • Kui mingi asi halvasti välja tuleb, on operatiivne juht alati süüdi!
      • Mida rohkem on sul alluvaid, seda tihedamini teevad nad vigu ja seda tihedamini oled sa süüdi (praktiliselt kogu aeg) ja pead organiseerima vigade parandust.
      • Lõpuks on kõiges süüdi juhtkond: kui alluv teeb vea, on juht süüdi, et ta andis võimaluse viga teha või selle inimese üldse tööle võttis.
    • Operatiivne juhtimine nõuab väga tugevat närvi (pikaajaliselt!) ja pidevat inimestega suhtlemist, seejuures enamasti negatiivsete olukordade lahendamist
    • Filminäide: Harvey Keiteli mängitud roll “Pulp Fictionis”.
    Filminäide: Sopranode peategelane
    Põhiprobleemid arendajate juhtimisel
    • Efektiivne juht peab valdama tehnoloogiat, et suuta hinnata ajakulusid, tehnoloogia valiku sobivust jne.
    • Arendustöö on loominguline. Vaja on leida kompromiss vaba loomingu ja reeglite ning tähtaegade ning riskimaandamise vahel.
    • Arendajatel on tüüpiliselt väga kõrge enesehinnang:
      • Nad on tihti veendunud, et teavad ise kõige paremini, kuidas midagi teha: vahel õige, vahel üldse mitte.
      • Hindavad oma planeeritavat ajakulu 2-10 korda alla tegelikku .
      • Vaatavad rakendust oma vaatevinklist, mitte kasutaja vaatevinklist (a la kasutaja on niikuinii loll , aga küll ta saab kõigega hakkama, mis ma programmi panen).
      • Sageli suhtlevad halvasti, ei oska hästi inimkeelseid jutte kirjutada
      • ... jne

  • Vasakule Paremale
    Sissejuhatus infotehnoloogiasse konspekt #1 Sissejuhatus infotehnoloogiasse konspekt #2 Sissejuhatus infotehnoloogiasse konspekt #3 Sissejuhatus infotehnoloogiasse konspekt #4 Sissejuhatus infotehnoloogiasse konspekt #5 Sissejuhatus infotehnoloogiasse konspekt #6 Sissejuhatus infotehnoloogiasse konspekt #7 Sissejuhatus infotehnoloogiasse konspekt #8 Sissejuhatus infotehnoloogiasse konspekt #9 Sissejuhatus infotehnoloogiasse konspekt #10 Sissejuhatus infotehnoloogiasse konspekt #11 Sissejuhatus infotehnoloogiasse konspekt #12 Sissejuhatus infotehnoloogiasse konspekt #13 Sissejuhatus infotehnoloogiasse konspekt #14 Sissejuhatus infotehnoloogiasse konspekt #15 Sissejuhatus infotehnoloogiasse konspekt #16 Sissejuhatus infotehnoloogiasse konspekt #17 Sissejuhatus infotehnoloogiasse konspekt #18 Sissejuhatus infotehnoloogiasse konspekt #19 Sissejuhatus infotehnoloogiasse konspekt #20 Sissejuhatus infotehnoloogiasse konspekt #21 Sissejuhatus infotehnoloogiasse konspekt #22 Sissejuhatus infotehnoloogiasse konspekt #23 Sissejuhatus infotehnoloogiasse konspekt #24 Sissejuhatus infotehnoloogiasse konspekt #25 Sissejuhatus infotehnoloogiasse konspekt #26 Sissejuhatus infotehnoloogiasse konspekt #27 Sissejuhatus infotehnoloogiasse konspekt #28 Sissejuhatus infotehnoloogiasse konspekt #29 Sissejuhatus infotehnoloogiasse konspekt #30 Sissejuhatus infotehnoloogiasse konspekt #31 Sissejuhatus infotehnoloogiasse konspekt #32 Sissejuhatus infotehnoloogiasse konspekt #33 Sissejuhatus infotehnoloogiasse konspekt #34 Sissejuhatus infotehnoloogiasse konspekt #35 Sissejuhatus infotehnoloogiasse konspekt #36 Sissejuhatus infotehnoloogiasse konspekt #37 Sissejuhatus infotehnoloogiasse konspekt #38 Sissejuhatus infotehnoloogiasse konspekt #39 Sissejuhatus infotehnoloogiasse konspekt #40 Sissejuhatus infotehnoloogiasse konspekt #41 Sissejuhatus infotehnoloogiasse konspekt #42 Sissejuhatus infotehnoloogiasse konspekt #43 Sissejuhatus infotehnoloogiasse konspekt #44 Sissejuhatus infotehnoloogiasse konspekt #45 Sissejuhatus infotehnoloogiasse konspekt #46 Sissejuhatus infotehnoloogiasse konspekt #47 Sissejuhatus infotehnoloogiasse konspekt #48 Sissejuhatus infotehnoloogiasse konspekt #49 Sissejuhatus infotehnoloogiasse konspekt #50 Sissejuhatus infotehnoloogiasse konspekt #51 Sissejuhatus infotehnoloogiasse konspekt #52 Sissejuhatus infotehnoloogiasse konspekt #53 Sissejuhatus infotehnoloogiasse konspekt #54 Sissejuhatus infotehnoloogiasse konspekt #55 Sissejuhatus infotehnoloogiasse konspekt #56 Sissejuhatus infotehnoloogiasse konspekt #57 Sissejuhatus infotehnoloogiasse konspekt #58 Sissejuhatus infotehnoloogiasse konspekt #59 Sissejuhatus infotehnoloogiasse konspekt #60 Sissejuhatus infotehnoloogiasse konspekt #61 Sissejuhatus infotehnoloogiasse konspekt #62 Sissejuhatus infotehnoloogiasse konspekt #63 Sissejuhatus infotehnoloogiasse konspekt #64 Sissejuhatus infotehnoloogiasse konspekt #65 Sissejuhatus infotehnoloogiasse konspekt #66 Sissejuhatus infotehnoloogiasse konspekt #67 Sissejuhatus infotehnoloogiasse konspekt #68 Sissejuhatus infotehnoloogiasse konspekt #69
    Punktid 50 punkti Autor soovib selle materjali allalaadimise eest saada 50 punkti.
    Leheküljed ~ 69 lehte Lehekülgede arv dokumendis
    Aeg2016-03-15 Kuupäev, millal dokument üles laeti
    Allalaadimisi 264 laadimist Kokku alla laetud
    Kommentaarid 0 arvamust Teiste kasutajate poolt lisatud kommentaarid
    Autor Elena Borissov Õppematerjali autor
    Kospekt läbi kursuse eksamiks õppimisel

    Sarnased õppematerjalid

    SISSEJUHATUS ITSSE
    21
    docx

    SISSEJUHATUS ITSSE

    ehitatud arvuti? 17. sajandil , liitis, lahutas, korrutas, jagas Mis aastal hakati müüma arvutit nimega Commodore PET(pluss - miinus kaks aastat on OK)?1968 Millal loodi Intel Corp (pluss miinus kaks aastat on OK)? Mida ütleb Inteli asutaja ja kauaaegse presidendi sõnastatud "Moore law"? 1963 Mikroprotsessorite jõudlus kasvab kahekordseks iga 2 aasta tagant Mis firma ehitas arvutit PDP? Too vähemalt üks põhjus või viis, kuidas PDP oluliselt mõjutas edasist arvuti/tarkvara tehnoloogia arengut. DEC, oli soodsa hinnaga To välja vähemalt üks TCP põhierinevus võrreldes IP protokolliga. Too välja vähemalt üksXML põhierinevus võrreldes HTML- ga. - Xml on primitiivsem kui html. htmlil on võimalusi rohkem. Tcp kontrollib kas paketid on ka kohale jõudnud Millisel aastal loodi Mosaic Communications (pluss/miinus üks aasta on OK). Nimeta vähemalt üks selle firma asutajatest! Clark ja Andreesen, 1994 Milleks kasutatakse CSS- i? Milleks kasutatakse Javascripti

    Sissejuhatus infotehnoloogiasse
    Sissejuhatus infotehnoloogiasse
    29
    docx

    Sissejuhatus infotehnoloogiasse

    1 nädal. Sissejuhatus: arvuti ja info, ajaloo algus ... 1940 Meanings: Bit - the smallest unit of storage ( 1 binary digit) Byte - collection of 8 bits / is a unit of storage, 8 binary digits long Kilobyte - A unit of storage capacity (1024 bytes ) Megabyte - 1,048,576 bytes Gigabyte - 1,073,741,824 bytes Terabyte - 1 trillion bytes Algorithm - is a step by step method of solving a problem Program - is the expression of an algorithm in a programming language. ALGORITM - kindel eeskirjade jada, mis määrab üheselt ülesande lahenduskäigu. PROGRAMM - programmeerimiskeeles kirja pandud algoritm Greek logicians ( Kreeka loogikud ): Parmenides (5 sajand e.m.a.) : kasutas pikki loogilisi põhjendusi. Zenon Eleast (5 sajand e.m.a.) - apooriad/paradoksid Sofistid - Sokrates (470-399 e.m.a) - Platon (428/427 - 348/347 e.m.a): Aristoteles : väidete struktuur kui iseseisev uurimisobjekt Aristoteles Süllogismide näited: 1. eeldus: iga koer on imetaja. 2. eeldus: mõned nel

    Sissejuhatus infotehnoloogiasse
    Exami spikker
    2
    doc

    Exami spikker

    Aristoteles (470-399 e.m.a) : väidete struktuur kui iseseisev uurimisobjekt 1967- IBM builds the first floppy disk Süllogism (Aristoteles): 1967 - Seymour Papert designed LOGO as a computer language for children. 1. eeldus: iga x on y. 1968 - Robert Noyce and Gordon Moore found Intel Corporation 2. eeldus: mõni z on x. 1968 - Douglas C. Engelbart, of the Stanford Research Institute, demonstrates järeldus: mõni z on y. his system of keyboard, keypad, mouse, and windows at the Joint Computer Iga b on a Conference in San Francisco's Civic Center. He demonstrates use of a word Mitte ükski b pole a

    Sissejuhatus infotehnoloogiasse
    Programmeerimiskeel
    555
    doc

    Programmeerimiskeel

    1000101=1010001 2 Millisel sajandil elas saksa filosoof Leibniz? Milliseid tehteid suutis teha Leibnizi ehitatud arvuti? 17 liitis korrutas jagas lahutas 3 Millal loodi Intel Corp (pluss miinus kaks aastat on OK)? Mida ütleb Inteli asutaja ja kauaaegse presidendi sõnastatud “Moore law”? 1963 Mikroprotsessorite jõudlus kasvab kahekordseks iga 2 aasta tagant 4 Mis firma ehitas arvutit PDP? Too vähemal t üks põhjus või viis, kuidas PDP oluliselt mõjutas edasist arvuti / tarkvara tehnoloogia arengut. Dec Oli soodsa hinnaga 5 Arvuta valemi väärtus kõigil muutujate väärtus tus tel. Selleks täida lüngad muutujate väärtus te tulpades ja täida keskmine tulp järeldussümboli all kogu valemi väärtusega antud väärtustusel . A B C ((A v B) C) & (B & C) V VT TV V VV T V TT 6 Esita elektroonikaskeem, mis liidab kolme bitti: sisendiks kolm juhet (igaühes üks bitt), väljundiks kaks juhet (summa kaks bitti). 7 Mis on GPL litsentsi põhiidee(d)

    Infotehnoloogia
    Sissejuhatus infotehnoloogiasse spikker
    1
    pdf

    Sissejuhatus infotehnoloogiasse spikker

    I 625 S(hirl(rfll l6-lr) Bl;ilsc Pn$.il1-:lntltecliliilc illitslt ebmgqav: Fortran, C (portaabel assembler), ALslrgKse[-ia r Pakkudaprogrffimeedjalevalmisehtudstandardtiikke- 1616-11 I6

    Sissejuhatus infotehnoloogiasse
    Sissejuhatus infotehnoloogiasse eksami sooritamiseks
    5
    docx

    Sissejuhatus infotehnoloogiasse eksami sooritamiseks

    Lorenz-sakslaste krüpteerimismasin Howard Aiken IBM'i elektriline (releed) digitaalne arvuti MARK I 1939-1944 Viis esimest operatiivset digiarvutit: Zuse 1941 mai, Atanasoff­Berry Computer Summer 1941, Colossus 1934/1944, Harvard Mark I ­ IBM 1944, ENIAC 1944 1947 ­ William Shockley, Walter Brattain, John Bardeen Bell Telephone Laboratories-st leiutasid point-contact transistor võimendi 1949 ­ Maurice Wilkes ­ EDSAC ­ esimene praktiline programm, mille tehnoloogia põhines vaakumtorudel 1950 ­ ERA ­ esimene avalikult esitletud arvuti 1951 ­ UNIVAC I ­ esimene arvuti, mis võitis avalikkuse tähelepanu 1962 võidab esimest korda programm inimest kabemängus. 1952 ­ Heinz Nixdorf asutas Nixdorf Computer corp. Saksamaal hiljem 1990 ühines Siemensiga 1953 ­ esimene elektrooniline arvuti 701 1954 ­ Texas Instruments teatab silikoon transistorite tootmisest Logic Theorist is a computer program written in 1955 and

    Sissejuhatus infotehnoloogiasse
    IT EKSAM
    17
    odt

    IT EKSAM

    Aritmeetiline masin- 1640, ainult liitis ja lahutas, Kristlik filosoof Blaise Pascal Leibnizi arvuti ­ 1671, Saksa filosoof Leibniz, arvuti: liitis, lahutas, korrutas, jagas Elektritelegraaf - Morse 1837 Loogika (lausearvutuse) alused 1847-1854 Perfolint - Wheatstone 1857 Frege loob kaasaegse predikaatarvutuse - 1879 Herman Hollerith perfokaartidega masin USA rahvaloenduse andmete töötlemiseks ­ 1890, sellest firmast tekkis IBM Vaakumtoru - 1906, Lee Deforest Artikkel Turingi masinast: universaalsus, mittelahenduvus ­ 1935-1937 Churchi lambda-arvutus, Churchi tees. - 1936,universaalsus, mittelahenduvus Z1 ­ 1936 , Konrad Zuse mehhaaniline arvuti MARK I ­ 1939-1944, Harvardi elektriline(releedega) digitaalne arvuti ABC computer ­ 1939-1942 , Atanasoff-Berry esimene elektronarvuti Esimene transistor - 1947 EDSAC ­ 1949, esimene praktiline stored-program arvuti, programmid olid aukudega peberiribadel ERA 1101 ­ 1950 ESIMENE KOMMERTS-TOOTMISES ARVUTI, hoidis bitte magneetilises t

    Algoritmid ja andmestruktuurid
    Sissejuhatus infotehnoloogiasse konspekt 2020
    10
    docx

    Sissejuhatus infotehnoloogiasse konspekt 2020

    λ EksamEksam 1 Eksamiks:  pead teadma suuruse-numbreid ja mida nad tähendavad: bitt, bait, kilobait, megabait jne; Bit Eksam/ EksamBitt 1 or 0 Byte Eksam/ EksamBait 8 Bits Kilobait Eksam(KB) 1 024 Bytes Megabait Eksam(MB) 1 024 KB  kuidas Eksamtähti Eksamkodeeritakse:  ASCII (American Standard Code for Information Interchain) 8bit = 16 * 8 = 128 märki  EBCDIC (Extended Binary Coded Decimal Interchange Code) 8bit, IBM  UNICODE (Extended ASCII) (utf-8), 1Byte for first 128, up to 4B for the rest~143 859 märki  algoritm Eksam- Eksamtäpne samm-sammuline juhend millegi tegemiseks  programm Eksam- Eksamformaalses üheselt mõistetavas keeles kirja pandud algoritm  Ajaloost:  Kreeka Eksamloogikud  Parmenides (5 sajand e.m.a.) : kasutas pikki loogilisi põhjendusi.  Zenon EksamEleast (5 s

    Sissejuhatus infotehnoloogiasse




    Meedia

    Kommentaarid (0)

    Kommentaarid sellele materjalile puuduvad. Ole esimene ja kommenteeri



    Sellel veebilehel kasutatakse küpsiseid. Kasutamist jätkates nõustute küpsiste ja veebilehe üldtingimustega Nõustun