Teemu Kerola

Tietokoneen toiminta (Computer Organization I)

Tietokoneen ja sen käyttöjärjestelmän toiminta pääasiassa yhden ohjelman suorituksen näkökulmasta.

Kurssilla perehdytään tietokoneohjelman suoritukseen, tietokonelaitteiston komponentteihin sekä laitteiston ja käyttöjärjestelmän luomaan ohjelman suoritusympäristöön.

Syksyn monimuotokurssi sisältää normaaleja luentoja, valinnaisia verkkoluentoja, harjoitustehtäviä ja Tito-Trainer tehtävien tekemistä sekä Tito-pajassa että itsenäisesti. Konekielinen ohjelmointitaito tentitään Examinariumissa. Muut kokeet voi suorittaa joko minikokeilla tai kurssikuulustelulla.

Kevään itseopiskelukurssi tapahtuu pääsääntöisesti itsenäisellä opiskelulla, vaikka kurssiin sisältyy aloitusluento ja viikottaiset harjoitustilaisuudet. Itsenäinen opiskelu tehdään oppikirjan, verkkoluentojen ja TitoTrainerin avulla. Konekielinen ohjelmointitaito tentitään Examinariumissa. Muut kokeet voi suorittaa joko minikokeilla tai kurssikuulustelulla.

Esitiedot: Ohjelmoinnin perusteet.

Kurssikirja: Stallings W.: Computer Organization and Architecture (10th ed.), Pearson, 2016.

Kurssiesite osiossa on vielä vanhoja tietoja (21.8.2017). Kurssi luennoidaan periodissa 2 syksyllä ja periodissa 4 keväällä on ohjattu itseopiskelukurssi.

Ilmoittaudu

Viestit

Käyttäjän Teemu Kerola kuva

Teemu Kerola

Julkaistu, 25.1.2018 klo 9:57

Examinarium-kokeen uusintakuulustelun suoritusaikaa on kasvatettu 6.2.2018 asti. Se arvostellaan uusintakuulustelun 31.1.2018 arvostelun yhteydessä.

Käyttäjän Teemu Kerola kuva

Teemu Kerola

Julkaistu, 19.1.2018 klo 14:01

Kurssikokeen, Examinarium-kokeen ja koko kurssin arvostelu on valmistunut. Tulokset tulevat Oodiin tänään. Kokeiden arvosteluperusteet linkitetään aikataulusivulle piakkoin.

Uusintakuulustelu on erilliskokeessa 31.1.2018 ja siihen tulee ilmoittautua viimeistään 21.1.2018. Kaikki Examinarium-kokeet joulun jälkeen katsotaan uusintakokeiksi ja ne arvostellaan uusintakuulustelun yhteydessä. Examinarium-kokeen uusintakuulustelun (2. yrityskerta) voi tehdä vielä tammikuun 2018 aikana.

--
Tilastoja
Ilmoittautuneita: 304
Osallistuneita: 242
Kokeissa: 230
Hyväksyttyjä: 176 ( 73% osallistuneista, 77% kokeessa olleista )
Hylättyjä: 66

Arvosanajakauma
5 : 58 **********************************************************
4 : 42 ******************************************
3 : 34 **********************************
2 : 23 ***********************
1 : 19 *******************
--

Course exam, Examinarium exam and the whole course grading is complete. The results will be available in Oodi today. Course exam grading guidelines will be linked to the schedule page soon.

Renewal exam in with the final exam on 31.1.2018, and you need to sign up to it by 21.1.2018 at the latest. All Examinarium exams after Christmas are considered renewal exams and they will be graded with the renewal exam 31.1.2018. You can redo the Examinarium exam (2nd try) during January 2018.
--
Statistics
Signed up: 304
Attended: 242
Took the exams: 230
Passed: 176 ( 73% of attendees, 77% of exam takers )
Failed: 66

Grade distribution
5 : 58 **********************************************************
4 : 42 ******************************************
3 : 34 **********************************
2 : 23 ***********************
1 : 19 *******************

Käyttäjän Teemu Kerola kuva

Teemu Kerola

Julkaistu, 17.1.2018 klo 15:39

Examinarium-kokeet on pääasiassa arvosteltu. Loputkin arvostellaan toivottavasti huomisen 18.1.2018 aikana.
Samoin kurssikokeen arvostelu on hieman kesken, mutta toivottavasti sekin valmistuu huomenna, joten kurssiarvostelun voisi tehdä perjantaina 19.1.2018.

Examinariumin uusintakokeeseen ilmoittautumisessa oli ongelmia. Syyksi ilmeni se, että kurssin kesto Oodissa oli merkitty päättynyeeksi 15.12.2017. Kurssin kestoa on nyt pidennetty ja toivottavasti Examinariumiin voi nyt taas ilmoittautua. Mailatkaa minulle, jos ilmoittautuminen edelleen tökkii (ensimmäisen yrityskerran arvioinnin valmistuttua).

Jotkut opiskelijat ovat tehneet Examinarium-kokeen sekä suomeksi että englanniksi. Ne katsotaan eri yrityskerroiksi, eikä enempiä yrityskertoja sitten enää ole.

Kurssikokeen ja minikokeen 4 uusintakuulustelu on 31.1.2018 ja siihen tulee ilmoittautua viimeistään 21.1.2018.

Käyttäjän Teemu Kerola kuva

Teemu Kerola

Julkaistu, 18.12.2017 klo 16:32

Examinariumiin on ollut ruuhkaa. Kokeen voi suorittaa vielä jouluun asti.
--
Examinarium has been crowded. You can take the exam before Christmas.

Käyttäjän Teemu Kerola kuva

Teemu Kerola

Julkaistu, 14.12.2017 klo 13:16

Aikataulusivulle on nyt linkitetty minikokeiden 2 ja 3 mallivastaukset. Minikokeen 2 arvostelu saataneen valmiiksi tänään.
--
The schedule page has now model solutions to mini exams 2 and 3. Mini exam 2 grading should be completed today.

Käyttäjän Teemu Kerola kuva

Teemu Kerola

Julkaistu, 12.12.2017 klo 9:41

Tiklissä on jotain häikkää eikä se nyt näytä kokeiden pisteitä. Vikaa korjataan.
--
Tikli has some problems and does not show your exam points right now. Hopefully the problem will be fixed soon.

Käyttäjän Teemu Kerola kuva

Teemu Kerola

Julkaistu, 8.12.2017 klo 10:34

Examinarium-kokeille annetaan lisäaikaa seuraavasti. Koe tulee suorittaa ennen kurssikuulustelua (20.12.2017) ja sen uusintakoe tulee suorittaa ennen tammikuun erilliskoetta (31.1.2018).
--
There is more time for Examinarium exams. The exam must be taken before the course exam (20.12.2018) and it can be redone once before the next final exam in January (31.1.2018).

Käyttäjän Teemu Kerola kuva

Teemu Kerola

Julkaistu, 5.12.2017 klo 14:43

Kesiviikkona 6.12.2017 ei ole harjoituksia. Opiskelijat voivat vierailla muissa ryhmissä.
--
No practice sessions on Wednesday 6.12.2017. Please visit other practice session groups.

Käyttäjän Teemu Kerola kuva

Teemu Kerola

Julkaistu, 1.12.2017 klo 13:56

Viime viikolla harjoituksissa 2 opiskelijoita oli paikalla seuraavasti:

ti 9-11, 10 opiskelijaa
ti 14-16, 7 opiskelijaa
ke 16-18, 15 opiskelijaa
to 12-14, 38 opiskelijaa
to 16-18, 39 opiskelijaa
pe 10-12, 30 opiskelijaa
pe 14-16, 26 opiskelijaa

Tilaa näyttää olevan. Voitte tilan salliessa siirtyä teille parhaiten sopivaan ryhmään. Pyytäkää ohjaajaa tekemään siirto myös kirjanpidossa. Ryhmänvaihdot Oodin kautta eivät enää toimi.

Käyttäjän Teemu Kerola kuva

Teemu Kerola

Julkaistu, 27.11.2017 klo 13:38

Examinarium-kokeessa on ongelmia rivivaihtojen kanssa. Älkää käyttäkö code-tag'ia koodin kirjoittamisessa, vaan tavallisia rivinvaihtoja.

"Ohjelmakoodia kirjoittaessa kannattaa Examinariumissa käyttää Formatted-kappalemuoilua (HTML:n pre-elementti) ja rivinvaihtoihin sen sisällä vaihto+Enter. Tällä kirjaimet ovat tasaleveyksiä ja esim. koodin sisennys välilyönnein onnistuu nätisti. Code-elementti on tästä muotoilusta poiketen esim. lihavoinnin tapaan vain tekstipätkää, ei koko kappaletta koskeva muotoilu. "

--
Examinarium-exams have some issues with line changes. Please do not use code-tags. Please use formatted paragraphs (HTML: pre-element) and SHIFT-RETURN for line changes.

Sivut

Aikataulu

Tästä osiosta löydät kurssin opetusaikataulun. Tarkista mahdolliset muut aikataulut kuvauksesta.

PäivämääräAikaOpetuspaikka
Ti 31.10.2017
16:15 - 18:00
To 2.11.2017
14:15 - 16:00
Ti 7.11.2017
16:15 - 18:00
To 9.11.2017
14:15 - 16:00
Ti 14.11.2017
16:15 - 18:00
To 16.11.2017
14:15 - 16:00
Ti 21.11.2017
16:15 - 18:00
To 23.11.2017
14:15 - 16:00
Ti 28.11.2017
16:15 - 18:00
To 30.11.2017
14:15 - 16:00
Ti 5.12.2017
16:15 - 18:00
To 7.12.2017
14:15 - 16:00
Ti 12.12.2017
16:15 - 18:00
To 14.12.2017
14:15 - 16:00

Muu opetus

10.11.2017 Pe 10.15-12.00
24.11. - 15.12.2017 Pe 10.15-12.00
Mohammad Bahmanpour
Opetuskieli: suomi
07.11.2017 Ti 09.15-11.00
21.11. - 12.12.2017 Ti 09.15-11.00
Teemu Kerola
Opetuskieli: englanti
10.11.2017 Pe 14.15-16.00
24.11. - 15.12.2017 Pe 14.15-16.00
Heikki Korhola
Opetuskieli: suomi
09.11.2017 To 12.15-14.00
23.11. - 14.12.2017 To 12.15-14.00
Heikki Korhola
Opetuskieli: suomi
07.11.2017 Ti 14.15-16.00
21.11. - 12.12.2017 Ti 14.15-16.00
Terho Uotila
Opetuskieli: suomi
08.11.2017 Ke 16.15-18.00
22.11. - 13.12.2017 Ke 16.15-18.00
Heikki Korhola
Opetuskieli: suomi
09.11.2017 To 16.15-18.00
23.11. - 14.12.2017 To 16.15-18.00
Terho Uotila
Opetuskieli: suomi

Materiaalit

KIRJALLISUUS JA MATERIAALIT (LITERATURE AND MATERIALS)

William Stallings, Computer Organization and Architecture (10th ed.), Prentice Hall, 2016.
Kirjan aikaisemmat versiot (8th ed., 2010 tai 9th ed, 2013) sopivat myös hyvin käytettäväksi.
E-kirja, Helka (https://helka.finna.fi)
Vuokraa oma verkkokirja: VitalSource £26.64-37.00 (https://www.vitalsource.com, 7.9.2017)

Andrew S. Tanenbaum & Todd Austin, Structured Computer Organization, 6th ed, Pearson, 2013. Luku 4.2.
Kirjan aikaisempi versio (Tanenbaum, 5th ed., 2010) sopii myös hyvin käytettäväksi.
(Ei tarvitse hankkia, ks. verkkoluennot ja luentomateriaali)

Verkkoluennot: Itseopiskeluun suunniteltu verkkomateriaali, jonka läpikäynti muistuttaa luennolla olemista. Verkkoluennot flash ja pdf-muodossa

Titokone: Ohjelmisto, jonka avulla voidaan kääntää ja suorittaa symbolisella konekielellä kirjoitettuja ohjelmia opetuskäyttöä varten suunnitellulle tietokoneelle. Ohjelmistoon sisältyy ohjelmistonkehitysympäristö, suorituksen simulaattori ja suorituksen animaattori.

TitoTrainer: Ohjelmisto, jonka avulla voidaan automaattisesti tarkistaa tehtäväksi annettujen Titokone-ohjelmien oikeellisuus.

Kurssilla on IRC-kanava #tito ja Telegram-ryhmä tkt-tito. Nämä on tarkoitettu opiskelijoiden vertaistuen foorumeiksi.

Kurssin suorittaminen

(Info in English at the end)

YLEISTÄ

Kurssilla käytetään monimuotoisia oppimistapoja. Luentojen asiasisältö on myös verkkoluentoina (Authorware, flash, pdf), joita opiskelijat voivat käydä läpi tavanomaisten luentojen rinnalla. Tavanomaiset luennot ovat kertaus- ja yhteenvetoluentoja, joissa opiskelijoiden otaksutaan perehtyneen aihepiiriin etukäteen verkkoluentojen ja oppikirjan avulla.

Kurssiviikolla 1 ei ole harjoituksia. Viikolla 2 on ensimmäiset harjoitukset. Viikolla 3 harjoitellaan ttk-91 konekielistä ohjelmointia Tito-pajassa. Viikoilla 4-7 on harjoitukset salissa.

Kurssin harjoitusryhmät (6.11.2017) ovat

ti 9-11 Teemu Kerola (Exact C222, Also in English)
ti 14-16 Terho Uotila (Phys E207)
ke 16-18 Heikki Korhola (Phys E207)
to 12-14 Heikki Korhola (Phys E207)
to 16-18 Terho Uotila (Exact D123)
pe 10-12 Mohammad Bahmanpour (Exact D122)
pe 14-16 Heikki Korhola (Exact D122)

HARJOITUKSET

Kotitehtävät tehdään itsenäisesti tai oman opintopiirin (kavereiden) kanssa yhdessä.

Oman työn ja opintopiirityöskentelyn voi yhdistää tehokkaasti siten, että kukin pohtii ensin tehtävät läpi itsenäisesti ja sitten niitä puidaan yhdessä opintopiirissä. Jokaisen tulisi oppia tehtävien asiat täydellisesti, mielellään jo ennen tehtävien käsittelyä viikoittaisessa ryhmätapaamisessa.

Harjoitustilaisuuksissa tehtävät käydään tehtäväkohtaisesti läpi opiskelijavetoisesti keskustellen. Ohjaaja jakaa opiskelijat harjoitustilaisuudessa pöytäkuntiin, joihin pyritään saamaan kuhunkin tehtävään ainakin yksi sen tehtävän ratkaissut opiskelija. Pöydissä voi otaksua, että opiskelijat ovat tutustuneet tehtäviin etukäteen ja ainakin yrittäneet ratkaista niitä. Jos opiskelija ei ole tutustunut tehtäviin etukäteen, hän ei pysty hyödyntämään harjoitustilaisuutta kunnolla. Harjoitustilaisuuden aika ei riitä kaikkien tehtävien huolelliseen läpikäyntiin, ellei tehtäviin ole perehdytty etukäteen. Tilaisuuden ohjaaja toimii konsulttina kaikille pöytäkunnille.

Englanninkielisessä ryhmässä pöytäkeskustelut ovat joko suomeksi tai englanniksi, mutta yhteiskeskustelut englanniksi (jos suomen kieltä osaamattomia on paikalla).

Harjoitustehtävistä annetaan harjoitustilaisuudessa oikeat ratkaisut sillä tarkkuudella, että pöytäkunnat voivat itse tarkistaa tekemiensä ratkaisujen oikeellisuuden. Oikeat ratkaisut tulevat myös verkkoon seuraavalla viikolla. Lopuksi käydään yhdessä läpi yksi tai vaikkapa kaikki tehtävien ratkaisut. Kaikki ovat paikalla tilaisuuden loppuun asti.

On erityisen opettavaista ja omaa oppimista tukevaa selittää asioita jollekin toiselle, joka myös on työskennellyt tehtävän ratkaisemiseksi. Muiden opiskelijoiden auttaminen hyödyntää kumpaakin osapuolta ja yleensä opastajaa enemmän. Älkää kuitenkaan pilatko harjoitustehtävän hyötyä toiselle antamalla sen vastausta suoraan. Eihän siitä juurikaan kostu kumpikaan. Hyvää oppimista saa aikaan vuorottelemalla (a) omaa opiskelua, (b) ongelmien ratkaisuja ja (c) keskusteluja ongelmista ja niiden ratkaisuista muiden opiskelijoiden kanssa.

Harjoitustehtävien tavoitteena on oppiminen, ei pinnojen kalastelu kurssin läpäisemiseksi tai paremman arvosanan saamiseksi. Oppiminen tapahtuu nimenomaan silloin, kun ajattelee ja tekee itse merkittävän osan ongelman ratkaisua sekä keskustelee ratkaisustaan ja ratkaisumenetelmästään muiden kanssa. Valmiiden vastausten lukemisella ei opi yhtä hyvin. Samanlaisia esimerkkejä on luennoilla ja kirjoissa, joten harjoitustehtävien valmiiden ratkaisujen käyttö pelkästään luettavina esimerkkeinä on oppimisen kannalta hyvien harjoitustehtävien hukkaan heittämistä.

Tehtävistä saa harjoitustehtäväpisteitä (htp) niiden vaativuuden mukaan, mutta vain tehdyistä tehtävistä ja vain harjoitustilaisuudessa koko ajan läsnäolleille. Harjoitustehtäväpisteet skaalataan lineaarisesti arvosanapisteiksi siten, että noin 5/6 (83%) max htp:stä saa maksimimäärän arvosanapisteitä.

KURSSIN SUORITUS

Kurssi suoritetaan osallistumalla aktiivisesti luennoille ja harjoituksiin sekä tekemällä ohjelmointitehtäviä Tito-pajassa ja itsenäisesti. Kurssilla edellytetään opiskelijalta oma-aloitteisuutta ja aikatauluttamista, jotta oppiminen tahdistuu viikkoaikataulun mukaisesti.

Luentojen yhteydessä (luentoaikana) järjestetään kolme suppeata (45 min,10 p) minikoetta, joiden koealue on koetta edeltävät luennot ja harjoitukset. Neljäs minikoe (10 p) on kurssikokeen yhteydessä (tehtävä 4). Kukin kurssikokeen tehtävä vastaa samannumeroista minikoetta. Luentokurssin aikana järjestettyihin minikokeisiin ei siis ole pakko osallistua, vaan ne voi kaikki suorittaa pelkästään kurssikokeella (40 p). Kolme ensimmäistä minikoetta voi uusia kurssikokeen yhteydessä. Neljännen minikokeen yksinään tai koko kurssikokeen (kaikki tehtävät) voi uusia uusintakokeessa, joka on kurssin jälkeen seuraava erilliskoe. Perusperiaate on, että kaikkiin kokeisiin on kaksi osallistumismahdollisuutta ja paremman pisteet ratkaisevat.

Opiskelijat harjoittelevat itsenäisesti konekielistä ohjelmointi Tito-pajassa ja TitoTrainer-ohjelmiston avulla. Konekielisen ohjelmoinnin osaaminen tentitään Examinariumissa (55 min, 10 p) opiskelijan itse valitsemana ajankohtana, mutta kuitenkin ennen kurssikoetta. Kokeeseen ei kannata mennä kokeilemaan ennen kuin tuntee osaavansa ttk-91 ohjelmoinnin hyvin. Huomaa, että Examinariumiin on Alexandriassa on 16 paikkaa, Physicumissa 8 paikkaa ja Viikissä 2 paikkaa (syksy 2017). Examinariumin uusintakokeen voi tehdä ennen seuraavaa erilliskoetta (31.1.2018 syksyn 2017 kurssin jälkeen).

Kurssin arvosanaan vaikuttavat kokeiden (40 p) lisäksi konekielisen ohjelmoinnin (ttk-91) Examinarium-koe (55 min, 10 p) ja harjoitukset kurssiviikoilla 2, 4-7 (10 p). Kurssin läpipääsyyn vaaditaan kokeista vähintään 25/50 pistettä ja yhteensä vähintään 30/60 pistettä.

Kurssikirjanpidossa (Tikli) on paikka neljälle harjoituskerralle (Harjoitukset), neljälle minikokeelle (Koetehtävät 1-4) ja neljälle kurssikuulustelun tehtävälle (Koetehtävät 6-9) ja kahdelle Examinarium-kokeelle (Koetehtävät 5 ja 10). Tarkistakaa aina aika ajoin, että omat pisteenne on kirjattu oikein.

==============================================================
INFORMATION FOR INTERNATIONAL STUDENTS

If you want to study the course in English, please contact the lecturer.

The information in English relating to this lecture course is given on these pages within the Finnish guidance. It is in a very concise form. If you have any questions, please contact the instructor.

GENERAL

The course uses many learning methods. Basic topics are also covered in web lectures, which students can use instead or in addition to normal lectures. Only web lectures 1-4 are in English. There is good text book in English.

Course week 1 has no practice sessions, Course week 2 has 1st practice sessions. Week 3 has ttk-91 programming workshop. Weeks 4-7 have normal practice sessions.

Practice session times (6.11.2017) are

Tue 9-11 Teemu Kerola (Exact C222, Also in English)
Tue 14-16 Terho Uotila (Phys E207)
Wed 16-18 Heikki Korhola (Phys E207)
Thu 12-14 Heikki Korhola (Phys E207)
Thu 16-18 Terho Uotila (Exact D123)
Fri 10-12 Mohammad Bahmanpour (Exact D122)
Fri 14-16 Heikki Korhola (Exact D122)

PRACTICE SESSIONS

Homeworks can be done alone or with your study circle (friends).

In homework sessions all problems are first discussed in each table. In this discussion you may assume that all students are familiar with problems and have at least tried to solve them. If you are not familiar with the problems in advance, you will not gain so much in the practice session as there is no time to cover each problem at that detail. The instructor present will consult each table as needed.

In the "also in English" practice session the table discussions are in English or Finnish, but common discussion is in English. Please sign up to that practice session group.

At the end of the practice session the instruction will give out model solutions, and there can be common discussion one some or all homework solutions. The model solutions will be collected back, but they will be available in the web the next week.

It is very helpful for your own learning to discuss and explain homework solutions to some other student, who has also worked on the same problem. Usually the student explaining the solution learns more than the student receiving help. However, please do not give other students your complete answer directly. They do not learn much from that. Good learning is achieved by alternating (a) your own studying, (b) solving practice problems, and (c9 discussing problems and their various solutions with other students.

The goal of the homeworks is learning, not just getting points to pass the course or to get a better grade. Learning happens best when think about the problem, try to solve it your self, and then discuss your solution with other students. There are plenty of similar examples in lectures and text books. Using a homework problem solution only as readable example is a waste of good learning opportunity and a waste of a homework problem.

You will gain homework points from the practice session, but only for the problems you have done and only if you are present. You gain homework points (hwp) from the homeworks, based on how much work they involve. Those hwp's are then mapped to course points affecting your grade, so that some 5/6 (83%) of maximum hwp's gives you maximum points towards your grade.

COURSE COMPONENTS

Course is done by participating actively the lectures (or web lectures), reading the text book, doing homeworks and discussing them in the practice sessions, and learning ttk-91 programming in workshops and independently. You need to show own initiative and scheduling, so that your learning happens according to the weekly schedule.

During the (Finnish) lectures there are three small (45 min, 10 p) mini exams (also in English) covering topics in preceding lectures and homeworks. The 4th mini exam (10 p) is with the course exam (problem 4). Each course exam question corresponds to the mini exam of the same number. So you do not need to take part to the mini exams, but you can do them all in the course exam (40 p). However, you can redo the mini exams 1-3 with the course exam. The 4th mini exam alone or the complete course exam can be redone in the replacement exam, which is the 1st separate exam following this course. Basic principle is, that each exam can be taken twice and the best result is used.

Students practice (symbolic) machine language programming in Tito (ttk-91) workshops and independently with TitoTrainer environment. You will show your proficiency in machine language programming by taking a short (55 min) exam in the Examinarium. You can select the Examinarium exam time your self, but it must be before the course exam date. You should not take the exam before you feel you have good understanding on ttk-91 programming. Please note that there are 16 seats in Alexandria Examinarium, 8 seats in Physicum, and 2 seats in Viikki (Autumn 2017). You can redo the Examinarium exam once, but before the next separate exam (31.1.2018 for Autumn 2017 course).

Course grade is based on mini exams or course exam (40 p), ttk-91 exam in Examinarium (10 p), and homework sessions in course weeks 2, 4-7 (10 p). To pass, you need at least 25/50 points from the exams, and at least 30/60 points overall.

Course bookkeeping (Tikli) has a place for four homework sessions (Exercises), four mini exams (Exam questions 1-4), four course exam problems (Exam questions 6-9), and two Examinarium-exams (Exam questions 5 and 10). Please check every now and then, that your points are correctly marked.

Kuvaus

Tietojenkäsittelytieteen perusopintojen pakollinen opintojakso. Avoin kaikkien koulutusohjelmien opiskelijoille.

On suositeltavaa, että opiskelija osaa ohjelmoida korkean tason kielellä ennen kurssille osallistumista. Esimerkiksi kurssi Ohjelmoinnin perusteet antaa riittävät esitiedot.

Kurssit Tietokoneen rakenne, Tietoliikenteen perusteet ja Käyttöjärjestelmät.

Opintojakson suoritettuaan opiskelija

  • Osaa selittää laitteistokomponenttien väliset suuret nopeuserot ja niiden vaikutukset järjestelmään.
  • Osaa selittää prosessorin toiminnan (suoritussykli) konekäskyjen suorittajana.
  • Osaa selittää väylä- ja muistihierarkian perusajatukset.
  • Osaa selittää välimuistin ja virtuaalimuistin toiminnan perusteet.
  • Osaa selittää prosessorin erilaiset suoritustilat ja erityisesti etuoikeutetun suoritustilan tarkoituksen.
  • Osaa selittää, milloin ja miten prosessorin suoritustila vaihtuu.
  • Osaa selittää keskeytysten merkityksen ja toteutuksen konekäskyjen suorituksen tasolla.
  • Osaa selittää keskeytysjärjestelmän toiminnan.
  • Osaa toteuttaa globaalien muuttujat, vakiot, tietueet ja yksinkertaiset taulukot ja selittää niiden tilanvarauksien toteutuksen käännöksen, latauksen tai suorituksen aikana.
  • Osaa ohjelmoida valinta- ja toistorakenteet sekä toteuttaa aliohjelmien kutsut.
  • Osaa selittää kokonais- ja liukulukujen esitysmuodot sekä merkkien ja merkkijonojen tallennuksen periaatteet.
  • Osaa muuttaa kokonaislukujen esitysmuodot 2-, 8-, 16- ja 10-järjestelmien välillä.
  • Osaa toteuttaa tietueiden, olioiden ja moniulotteisten taulukoiden (eri tavoin talletettuna) tilanvaraukset ja niihin viittaamisen.
  • Osaa selittää globaalien ja paikallisten tietorakenteiden erot tilanvarauksessa ja niihin viittaamisessa ja osaa käyttää aktivointitietueita ja aktivointitietuepinoa (rekursiivisten) aliohjelmien toteutuksessa.
  • Osaa selittää karkealla tasolla, kuinka (liikkuvat) kuvat ja äänet esitetään laitteistossa ja osaa selittää ja ottaa huomioon liukulukujen tarkkuuden muutokset laskennan aikana.
  • Osaa käyttää tiedon muuttumattomuuden suojauksen perusmenetelmiä (pariteettibitti, Hamming-koodi).
  • Osaa selittää prosessin käsitteen ja sen esitysmuodon käyttöjärjestelmässä sekä prosessin erilaiset tilat ja niiden väliset tilasiirtymät.
  • Osaa selittää, milloin ja miten suorituksessa oleva prosessi vaihtuu.
  • Osaa luetella käyttöjärjestelmän perustoiminnot (prosessien, muistin, tiedostojen, laitteiden ja verkon hallinta).
  • Osaa selittää käännöksen, linkityksen ja latauksen perusideat.
  • Osaa selittää käyttöjärjestelmän tavoitteet ja perustoiminnot sekä käyttäjän näkökulmasta että käyttöjärjestelmän ylläpitäjän näkökulmasta. Osaa selittää käyttöjärjestelmäpalvelujen toteutusmekanismin erilaisten (etuoikeutettujen) aliohjelmien tai prosessien avulla. Osaa selittää staattisen ja dynaamisen linkityksen edut ja haitat.
  • Osaa selittää käyttöjärjestelmän laitteistorajapinnan toteutuksen laiteajurien ja keskeytyskäsittelijöiden avulla. Osaa selittää tiedostopalvelimen ja tiedostovälimuistin perusidean.
  • Osaa selittää levymuistin rakenteen ja toiminnan sekä laskea levymuistiin talletetun tiedoston saantiajan.
  • Osaa luokitella erilaiset I/O-menetelmät.
  • Osaa selittää Java-ohjelmien erilaiset suoritustavat ja niiden eroavaisuudet.
  • Osaa selittää Java-virtuaalikoneen (JVM) perusrakenteen ja toiminnan sekä valita tiettyyn sovellukseen sopivan Java-ohjelmien suoritustavan. Osaa selittää JIT-kääntämisen perusidean.

Ensimmäisen opiskeluvuoden kevät, ensimmäisen ohjelmointikurssin jälkeen

Järjestetään syyslukukaudella periodissa 2 normaalina luentokurssina ja kevätlukukaudella ohjattuna itseopiskelukurssina

  • Tietokonejärjestelmän rakenne
  • TTK-91 -tietokone ja sen simulaattori, konekielinen ohjelmointi, aliohjelmien toteutus
  • Suoritin ja väylä, tiedon esitysmuodot, tiedon muuttumattomuus ja muisti
  • Ohjelman ja käyttöjärjestelmän toteutus, ulkoinen muisti ja I/O:n toteutus
  • Käännös, linkitys ja lataus, tulkinta ja emulointi
  • William Stallings, Computer Organization and Architecture (10th ed.), Prentice Hall, 2016.
  • Andrew S. Tanenbaum & Todd Austin, Structured Computer Organization, 6th ed, Pearson, 2013.
  • Stallings’in kirja olisi hyvä olla käytettävissä, mutta Tanenbaumin kirjaa ei kannata tätä kurssia varten hankkia.
  • Oppikirjojen uudempia painoksia voidaan ottaa käyttöön heti niiden julkaisun jälkeen.
  • Verkkoluentoja (Teemu Kerola, 2005) voi käyttää tavanomaisten luentojen tukena tai asemesta.
  • Titokone ja TitoTrainer -ohjelmistojen käyttö on välttämätöntä konekielisen ohjelmoinnin oppimiseksi.

Opiskelija: luennot ja niissä tapahtuva pienryhmäkeskustelu, verkkoluennot, itsenäisesti tehtävät harjoitustehtävät ja niiden yhdessä läpikäynti harjoituksissa, pajaohjaus konekielen ohjelmointiin Titokone-ohjelmiston avulla, itsenäinen konekielen ohjelmoinnin harjoittelu TitoTrainer-ohjelmiston avulla ja minikokeet.

Opettaja ja ohjaajat: luentomateriaalin laadinta, luennot, minikokeiden valvonta, harjoitustehtävät ja niiden ratkaisut, harjoitustilaisuuksien ohjaus, koetehtävien ja niiden ratkaisut, kokeiden arviointi, assistenttien valvonta, verkkotiedotuksen ylläpito, kurssisuoritteiden kirjaus, kurssin arviointi.

Kurssin arviointi perustuu kokeissa osaamiseen, harjoitustehtävien tekemiseen ja niiden ratkaisuista keskustelemiseen harjoitustilaisuuksissa. Kurssi arvioidaan asteikolla 0-5.

Luentokurssi sisältää luentoja, harjoitustilaisuuksia, kokeita sekä itsenäistä ja ohjattua ohjelmistojen käyttöä. Harjoitustilaisuuksissa ja kokeissa on oltava läsnä. Kurssi suoritetaan neljällä minikokeella luentojen yhteydessä ja osallistumalla harjoituksiin.

Ohjatulla itseopiskelukurssilla luentojen asemesta on verkkoluentoja. Muutoin sisältö on sama kuin luentokurssilla. Harjoituksissa ja kokeissa on oltava läsnä, mutta muutoin kurssin voi suorittaa etänä.

Erilliskokeella suoritettuna kurssin arvosana perustuu ainoastaan kokeeseen.