Siirry suoraan sisältöön

Sulautettu Linux-ohjelmointi (5 op)

Toteutuksen tunnus: TT00BW43-3005

Toteutuksen perustiedot


Ilmoittautumisaika

30.12.2024 - 26.01.2025

Ajoitus

01.01.2025 - 31.07.2025

Opintopistemäärä

5 op

Virtuaaliosuus

2 op

Toteutustapa

60 % Lähiopetus, 40 % Etäopetus

Yksikkö

Teknologia

Opetuskielet

  • Suomi

Koulutus

  • Tieto- ja viestintätekniikan koulutus

Opettaja

  • Eero Huusko

Ryhmät

  • TTV23SA
    TTV23SA
  • 15.01.2025 08:30 - 11:45, Sulautettu Linux-ohjelmointi TT00BW43-3005
  • 22.01.2025 08:30 - 11:45, Sulautettu Linux-ohjelmointi TT00BW43-3005
  • 29.01.2025 08:30 - 11:45, Sulautettu Linux-ohjelmointi TT00BW43-3005
  • 05.02.2025 08:30 - 11:45, Sulautettu Linux-ohjelmointi TT00BW43-3005
  • 12.02.2025 08:30 - 11:45, Sulautettu Linux-ohjelmointi TT00BW43-3005
  • 19.02.2025 08:30 - 11:45, Sulautettu Linux-ohjelmointi TT00BW43-3005
  • 26.02.2025 08:30 - 11:45, Sulautettu Linux-ohjelmointi TT00BW43-3005
  • 12.03.2025 08:30 - 11:45, Sulautettu Linux-ohjelmointi TT00BW43-3005
  • 19.03.2025 08:30 - 11:45, Sulautettu Linux-ohjelmointi TT00BW43-3005
  • 26.03.2025 08:30 - 11:45, Sulautettu Linux-ohjelmointi TT00BW43-3005
  • 09.04.2025 08:30 - 11:45, Sulautettu Linux-ohjelmointi TT00BW43-3005
  • 16.04.2025 08:30 - 11:45, Sulautettu Linux-ohjelmointi TT00BW43-3005
  • 23.04.2025 08:30 - 11:45, Sulautettu Linux-ohjelmointi TT00BW43-3005
  • 30.04.2025 08:30 - 11:45, Sulautettu Linux-ohjelmointi TT00BW43-3005
  • 07.05.2025 08:30 - 11:45, Sulautettu Linux-ohjelmointi TT00BW43-3005
  • 12.05.2025 08:30 - 11:45, Sulautettu Linux-ohjelmointi TT00BW43-3005

Tavoitteet

Linux-käyttöjärjestelmä ja sen sulautettu versio, mukaan lukien palvelinohjelmat, ovat kriittisiä komponentteja nykypäivän avainasemassa olevassa hajautetussa ja verkottuneessa esineiden internetissä (Internet of Things).
Alan ammattitaitoisten Linux-kehittäjien kysyntä kasvaa jatkuvasti. Kurssin tavoitteena on antaa opiskelijalle kaksi oleellista osaamista:
1.Hyvä teoreettinen perusta ja käytännöllinen, teollisuuden kannalta merkityksellinen tieto, joka kattaa Linux-järjestelmän ohjelmointialueen.
2. Sulautetun linux-järjestelmän (Embedded Linux) ohjelmointiosaamisen, mukaan lukien järjestelmäarkkitehtuurin, virtuaalimuistin, prosessien luomisen ja hallinnan, prosessien välisen signaloinnin, timerien käytön, monisäikeisen ohjelmoinnin, prosessien scheduloinnin ja tiedostojen I / O- ja socket-ohjelmointiin liittyvän osaamisen.

Sanaa sulautettu Linux (Embedded Linux)ei ole määritelty hyvin. Mutta sitä voidaan käyttää käyttöjärjestelmänä monenlaisissa laitteissa termostaateista tukiasemiin, Wi-Fi-reitittimiin ja teollisiin ohjausyksiköihin. Kurssilla opitaan, että sulautetulla Linuxilla on tärkeä tehtävä esineiden Internetissä (Internet of Things).

Sulautetun Linux ohjelmointi -kurssin opiskelija oppii Linux-arkkitehtuurin, Linux-ytimen rakenteen ja tehokkaiden sovellusten toteuttamisen C-kielellä sulautettuihin laitteisiin, joissa on PSoC piiri. Kurssin käytyään opiskelija hallitsee myös moniajojärjestelmään toteutettavien sovellusten suunnittelun ja toteutuksen sekä asiakas-palvelin ohjelmien toteutuksen.

Sisältö

Sulautetun Linux ohjelmointi -kurssin sisältö painottuu UNIX / POSIX-ympäristössä tapahtuvaan ohjelmointiin käyttäen ANSI C:tä. Erityinen painopiste on Linux / Posix-järjestelmän vaatimissa systeemikutsuissa, prosessinohjauksessa, säikeistyksessä ja prosessien välisessä kommunikoinnissa. Eri I / O-tekniikkoiden läpikäynti, standardi-C-kirjaston I / O-toiminnot ja Unix/Linux systeemikutsut esitellään yksityiskohtaisesti.

Program Development Review
Multiprocessing & Multithreading
Posix Signal Handling
Linux Memory Management
UNIX/POSIX Files and File System
- File I/O

Local Interprocess Communication
- Using Signals for Interprocess Communication
- Kernel IPC Facilities
- Shared Memory
- Semaphores
- Mutex
- Message Queues
- Managing Kernel IPC Resources
- Pipes
- System calls

Socket programming
Timers
Boot to Qt (Raspberry pi)

Aika ja paikka

Linux-luokka, toteutus 3 ja 4 perioideilla.

Oppimateriaalit

Kurssimateriaali kurssin verkko-oppimisympäristössä ja erikseen jaettava materiaali.

Opetusmenetelmät

Teams- ja lähiopetus. Itsenäisesti tehtävät harjoitukset.

Tenttien ajankohdat ja uusintamahdollisuudet

Verkkotentti, uusintamahdollisuus konekoeuusintana.

Opiskelijan ajankäyttö ja kuormitus

Kurssin laajuus 5 op.

Sisällön jaksotus

Kurssi etenee sulautetun linux-ohjelmoinnin perusteista käytännön sulautetun järjestelmän toteuttamiseen.

Lisätietoja opiskelijoille

Kurssilla läsnäolo suositus. Edellytetään vähintään 80 % läsnöoloa lähiopetuksessa.

Arviointiasteikko

0 - 5

Arviointikriteerit, kiitettävä (5)

Kurssi arvioidaan sekä tentin että palauttettujen harjoitusten perusteella.
Arvosana 5 edellyttää yli 90 % tehtävien palautusta ja kiitettävää arvosanaa tentistä.

Arviointikriteerit, hyvä (3)

Kurssi arvioidaan sekä tentin että palauttettujen harjoitusten perusteella.
Arvosanat 3 tai 4 edellyttävää yli 70-80 % tehtävien palautusta ja arvosanaa hyvä tentistä.

Arviointikriteerit, tyydyttävä (1)

Kurssi arvioidaan sekä tentin että palauttettujen harjoitusten perusteella.
Arvosanat 1 tai 2 edellyttävää yli 50 - 60 % tehtävien palautusta ja arvosanaa välttävä tentistä.

Arviointimenetelmät ja arvioinnin perusteet

Harjoitustyökirjan tehtävien palautus max 260 p (Vapaavalintainen, mutta vaikuttaa oleellisesti kurssin arvosanaan)
Tentti (Labrakoe) (Moodlessa), maksimi 125 p (Pakollinen)
Maksimipistemäärä harjoitustyökirjan tehtävistä on 260 p, joten tee tehtäviä oman harkintasi mukaan. Harjoitustyökirjan tehtävistä saadut pisteet lasketaan yhteen tentistä saatujen pisteiden kanssa ja kurssin arvosana muodostuu tentin ja harjoitustyökirjan yhteispisteiden perusteella. Maksimipistemäärä Tentti + Harjoitustyökirja = 385 p.

Arviointi: 95 - 120 p = 1
121 - 160 p = 2
161 - 200 p = 3
201 - 250 p = 4
251 -> p = 5

Hylätty (0)

Hylätty tentti

Toteutuksen arviointikriteerit, kiitettävä (5)

Arviointi: 95 - 120 p = 1
121 - 160 p = 2
161 - 200 p = 3
201 - 250 p = 4
251 -> p = 5

Toteutuksen arviointikriteerit, hyvä (3-4)

Arviointi: 95 - 120 p = 1
121 - 160 p = 2
161 - 200 p = 3
201 - 250 p = 4
251 -> p = 5

Toteutuksen arviointikriteerit, tyydyttävä (1-2)

Arvosanaan 1 vaaditaan siis tentin läpäisy (väh. 95 p) ja läsnäolo kurssin (80 %) luennoilla.
Arviointi: 95 - 120 p = 1
121 - 160 p = 2
161 - 200 p = 3
201 - 250 p = 4
251 -> p = 5

Esitietovaatimukset

Esitietoina vaaditaan Linuxin perusosaaminen ja C-ohjelmointikurssin suoritus.

Lisätiedot

Kurssimateriaali on englanninkielinen. Kurssiin kuuluu itsenäisesti tehtävät harjoitukset.
TKI pisteet 2.