2. Sisältö
I.
Kuinka
esi*ää
ja
käsitellä
maailmaa
symbolises3
1.
2.
3.
II.
Historiaa
Symbolinen
esitystapa
Algoritmit
Kuinka
3etojenkäsi*elyä
voidaan
toteu*aa
4.
5.
6.
Ohjelmoin/
LaiEeisto
Kommunikaa/o
20. Aakkosto
ì äärellinen,
ei-‐tyhjä
joukko
merkkejä
joita
käytetään
kielen
muodostamiseen
ì esim.
kirjainaakkosto:
{
A,
B,
…,
Z
}
ì merkkijonoja
(ε,
A,
B,
C,…,
AA,
AB,…,
AAKKOSTO,
…)
ì esim.
binääriaakkosto:
{
0,
1
}
ì merkkijonoja
(ε,
0,
1,
00,
01,
10,
11,
100,
…)
21. Boolen
algebra
ì totuusarvot
0
ja
1
ì operaa/ot
konjunk/o∧
(AND)
ì disjunk/o
∨
(OR)
ì negaa/o
¬
(NOT)
ì
ì operaa/ot
voidaan
toteuEaa
mekaanises/
tai
sähköises/
releet
ì puolijohteet
ì pneuma/ikka
ì
George
Boole
(1815–64)
22. Totuustaulut
ja
Vennin
diagrammit
x
y
x
∧
y
x
y
x
∨
y
x
¬x
0
0
0
0
0
0
0
1
0
1
0
0
1
1
1
0
1
0
0
1
0
1
1
1
1
1
1
1
24. ASCII
koodi
sym-‐
boli
koodi
sym-‐
boli
koodi
sym-‐
boli
koodi
sym-‐
boli
koodi
sym-‐
boli
koodi
sym-‐
boli
koodi
sym-‐
boli
koodi
sym-‐
boli
0
NUL
16
DLE
32
48
0
64
@
80
P
96
`
112
p
1
SOH
17
DC1
33
!
49
1
65
A
81
Q
97
a
113
q
2
STX
18
DC1
34
“
50
2
66
B
82
R
98
b
114
r
3
ETX
19
DC3
35
#
51
3
67
C
83
S
99
c
115
s
4
EOT
20
DC4
36
$
52
4
68
D
84
T
100
d
116
t
5
ENQ
21
NAK
37
%
53
5
69
E
85
U
101
e
117
u
6
ACK
22
SYN
38
&
54
6
70
F
86
V
102
f
118
v
7
BEL
23
ETB
39
‘
55
7
71
G
87
W
103
g
119
w
8
BS
24
CAN
40
(
56
8
72
H
88
X
104
h
120
x
9
HT
25
EM
41
)
57
9
73
I
89
Y
105
i
121
y
10
LF
26
SUB
42
*
58
:
74
J
90
Z
106
j
122
z
11
VT
27
ESC
43
+
59
;
75
K
91
[
107
k
123
{
12
FF
28
FS
44
,
60
<
76
L
92
108
l
124
|
13
CR
29
GS
45
-‐
61
=
77
M
93
]
109
m
125
}
14
SO
30
RS
46
.
62
>
78
N
94
^
110
n
126
~
15
SI
31
US
47
/
63
?
79
O
95
_
111
o
127
DEL
25. Digitalisointi
ì reaalisen
/edon
muuEaminen
numeeriseen
muotoon
ì muunnokset
ì näyEeistys
(eli
samplaus)
ì kvan/soin/
28. Informaatioteoria
ì entropia:
kuinka
monta
biQä
tarvitaan
väliEämään
/eto
yhdestä
symbolista
ì suuri
entropia:
epävarmuus
symbolista
ì pieni
entropia:
varmuus
symbolista
ì käyEökohteita
ì /edon
/ivistäminen
ì salakirjoitus
ì signaalin
prosessoin/
Claude
E.
Shannon
(1916–2001)
29. Shannonin
peli
ì aakkosto:
{
A,
B,
C,
…,
Å,
Ä,
Ö,
_
}
ì tuntematon
vies/
ì arvaa
vies/n
seuraava
merkki
ì kuinka
monta
yritystä
tarvitaan
kunkin
merkin
kohdalla?
ì merkin
entropia
ko.
vies/ssä
31. Tiedon
tiivistäminen
Häviötön
/ivistys
ì osa
informaa/osta
saaEaa
hävitä
ì ei
informaa/on
häviötä
ì 10.0000001
⇒
10.0000001
ì 10.000000001
⇒
10
virhe
ì vaihdetaan
koodaus
Häviöllinen
/ivistys
biQen
lkm
32. Sisäinen
ja
ulkoinen
tiivistys
Sisäinen
/ivistys
ì muokkaa
pelkästään
vies/n
omaa
sisältöä
ì ei
viiEaa
edellisiin
viesteihin
Ulkoinen
/ivistys
ì muokkaa
vies/n
sisältöä
huomioiden
aikaisemmin
lähetetyt
vies/t
ì delta-‐informaa/o
ì parempi
/ivistys
ì riippuvuus
vies/en
välillä
34. Mikä
on
algoritmi?
ì äärellinen,
askeleista
koostuva
vaihesarja,
joka
ratkaisee
/etyn
laskennallisen
ongelman
ì käyEökohteita
ì laskenta
ì /edon
käsiEely
ì automaaQnen
pääEely
Muḥammad
ibn
Mūsā
al-‐Khwārizmī
(750–850)
35. Laskettavuuden
malli
ì Turingin
kone
(1936)
ì laskentalaiEeen
hypoteeQnen
malli
ì Churchin-‐Turingin
teesi
ì Turingin
koneella
laskeEavissa
olevien
ongelmien
joukko
on
täsmälleen
sama
kuin
algoritmeilla
laskeEavien
ongelmien
joukko
Alan
Turing
(1912–54)
36. Turingin
kone
1.
nauha
ì
ì
2.
ääretön
koostuu
symboleista
(myös
tyhjä)
…
B
A
C
A
B
C
_
B
…
pää
ì
ì
symbolin
luku
ja
kirjoitus
siirtyy
vasemmalle
tai
oikealle
3.
/larekisteri
4.
transi/otaulu
ì
ì
ì
ì
syöte:
/la
ja
nykyinen
symboli
tulos:
poista
tai
kirjoita
symboli
tulos:
siirrä
päätä
(R,
L,
N)
tulos:
valitse
uusi
/la
q2
q1,
A
→
C,
R,
q3
q1,
B
→
A,
N,
q2
q2,
A
→
_,
R,
q4
q2,
B
→
B,
L,
q1
…
37. Ensimmäinen
ongelma:
laskettavuus
ì millaisia
ongelmia
/etokoneilla
voidaan
ratkaista?
ì esimerkki:
pysähtymisongelma
ì ratkaise
pysähtyykö
syöEeeksi
annetun
ohjelman
suoritus
vai
ei?
ì ei
ole
algoritmia,
joka
ratkaisisi
pysähtymisongelman
kaikilla
syöEeillä
39. Esimerkki:
lajittelu
menetelmä
paras
suoritusaika
keskimääräinen
huonoin
suoritusaika
suoritusaika
pikalajiEelu
n
log
n
n
log
n
n2
lisäyslajiEelu
n
n2
n2
kuplalajiEelu
n
n2
n2
bogolajiEelu
n
n
·∙
n!
n
·∙
n!
→
∞
41. Turingin
testi
ì Alan
Turing
(1950):
voivatko
/etokoneet
ajatella?
ì matkimispeli
ì ihmistuomari
(C)
keskustelee
pääEeen
kauEa
sekä
/etokoneen
(A)
eEä
ihmisen
(B)
kanssa
ì kaikki
osapuolet
ovat
erossa
toisistaan
ì tuomarin
on
pääteEävä
kumpi
on
kumpi
44. Mitä
on
ohjelmointi?
ì luo
toimintaohjeet
(eli
lähdekoodi)
joilla
/etokone
voi
suoriEaa
/etyn
tehtävän
tai
käyEäytyä
/etyllä
tavalla
ì ohjelmoinnin
osa-‐alueita
ì suunniEelu
ì toteutus
ì testaus
ì debuggaus
ì ylläpito
46. Ohjelmointikielten
sukupolvet
1. konekielet
2. assembly-‐kielet
3. rakenteelliset
ohjelmoin/kielet
4. korkean
tason
kielet
ja
kehitysympäristöt
5. rajoite-‐
ja
logiikkaohjelmoin/kielet
47. 1.
sukupolvi:
konekielet
ì /etokoneen
keskusyksikön
suoriEamia
käskyjä
ì sekvenssi
nollia
ja
ykkösiä
ì ohjelmoin/
tapahtui
syöEämällä
konekäskyjä
binäärimuodossa
suoraan
paneelin
kauEa
48. 2.
sukupolvi:
assembly-‐kielet
ì ohjelmoijan
kirjoiteEavissa
ja
lueEavissa
ì tekstuaalinen
esitystapa
konekielelle
ì makrot
ì ohjelma
käännetään
konekielelle
ì riippuu
alustasta
ì eri
prosessoreilla
eri
konekielet
49. 3.
sukupolvi:
rakenteelliset
ohjelmointikielet
ì 1950-‐luvun
lopulla:
Fortran,
ALGOL,
COBOL
ì ihmiskielen
kaltaisia
ì syntaksi
ì yhä
edelleen
suosiEuja:
C,
C#,
Java,
BASIC…
ì käännetään
konekielelle
tai
ajetaan
tulkin
kauEa
ì eivät
riipu
alustasta
50. 4.
sukupolvi:
korkean
tason
kielet
ja
kehitysympäristöt
ì kooditon
ohjelmoin/
ì ei
proseduraalinen
ì raporQgeneraaEorikielet
ì CASE-‐työkalut
ì /edonhallintatyökalut
51. 5.
sukupolvi:
rajoite-‐
ja
logiikkaohjelmointikielet
ì ongelma
kuvataan
rajoiEeilla
ì deklara/ivinen
ohjelmoin/
ì /etokone
ratkaisee
ongelman
ilman
ohjelmoijaa
69. Tieto-‐
ja
kontrolliarkkitehtuuri
ì keskiteEy
ì yksi
solmu
pitää
yllä
kaikkea
/etoa
ì monisteEu
ì kaikilla
solmuilla
on
oma
kopio
kaikesta
/edosta
ì hajauteEu
ì yhdellä
solmulla
on
osa
kaikesta
/edosta
ì kaikki
solmut
yhdessä
sisältävät
kaiken
/edon
70. Verkon
erittäin
lyhyt
historia
ì
1969:
ARPANET
ì
1971:
sähköpos/,
FTP
ì
1982:
Internet
ì
1991:
Word
Wide
Web
ì
1994:
VoIP,
verkkokamera,
suoratoisto
ì
1998:
Google
ì
2001:
Wikipedia
ì
2004:
Facebook
ì
2006:
TwiEer
71. Jaetun
tilan
tekniikat
syntee:nen
lisäEy
todellisuus
virtuaali-‐
todellisuus
fyysinen
todellisuus
etäläsnäolo
paikallinen
etäinen
keinotekoisuus
fyysinen
transportaa‚o