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
-
TTV23SATTV23SA
- 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.