Wydział Biotechnologii i Hodowli Zwierząt - Bioinformatyka (S1)
Sylabus przedmiotu Programowanie na poziomie sprzętowym:
Informacje podstawowe
Kierunek studiów | Bioinformatyka | ||
---|---|---|---|
Forma studiów | studia stacjonarne | Poziom | pierwszego stopnia |
Tytuł zawodowy absolwenta | inżynier | ||
Obszary studiów | nauk przyrodniczych, nauk technicznych, studiów inżynierskich | ||
Profil | ogólnoakademicki | ||
Moduł | — | ||
Przedmiot | Programowanie na poziomie sprzętowym | ||
Specjalność | Systemy informatyczne w biologii | ||
Jednostka prowadząca | Katedra Architektury Komputerów i Telekomunikacji | ||
Nauczyciel odpowiedzialny | Krzysztof Makles <Krzysztof.Makles@zut.edu.pl> | ||
Inni nauczyciele | |||
ECTS (planowane) | 2,0 | ECTS (formy) | 2,0 |
Forma zaliczenia | zaliczenie | Język | polski |
Blok obieralny | 19 | Grupa obieralna | 3 |
Formy dydaktyczne
Wymagania wstępne
KOD | Wymaganie wstępne |
---|---|
W-1 | Wymagane zaliczenie przedmiotu "Architektura systemów komputerowych" |
W-2 | Podstawowa umiejętność programowania systemów wbudowanych |
W-3 | Wymagane zaliczenie przedmiotu "Podstawy programowania komputerów" |
W-4 | Podstawowa znajomość systemów operacyjnych stosowanych w urządzeniach mikroprocesorowych |
Cele przedmiotu
KOD | Cel modułu/przedmiotu |
---|---|
C-1 | Zapoznanie studentów ze współcześnie stosowanymi systemami operacyjnymi dla urządzeń przenośnych. |
C-2 | Ugruntowanie umiejętności z zakresu teoretycznego i praktycznego wykorzystania operacji bliskosprzętowych w języku C/C++ (operacje na bitach, operowanie bitami na portach, struktury upakowane, pola bitowe, dostęp wariantowy). |
C-3 | Ukształtowanie umiejętności z zakresu podstaw projektowania i opracowania sterownika urządzenia dla systemu operacyjnego Linux. |
C-4 | Ukształtowanie umiejętności tworzenia oprogramowania na systemy mikroprocesorowe, ze szczególnym uwzględnieniem układów rekonfigurowalnych, na podstawie dokumentacji zestawów uruchomieniowych. |
Treści programowe z podziałem na formy zajęć
KOD | Treść programowa | Godziny |
---|---|---|
laboratoria | ||
T-L-1 | Operacje na bitach mikrokontrolera Intel 8048. | 2 |
T-L-2 | Operacje na liczbach stałoprzecinkowych o równym i różnym współczynniku skalowania. | 2 |
T-L-3 | Praktyczne wykorzystanie notacji 16.16 i 32.32. | 4 |
T-L-4 | Wykorzystanie struktur upakowanych, pól bitowych oraz dostępu wariantowego. | 3 |
T-L-5 | Tworzenie przykładowego sterownika urządzenia dla systemu Linux. | 4 |
15 | ||
wykłady | ||
T-W-1 | Przypomnienie i uzupełnienie wiadomości z zakresu systemów operacyjnych oraz programowania systemów wbudowanych (przegląd obecnie stosowanych mikrokontrolerów, omówienie budowy aktualnych systemów operacyjnych stosowanych w urządzeniach przenośnych, pod kątem technik programowania). | 4 |
T-W-2 | Całkowite i zmiennoprzecinkowe reprezentacje liczb stosowane w urządzeniach mikrokomputerowych. | 3 |
T-W-3 | Elementy programowania bliskosprzętowego w języku C/C++ (operacje na bitach, operowanie bitami na portach, urządzenia we/wy mapowane w pamięci, struktury upakowane, pola bitowe, dostęp wariantowy). | 4 |
T-W-4 | Architektura i implementacja sterowników w popularnych systemach operacyjnych (Windows Embedded 6.0 CE, Linux). | 4 |
15 |
Obciążenie pracą studenta - formy aktywności
KOD | Forma aktywności | Godziny |
---|---|---|
laboratoria | ||
A-L-1 | Uczestnictwo w zajęciach laboratoryjnych. | 15 |
A-L-2 | Analiza ćwiczenia wykonanego na zajęciach i przygotowanie sprawozdania. | 10 |
A-L-3 | Studia literaturowe przygotowujące do wykonania ćwiczenia laboratoryjnego. | 6 |
31 | ||
wykłady | ||
A-W-1 | Uczestnictwo w zajęciach wykładowych. | 15 |
A-W-2 | Studia literaturowe, konsultacje. | 10 |
A-W-3 | Samodzielne rozwiązywanie zadań o charakterze obliczeniowym. | 6 |
31 |
Metody nauczania / narzędzia dydaktyczne
KOD | Metoda nauczania / narzędzie dydaktyczne |
---|---|
M-1 | Wykład z prezentacją. |
M-2 | Ćwiczenia laboratoryjne. |
Sposoby oceny
KOD | Sposób oceny |
---|---|
S-1 | Ocena formująca: Ocenie podlegają wykonane przez studenta zadania problemowe postawione w części laboratoryjnej. |
S-2 | Ocena podsumowująca: Ocena końcowa z części laboratoryjnej ustalana na podstawie ocen cząstkowych, otrzymanych w toku zajęć. |
S-3 | Ocena podsumowująca: Ocena końcowa z części wykładowej określana na podstawie egzaminu pisemnego. |
Zamierzone efekty kształcenia - wiedza
Zamierzone efekty kształcenia | Odniesienie do efektów kształcenia dla kierunku studiów | Odniesienie do efektów zdefiniowanych dla obszaru kształcenia | Odniesienie do efektów kształcenia prowadzących do uzyskania tytułu zawodowego inżyniera | Cel przedmiotu | Treści programowe | Metody nauczania | Sposób oceny |
---|---|---|---|---|---|---|---|
BI_1A_BII-S-O2.4_W01 Student rozróżnia mikrokontrolery stosowane obecnie w technice i potrafi je scharakteryzować. | BI_1A_W02 | P1A_W07, T1A_W01, T1A_W02, T1A_W06, T1A_W07 | InzA_W01, InzA_W02 | C-4 | T-L-1, T-W-4, T-L-2, T-W-1 | M-2 | S-1 |
BI_1A_BII-S-O2.4_W02 Student nazywa i opisuje współcześnie stosowane systemy operacyjne dla urządzeń przenośnych. Potrafi scharakteryzować modele sterowników urządzeń stosowane we współczesnych systemach operacyjnych. | BI_1A_W11 | P1A_W04, P1A_W07, T1A_W02, T1A_W03, T1A_W04 | InzA_W01, InzA_W02, InzA_W05 | C-1 | T-W-1, T-W-4 | M-1 | S-3 |
Zamierzone efekty kształcenia - umiejętności
Zamierzone efekty kształcenia | Odniesienie do efektów kształcenia dla kierunku studiów | Odniesienie do efektów zdefiniowanych dla obszaru kształcenia | Odniesienie do efektów kształcenia prowadzących do uzyskania tytułu zawodowego inżyniera | Cel przedmiotu | Treści programowe | Metody nauczania | Sposób oceny |
---|---|---|---|---|---|---|---|
BI_1A_BII-S-O2.4_U01 Student potrafi opisywać i analizować działanie systemów elektronicznych zawierających elementy programowalne, ze szczególnym uwzględnieniem układów reprogramowalnych. | BI_1A_U11 | P1A_U05, P1A_U09, T1A_U01, T1A_U13, T1A_U16 | InzA_U03, InzA_U05, InzA_U08 | C-4 | T-W-1 | M-2 | S-2 |
BI_1A_BII-S-O2.4_U02 Student potrafi rozwiązać postawione przed nim zadanie rozwiązywane w zespole, wykorzystujące zestaw uruchomieniowy zawierający mikrokontroler, oraz potrafi sporządzać dokumentację techniczną projektu. | BI_1A_U02, BI_1A_U20 | P1A_U01, P1A_U02, P1A_U04, P1A_U06, P1A_U08, P1A_U09, P1A_U10, P1A_U12, T1A_U02, T1A_U03, T1A_U04, T1A_U05, T1A_U06, T1A_U11, T1A_U12 | InzA_U01, InzA_U02, InzA_U04, InzA_U07, InzA_U08 | C-3, C-4 | T-L-2, T-L-4, T-L-5, T-W-3, T-L-3 | M-2 | S-2 |
BI_1A_BII-S-O2.4_U03 Student potrafi wykorzystywać i stosować wiedzę teroretyczną dotyczącą programowania bliskosprzętowego i rozwiązywać postawione przed nim zadania inżynierskie, potrafi ocenić otrzymane wyniki badań laboratoryjnych, sporządzać sprawozdaia z wykonanych zadań. | BI_1A_U02, BI_1A_U11, BI_1A_U22 | P1A_U01, P1A_U02, P1A_U03, P1A_U05, P1A_U09, T1A_U01, T1A_U02, T1A_U04, T1A_U05, T1A_U11, T1A_U13, T1A_U16 | InzA_U01, InzA_U02, InzA_U03, InzA_U05, InzA_U07, InzA_U08 | C-2, C-4 | T-L-5, T-L-1, T-W-3, T-W-2, T-L-3, T-L-2 | M-2 | S-2, S-1 |
Zamierzone efekty kształcenia - inne kompetencje społeczne i personalne
Zamierzone efekty kształcenia | Odniesienie do efektów kształcenia dla kierunku studiów | Odniesienie do efektów zdefiniowanych dla obszaru kształcenia | Odniesienie do efektów kształcenia prowadzących do uzyskania tytułu zawodowego inżyniera | Cel przedmiotu | Treści programowe | Metody nauczania | Sposób oceny |
---|---|---|---|---|---|---|---|
BI_1A_BII-S-O2.4_K01 Student realizując zadanie w zespole uzyskuje świadomość odpowiedzialności za wspólnie realizowane zadanie. | BI_1A_K04, BI_1A_K06 | P1A_K02, P1A_K03, P1A_K06, P1A_K08, T1A_K02, T1A_K03, T1A_K04, T1A_K06 | InzA_K01, InzA_K02 | C-2, C-4 | T-W-3 | M-2 | S-2 |
BI_1A_BII-S-O2.4_K02 Student realizując zadania laboratoryjne rozumie potrzeby dokształcania się i dzielenia się wiedzą w dynamicznie rozwijającym się obszarze nauki, jaką jest informatyka. | BI_1A_K03 | P1A_K01, P1A_K02, P1A_K05, P1A_K07, P1A_K08, T1A_K01, T1A_K06, T1A_K07 | InzA_K02 | C-4, C-1 | T-W-1, T-W-3 | M-2 | S-1 |
Kryterium oceny - wiedza
Efekt kształcenia | Ocena | Kryterium oceny |
---|---|---|
BI_1A_BII-S-O2.4_W01 Student rozróżnia mikrokontrolery stosowane obecnie w technice i potrafi je scharakteryzować. | 2,0 | Student nie jest w stanie rozwiązać postawione zadanie, nie posiada elementarnej wiedzy potrzebnej do rozwiązania zadania. |
3,0 | Postawione zadanie wykonane zgodnie z wytycznymi prowadzącego zajęcia w sposób niepełny, nie zawiera elementów wprowadzonych samodzielnie przez studenta. Student posiada podstawową wiedze dotyczącą elementów składowych projektu (architektura mikrokontrolera, budowa zestawu uruchomieniowego). | |
3,5 | Postawione zadanie wykonane zgodnie z wytycznymi prowadzącego zajęcia, nie zawiera elementów wprowadzonych samodzielnie przez studenta. Student potrafi wskazać miejsce wdrożenia opracowanego rozwiązania. | |
4,0 | Postawione zadanie wykonane zgodnie z wytycznymi prowadzącego zajęcia, zawiera elementy wprowadzone samodzielnie przez studenta. Student potarfi przeprowadzić dyskusję uzyskanego rozwiązania i zidentyfikować słabe strony rozwiązania. | |
4,5 | Postawione zadanie wykonane zgodnie z wytycznymi prowadzącego zajęcia, zawiera elementy wprowadzone samodzielnie przez studenta. Student potrafi ocenić mocne i słabe strony uzyskanego rozwiązania, oraz obronić opracowane rozwiązanie. | |
5,0 | Postawione zadanie wykonane zgodnie z wytycznymi prowadzącego zajęcia, zawiera elementy wprowadzone samodzielnie przez studenta. Student potrafi ocenić mocne i słabe strony uzyskanego rozwiązania, oraz obronić opracowane rozwiązanie. Potrafi wskazać praktyczne zastosowania opracowanego rozwiązania. | |
BI_1A_BII-S-O2.4_W02 Student nazywa i opisuje współcześnie stosowane systemy operacyjne dla urządzeń przenośnych. Potrafi scharakteryzować modele sterowników urządzeń stosowane we współczesnych systemach operacyjnych. | 2,0 | Wiedza z części wykładowej sprawdzana jest w drodze zaliczenia pisemnego, ocenianego w skali punktowej. Student nie potrafi przywołać wiedzy dotyczącej systemów operacyjnych i modeli sterowników urządzeń. |
3,0 | Wiedza z części wykładowej sprawdzana jest w drodze zaliczenia pisemnego, ocenianego w skali punktowej. Student potrafi określić podział architektury sterowników i opisać podział architektury sterowników ze względu na ich implementację, moduł ładujący oraz ładowanie do pamięci. | |
3,5 | Wiedza z części wykładowej sprawdzana jest w drodze zaliczenia pisemnego, ocenianego w skali punktowej. Student potrafi określić podział architektury sterowników i scharakteryzować każdy z typów architektury sterowników. | |
4,0 | Wiedza z części wykładowej sprawdzana jest w drodze zaliczenia pisemnego, ocenianego w skali punktowej. Student potrafi określić podział architektury sterowników i scharakteryzować każdy z typów architektury sterowników. Zna funkcje interfejsu strumieniowego w powiązaniu z systemem operacyjnym. Rozróżnia sterowniki działające w trybie urzytkownika, oraz sterowniki działające w trybie jądra. | |
4,5 | Wiedza z części wykładowej sprawdzana jest w drodze zaliczenia pisemnego, ocenianego w skali punktowej. Student potrafi określić podział architektury sterowników i scharakteryzować każdy z typów architektury sterowników. Zna funkcje interfejsu strumieniowego w powiązaniu z systemem operacyjnym. Rozróżnia sterowniki działające w trybie urzytkownika, oraz sterowniki działające w trybie jądra. Potrafi wskazać zastosowanie obiektu reflektora i określić jego funkcje. | |
5,0 | Wiedza z części wykładowej sprawdzana jest w drodze zaliczenia pisemnego, ocenianego w skali punktowej. Student posiada pełną wiedzę dotyczącą systemów operacyjnych dla urządzeń przenośnych, oraz architektur sterowników. Potrafi krytycznie ocenić różne architektury sterowników. Potrafi powiązać wiedzę dotyczącą sterowników urządzeń z wiedzą dotyczącą aspektów działania systemów operacyjnych. |
Kryterium oceny - umiejętności
Efekt kształcenia | Ocena | Kryterium oceny |
---|---|---|
BI_1A_BII-S-O2.4_U01 Student potrafi opisywać i analizować działanie systemów elektronicznych zawierających elementy programowalne, ze szczególnym uwzględnieniem układów reprogramowalnych. | 2,0 | Nie potrafi wymienić i nazwać popularnych mikrokontrolerów. Nie posiada elementarnej wiedzy na temat układów reprogramowalnych. |
3,0 | Student potrafi wymienić i nazwać popularne mikrokontrolery, oraz wyliczyć i opisać architektury układów reprogramowalnych. | |
3,5 | Student potrafi wymienić i nazwać popularne mikrokontrolery, oraz wyliczyć i opisać architektury układów reprogramowalnych. Potrafi przeprowadzić analize działania podstawowych elementów zestawu uruchomieniowego. | |
4,0 | Student potrafi wymienić i nazwać popularne mikrokontrolery, oraz wyliczyć i opisać architektury układów reprogramowalnych. Potrafi przeprowadzić analize działania wszystkich elementów zestawu uruchomieniowego. | |
4,5 | Student potrafi wymienić i nazwać popularne mikrokontrolery, oraz wyliczyć i opisać architektury układów reprogramowalnych. Potrafi przeprowadzić analize działania wszystkich elementów zestawu uruchomieniowego. Potrafi opisać architekturę i sposób wykorzystania magistrali łączącej elementy zestawu uruchomieniowego. | |
5,0 | Student potrafi wymienić i nazwać popularne mikrokontrolery, oraz wyliczyć i opisać architektury układów reprogramowalnych. Potrafi przeprowadzić analize działania wszystkich elementów zestawu uruchomieniowego. Potrafi opisać architekturę i sposób wykorzystania magistrali łączącej elementy zestawu uruchomieniowego. Posiada umiejętność planowania architektury rozwązania, które ma być określone w strukturze reprogramowalnej. | |
BI_1A_BII-S-O2.4_U02 Student potrafi rozwiązać postawione przed nim zadanie rozwiązywane w zespole, wykorzystujące zestaw uruchomieniowy zawierający mikrokontroler, oraz potrafi sporządzać dokumentację techniczną projektu. | 2,0 | Student nie jest w stanie rozwiązać postawione zadanie, nie posiada elementarnej wiedzy potrzebnej do rozwiązania zadania. |
3,0 | Zadanie wykonane zgodnie z wytycznymi prowadzącego zajęcia w sposób niepełny, nie zawiera elementów wprowadzonych samodzielnie przez studenta. Brak dokumentacji projektu. Student potrafi dobrać zestaw uruchomieniowy (zawierający mikrokontroler) do postawionego zadania. | |
3,5 | Zadanie wykonane zgodnie z wytycznymi prowadzącego zajęcia, nie zawiera elementów wprowadzonych samodzielnie przez studenta. Brak dokumentacji projektu. Student potrafi dobrać zestaw uruchomieniowy (zawierający mikrokontroler) do postawionego zadania. | |
4,0 | Zadanie wykonane zgodnie z wytycznymi prowadzącego zajęcia, zawiera elementy wprowadzone samodzielnie przez studenta. Brak dokumentacji projektu. Student potrafi dobrać zestaw uruchomieniowy (zawierający mikrokontroler) do postawionego zadania. Wykorzystuje interfejsy dostępne w zestawie uruchomieniowym do komunikacji opracowanego rozwiązania ze światem zewnętrznym. | |
4,5 | Zadanie wykonane zgodnie z wytycznymi prowadzącego zajęcia, zawiera elementy wprowadzone samodzielnie przez studenta. Przygotowana podstawowa dokumentacja projektowa. Student potrafi dobrać zestaw uruchomieniowy (zawierający układ reprogramowalny) do postawionego zadania. | |
5,0 | Zadanie wykonane zgodnie z wytycznymi prowadzącego zajęcia, zawiera elementy wprowadzone samodzielnie przez studenta. Przygotowana pełna dokumentacja projektowa. Student potrafi dobrać zestaw uruchomieniowy (zawierający układ reprogramowalny) do postawionego zadania. Wykorzystuje interfejsy dostępne w zestawie uruchomieniowym do komunikacji opracowanego rozwiązania ze światem zewnętrznym. | |
BI_1A_BII-S-O2.4_U03 Student potrafi wykorzystywać i stosować wiedzę teroretyczną dotyczącą programowania bliskosprzętowego i rozwiązywać postawione przed nim zadania inżynierskie, potrafi ocenić otrzymane wyniki badań laboratoryjnych, sporządzać sprawozdaia z wykonanych zadań. | 2,0 | Student nie przedstawia do oceny sprawozdań z przebiegu zajęć lub nie realizuje postawionych w toku zajęć zadań. |
3,0 | Wykonanie każdego zadanie laboratoryjnego potwierdzone jest sprawozdaniem, które powinno zostać przedstawione w terminie do 2 tygodni od dnia odbycia się zajęć. Student zna podstawowe reprezentacje liczb i potrafi wykonywać na nich operacje matematyczne. Zna i potrafi zaprezentować pojęcie nadmiaru. | |
3,5 | Wykonanie każdego zadanie laboratoryjnego potwierdzone jest sprawozdaniem, które powinno zostać przedstawione w terminie do 2 tygodni od dnia odbycia się zajęć. Student zna podstawowe reprezentacje liczb i potrafi wykonywać na nich operacje matematyczne. Zna i potrafi zaprezentować pojęcie nadmiaru. Zna i potrafi wykazać w programie zjawisko zakresu dla danej reprezentacji liczb. Potrafi aplikować obliczenia w reprezentacji stałoprzecinkowej. | |
4,0 | Wykonanie każdego zadanie laboratoryjnego potwierdzone jest sprawozdaniem, które powinno zostać przedstawione w terminie do 2 tygodni od dnia odbycia się zajęć. Student zna podstawowe reprezentacje liczb i potrafi wykonywać na nich operacje matematyczne. Zna i potrafi zaprezentować pojęcie nadmiaru i zakresu. Potrafi aplikować operacje matematyczne w formacie 16.16 i 32.32. | |
4,5 | Wykonanie każdego zadanie laboratoryjnego potwierdzone jest sprawozdaniem, które powinno zostać przedstawione w terminie do 2 tygodni od dnia odbycia się zajęć. Student zna podstawowe reprezentacje liczb i potrafi wykonywać na nich operacje matematyczne. Zna i potrafi zaprezentować pojęcie nadmiaru i zakresu. Potrafi aplikować operacje matematyczne w formacie 16.16 i 32.32. Potrafi stosować struktury upakowane. | |
5,0 | Wykonanie każdego zadanie laboratoryjnego potwierdzone jest sprawozdaniem, które powinno zostać przedstawione w terminie do 2 tygodni od dnia odbycia się zajęć. Student zna podstawowe reprezentacje liczb i potrafi wykonywać na nich operacje matematyczne. Zna i potrafi zaprezentować pojęcie nadmiaru i zakresu. Potrafi aplikować operacje matematyczne w formacie 16.16 i 32.32. Potrafi stosować struktury upakowane i dostęp wariantowy. |
Kryterium oceny - inne kompetencje społeczne i personalne
Efekt kształcenia | Ocena | Kryterium oceny |
---|---|---|
BI_1A_BII-S-O2.4_K01 Student realizując zadanie w zespole uzyskuje świadomość odpowiedzialności za wspólnie realizowane zadanie. | 2,0 | Student, nie dzieli się swoją wiedzą i umiejętnościami z pozostałymi członkami zespołu, nie wspiera pracy zespołu. |
3,0 | Student, pracując w zespole, wspiera pracę zespołu. | |
3,5 | Student, pracując w zespole, dzieli się swoją wiedzą i umiejętnościami z pozostałymi członkami zespołu, wspiera pracę zespołu. | |
4,0 | Student, pracując w zespole, dzieli się swoją wiedzą i umiejętnościami z pozostałymi członkami zespołu, aktywnie wspiera pracę zespołu. | |
4,5 | Student, pracując w zespole, dzieli się swoją wiedzą i umiejętnościami z pozostałymi członkami zespołu, aktywnie wspiera pracę zespołu. Powierzone zadanie realizuje w sposób odpowiedzialny. | |
5,0 | Student, pracując w zespole, dzieli się swoją wiedzą i umiejętnościami z pozostałymi członkami zespołu, aktywnie wspiera pracę zespołu. Powierzone zadanie realizuje w sposób odpowiedzialny i zgodnie z ustaleniami zespołu. | |
BI_1A_BII-S-O2.4_K02 Student realizując zadania laboratoryjne rozumie potrzeby dokształcania się i dzielenia się wiedzą w dynamicznie rozwijającym się obszarze nauki, jaką jest informatyka. | 2,0 | Student, w trakcie realizacji zadania, nie sięga po literaturę podstawową przedmiotu, nie poszukuje dodatkowych źródeł informacji. |
3,0 | Student, w trakcie realizacji zadania, sięga po literaturę podstawową przedmiotu. | |
3,5 | Student, w trakcie realizacji zadania, poszukuje dodatkowych źródeł informacji dotyczących zadania. | |
4,0 | Student, w trakcie realizacji zadania, poszukuje dodatkowych źródeł informacji dotyczących zadania, wskazuje takie źródła informacji pozostałym członkom zespołu. | |
4,5 | Student, w trakcie realizacji zadania, poszukuje dodatkowych źródeł informacji dotyczących zadania, wskazuje takie źródła informacji pozostałym członkom zespołu oraz innym zespołom lub studentom. | |
5,0 | Student, w trakcie realizacji zadania, poszukuje dodatkowych źródeł informacji dotyczących zadania, wskazuje takie źródła informacji pozostałym członkom zespołu oraz innym zespołom lub studentom. Chętnie sięga po literaturę podstawową przedmiotu. |
Literatura podstawowa
- D. W. Lewis, Między asemblerem a językiem C. Podstawy oprogramowania wbudowanego., Read Me Eremis, Warszawa, 2004
- R. Love, Linux. Programowanie systemowe., Helion, Gliwice, 2008
- R. Hyde, Asembler. Sztuka programowania., Helion, Gliwice, 2010
Literatura dodatkowa
- V. Pirogow, Asembler. Podręcznik programisty., Helion, Gliwice, 2005
- K. Kaspersky, Optymalizacja kodu. Efektywne wykorzystanie pamięci., Read Me Eremis, Warszawa, 2003
- D. Bovet, Understanding the Linux Kernel., O’Reilly Media, San Francisco, 2005
- J. Corbet, A. Rubini, G. Kroah-Hartman, Linux Device Drivers., O'Reilly Media, San Francisco, 2005