Tietokoneen käytön ja ohjelmoinnin alkeet
Syksy 2011: ensimmäinen luento perjantaina 2.9. klo 8-10
Sisältöön voi vielä tulla muutoksia.
Näillä sivuilla on enemmän materiaalia kuin mitä
luennoilla käsitellään. Sivut on järjestetty aiheittain
sisällön mukaan, mutta luennoilla asioita käsitellään
käytännön syistä eri järjestyksessä.
Kurssin tarkoitus on antaa pohjatiedot,
joiden avulla opiskelija voi omin päin ottaa asioista
selvää ja käyttää tietokonetta yksinkertaisten tehtävien
ratkaisemiseen. Kurssilla opitaan C-kielen alkeet ja
tutustutaan joihinkin työkaluihin, joita tarvitaan
erityisesti luonnontieteellisessä tutkimustyössä.
Kurssi on välttämätöntä taustatietoa
pitemmälle menevälle F90-ohjelmointikurssille.
Monia asioita käsitellään varsin lyhyesti esimerkkien avulla.
Hieman perusteellisemmin tutustutaan Unixin/Linuxin käyttöön
ja C-kielellä ohjelmointiin.
Sisältö on täysin alustava ja parannusehdotukset ovat
sangen suotavia.
Kurssin suoritus: demot ja harjoitustyö.
Allaolevan sisällysluettelon linkeistä
pääsee sivuille, joilla on enemmän tekstiä
kuin luentokalvoilla.
Demotehtävät
demo 1
demo 2
ratkaisut
demo 3
ratkaisut
demo 4
ratkaisut
demo 5
ratkaisut
demo 6
Harjoitustyot
Aiheita ja ohjeita
Sisältö
- Algoritmi
- Tietokone
- Historiaa
- von Neumannin arkkitehtuuri, prosessori, muisti, välimuisti
- Liitännät
- Levyt, muut oheislaitteet ja taltiot
- Laskentateho
- Käyttöjärjestelmä
- Tehtävät
- Historiaa
- Moniajoympäristö: ajan viipalointi, prioriteetti, ...
- Muuttujat ja tietorakenteet
- Lukujen esitystavat
- Merkkikoodit
- Yksinkertaiset muuttujat
- Taulukot
- Tietorakenteet
- Yleistä ohjelmointikielistä
- Konekielet ja assemblerit
- Korkean tason kielet
- Algoritmiset ja funktionaaliset kielet
- Olio-ohjelmointi
- Ohjelmien kääntäminen
- Tulkittavat kielet
- Muuttujien määrittely
- Kontrollirakenteet
- Aliohjelmat ja funktiot
- Merkinnöistä (BN-formalismi)
- Unixin perusteet
- Yleisrakenne
- Eri distribuutiot
- Käyttäjätunnukset
- Komentotulkit
- Hakemistohierarkia
- Hakupolku
- Alustustiedostot
- Hakemiksto- ja tiedostokomennot
- Suojaukset
- Syötön ja tulostuksen ohjaus
- Työn seuranta
- Opastusjärjestelmät
- Tiedostojärjestelmä
- Koneen käynnistäminen ja sammuttaminen
- X-ikkunointi
- Editorit
- GNU-emacs
- periaatteet
- tiedostokomennot
- liikkuminen tiedostossa
- peruseditointikomennot
- ikkunointi
- tiedostokomennot
- komentojen toistaminen ja peruminen
- näppäimistömakrot
- ed, sed ja vi
- C-ohjelmoinnista, osa 1:perusrakenteet
- ohjelmatiedostot, kääntäminen ja linkitys
- muuttujien määrittely
- peruskontrollirakenteet
- syöttö ja tulostus
- C-ohjelmoinnista, osa 2:Fuktiot, taulukot yms.
- funktiot
- taulukot
- merkkijonot
- omat muuttujatyypit
- komentoriviargumentit
- kirjastot
- make-komento
- strukturoitu ohjelmointi
- haja-ajatuksia ohjelmointityylista
- C-ohjelmoinnista, osa 3: makrot yms. sekalaista
- komentoriviargumenteista (jatkoa)
- tyyppimuunnokset
- makrot
- TeX ja LaTeX
- periaatteet
- TeX, esimerkki, tex, dvips, metafont, lpr
- matematiikkamoodi, matematiikan typografiaa
- LaTeX, esimerkki
- epsfig, kuvien liittäminen tekstiin
- Sekalaista
- Komentokielistä
- Tietoliikenne
- IP-numerot, nimipalvelu, dhcp, ...
- ssh, scp, ftp
- Kuvien käsittelystä
(yleistä; varsinainen teoria tulee numeriikan kurssilla)
- kuvaformaatit: gif, tif, jpg, mpg, ps, eps, fits, pdf, ...
- ohjelmia: eog, gimp, convert, ...
- Varusohjelmia
(tässä ei käyttöohjeita, vaan kerrotaan, millaisia ohjelmia
on olemassa ja mitä niillä voi tehdä)
- iraf, pyraf, midas, pymidas, idl, aips
- matlab ja sen kloonit, maxima, maple, mathematica, ...
- openoffice eli miten selviytyä niistä w:n tiedostoista
- Tietoturvallisuus
- käyttäjätunnukset ja salasanat
- suojatut ja suojaamattomat yhteydet
- phishing ja nigerialaismailit