Politechnika Warszawska - Centralny System Uwierzytelniania
Strona główna

Programowanie niskopoziomowe

Informacje ogólne

Kod przedmiotu: 1140-ARIPM-ISP-6002
Kod Erasmus / ISCED: (brak danych) / (0111) Kształcenie Kod ISCED - Międzynarodowa Standardowa Klasyfikacja Kształcenia (International Standard Classification of Education) została opracowana przez UNESCO.
Nazwa przedmiotu: Programowanie niskopoziomowe
Jednostka: Instytut Mikromechaniki i Fotoniki
Grupy:
Punkty ECTS i inne: 0 LUB 3.00 (w zależności od programu) Podstawowe informacje o zasadach przyporządkowania punktów ECTS:
  • roczny wymiar godzinowy nakładu pracy studenta konieczny do osiągnięcia zakładanych efektów uczenia się dla danego etapu studiów wynosi 1500-1800 h, co odpowiada 60 ECTS;
  • tygodniowy wymiar godzinowy nakładu pracy studenta wynosi 45 h;
  • 1 punkt ECTS odpowiada 25-30 godzinom pracy studenta potrzebnej do osiągnięcia zakładanych efektów uczenia się;
  • tygodniowy nakład pracy studenta konieczny do osiągnięcia zakładanych efektów uczenia się pozwala uzyskać 1,5 ECTS;
  • nakład pracy potrzebny do zaliczenia przedmiotu, któremu przypisano 3 ECTS, stanowi 10% semestralnego obciążenia studenta.

zobacz reguły punktacji
Język prowadzenia: polski
Liczba godzin zajęć praktycznych:

15

Liczba godzin zajęć teoretycznych:

15

Skrócony opis:

Celem przedmiotu jest przygotowanie studenta do tworzenia oprogramowania współdziałającego bezpośrednio z systemem operacyjnym za pośrednictwem jego API

Pełny opis:

Komunikacja zewnętrzna, najczęściej spotykane przypadki. Port szeregowy RS232 konfiguracja i przesył danych. Komunikacja z wykorzystaniem portu USB. Transmisja danych poprzez sieć z użyciem protokołów UDP oraz TCP.

Kamera wideo jako urządzenie przechwytujące obraz. Przykładowe SDK kamery, pokazanie możliwości nią sterowania. Biblioteka DirectX jako uniwersalne rozwiązanie pozwalające na pobierać wideo z dużej części kamer komunikujących się po USB i FireWire. Konwencje wołania funkcji języka C++ oraz sposoby przekazywania parametrów. Wybrane, najczęściej używane rozkazy asemblera. Tworzenie oprogramowania z wykorzystaniem technologii SSE2.Podstawowe operacje na grafice z wykorzystaniem interfejsu GDI, w tym fonty, palety, bitmapy. Możliwości GDI+. Idee leżące u podstaw DirectX, wybrane obiekty i struktury. Użycie asemblera w połączeniu z technologią MMX do przetwarzania obrazów. Podział pamięci komputerowej, rodzaje, wybrane parametry ją charakteryzujące. Pamięć fizyczna oraz pamięć wirtualna. Zarządzanie zasobami pamięci, przydzielanie, zwalnianie itp.. Dysk twardy, szybki zapis oraz odczyt danych z wykorzystaniem Windows API. Drivery do czego służą i gdzie są wykorzystywane. Sterowniki dla urządzeń rzeczywistych i wirtualnych. Struktura i zasada budowy driverów w Linuxie oraz Windowsie. Kompilator Microsoft a kompilator Intela, porównanie. Możliwości wspomnianych kompilatorów oraz wykorzystanie niestandardowych ich dyrektyw celem poprawy parametrów wynikowych modułów uruchamialnych.

Literatura:

1. A. Daniluk, „RS 232C – praktyczne programowanie. Od Pascala i C++ do Delphi i Buildera”,wydanie III, Helion

2. A. Daniluk, „USB Praktyczne programowanie z Windows API w C++”,Helion, 2009

3. R. Scrimger, P. LaSalle, C. Leitzke, M. Parihar, M. Gupta, „TCP/IP. Biblia”,Helion, 2002

4. S. Kruk, „Kurs programowania w języku Asembler - dla średnio zaawansowanych”, MIKOM, 2001

5. K. R. Fall, W. R. Stevens, "TCP/IP od środka. Protokoły", Wydanie II, Helion, 2013

6. D. Farbaniec, "Asembler. Programowanie", Helion, 2019

7. P. Yosifovich, A. Ionescu, M. E. Russinovich, D. A. Solomon, "Windows od środka. Architektura systemu, procesy, wątki, zarządzanie pamięcią i dużo więcej", Wydanie VII, Helion, 2018

Efekty uczenia się:

- Ma podstawową wiedzę w zakresie stosowania bibliotek systemowych w tworzonym oprogramowaniu. Zna postawy assemblera, potrafi tworzyć w nim proste procedury.

- Ma umiejętność samokształcenia i pogłębiania kwalifikacji w zakresie tworzenia oprogramowania wykorzystującego biblioteki niskopoziomowe

- Ma świadomość posiadanej wiedzy, umiejętność pracy samodzielnej oraz w zespole.

Metody i kryteria oceniania:

Ocena końcowa z przedmiotu jest średnią ważoną ocen uzyskanych z kolokwium przeprowadzonego zdalnie w formie testu jednokrotnego i wielokrotnego wyboru na platformie Microsoft Frames lub kolokwium pisanego w sali (waga - 0.4) oraz z projektu wykonanego indywidualnie przez studenta lub w przypadku złożonego projektu, w grupie nie większej niż trzyosobowa, w który w działaniu wykorzystuje elementy programowania niskopoziomowego(waga - 0.6).

Zajęcia w cyklu "rok akademicki 2023/2024 - sem. letni" (w trakcie)

Okres: 2024-02-19 - 2024-09-30
Wybrany podział planu:
Przejdź do planu
Typ zajęć:
Projekt, 15 godzin więcej informacji
Wykład, 15 godzin więcej informacji
Koordynatorzy: Sławomir Paśko
Prowadzący grup: Sławomir Paśko
Lista studentów: (nie masz dostępu)
Zaliczenie: Przedmiot - Ocena łączna
Projekt - Zaliczenie na ocenę
Wykład - Zaliczenie na ocenę

Zajęcia w cyklu "rok akademicki 2022/2023 - sem. letni" (zakończony)

Okres: 2023-02-20 - 2023-09-30
Wybrany podział planu:
Przejdź do planu
Typ zajęć:
Projekt, 15 godzin więcej informacji
Wykład, 15 godzin więcej informacji
Koordynatorzy: Sławomir Paśko
Prowadzący grup: Sławomir Paśko
Lista studentów: (nie masz dostępu)
Zaliczenie: Przedmiot - Ocena łączna
Projekt - Zaliczenie na ocenę
Wykład - Zaliczenie na ocenę

Zajęcia w cyklu "rok akademicki 2021/2022 - sem. letni" (zakończony)

Okres: 2022-02-23 - 2022-09-30
Wybrany podział planu:
Przejdź do planu
Typ zajęć:
Projekt, 15 godzin więcej informacji
Wykład, 15 godzin więcej informacji
Koordynatorzy: Sławomir Paśko
Prowadzący grup: Sławomir Paśko
Lista studentów: (nie masz dostępu)
Zaliczenie: Przedmiot - Ocena łączna
Projekt - Zaliczenie na ocenę
Wykład - Zaliczenie na ocenę

Zajęcia w cyklu "rok akademicki 2020/2021 - sem. letni" (zakończony)

Okres: 2021-02-20 - 2021-09-30
Wybrany podział planu:
Przejdź do planu
Typ zajęć:
Projekt, 15 godzin więcej informacji
Wykład, 15 godzin więcej informacji
Koordynatorzy: Sławomir Paśko
Prowadzący grup: Sławomir Paśko
Lista studentów: (nie masz dostępu)
Zaliczenie: Przedmiot - Ocena łączna
Projekt - Zaliczenie na ocenę
Wykład - Zaliczenie na ocenę

Zajęcia w cyklu "rok akademicki 2019/2020 - sem. letni" (zakończony)

Okres: 2020-02-22 - 2020-09-30
Wybrany podział planu:
Przejdź do planu
Typ zajęć:
Projekt, 15 godzin więcej informacji
Wykład, 15 godzin więcej informacji
Koordynatorzy: Sławomir Paśko
Prowadzący grup: Sławomir Paśko
Lista studentów: (nie masz dostępu)
Zaliczenie: Przedmiot - Ocena łączna
Projekt - Zaliczenie na ocenę
Wykład - Zaliczenie na ocenę

Zajęcia w cyklu "rok akademicki 2018/2019 - sem. letni" (zakończony)

Okres: 2019-02-18 - 2019-09-30
Wybrany podział planu:
Przejdź do planu
Typ zajęć:
Projekt, 15 godzin więcej informacji
Wykład, 15 godzin więcej informacji
Koordynatorzy: Sławomir Paśko
Prowadzący grup: Sławomir Paśko
Lista studentów: (nie masz dostępu)
Zaliczenie: Przedmiot - Ocena łączna
Projekt - Zaliczenie na ocenę
Wykład - Zaliczenie na ocenę
Opisy przedmiotów w USOS i USOSweb są chronione prawem autorskim.
Właścicielem praw autorskich jest Politechnika Warszawska.
pl. Politechniki 1, 00-661 Warszawa tel: (22) 234 7211 https://pw.edu.pl kontakt deklaracja dostępności USOSweb 7.0.2.0-2 (2024-03-29)