Nazwa przedmiotu:
Programowanie niskopoziomowe
Koordynator przedmiotu:
dr inż. Sławomir Paśko
Status przedmiotu:
Obowiązkowy
Poziom kształcenia:
Studia I stopnia
Program:
Automatyka i Robotyka
Grupa przedmiotów:
Obowiązkowe
Kod przedmiotu:
brak
Semestr nominalny:
6 / rok ak. 2013/2014
Liczba punktów ECTS:
3
Liczba godzin pracy studenta związanych z osiągnięciem efektów uczenia się:
1) Liczba godzin bezpośrednich (32h): a) Wykład: 15h b) Projekt: 15h c) Konsultacje: 2h 2) Liczba godzin pracy własnej studenta (20h): a) Przygotowanie do dwóch testów: 20h b) Przygotowanie do zajęć projektowych: 15 h c) Samodzielne wykonanie projektu: 20h Razem: 87h (3 ECTS)
Liczba punktów ECTS na zajęciach wymagających bezpośredniego udziału nauczycieli akademickich:
1 punkt ECTS - liczba godzin bezpośrednich (32h): a) Wykład: 15h b) Projekt: 15h c) Konsultacje: 2h
Język prowadzenia zajęć:
polski
Liczba punktów ECTS, którą student uzyskuje w ramach zajęć o charakterze praktycznym:
1 punkt ECTS - 35h, w tym: a) Projekt: 15h b) Samodzielne wykonanie projektu: 20h
Formy zajęć i ich wymiar w semestrze:
  • Wykład225h
  • Ćwiczenia0h
  • Laboratorium0h
  • Projekt225h
  • Lekcje komputerowe0h
Wymagania wstępne:
Wymagana biegła umiejętność programowania w języku C, C++ lub Java
Limit liczby studentów:
Cel przedmiotu:
Przygotowanie studenta do tworzenia oprogramowania współdziałającego bezpośrednio z systemem operacyjnym za pośrednictwem jego API
Treści kształcenia:
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.
Metody oceny:
Ocena końcowa z przedmiotu jest średnią ważoną ocen uzyskanych z kolokwium przeprowadzonego w formie ustnej lub pisemnej (waga - 0.4) oraz z projektu (waga - 0.6).
Egzamin:
tak
Literatura:
1. Andrzej Daniluk, „RS 232C – praktyczne programowanie. Od Pascala i C++ do Delphi i Buildera”,wydanie III, Helion 2. Andrzej Daniluk, „USB Praktyczne programowanie z Windows API w C++”,Helion, 2009 3. Rob Scrimger, Paul LaSalle, Clay Leitzke, Mridula Parihar, Meeta Gupta, „TCP/IP. Biblia”,Helion, 2002 4. Stanisław Kruk, „Kurs programowania w języku Asembler - dla średnio zaawansowanych”, MIKOM, 2001
Witryna www przedmiotu:
Uwagi:

Efekty uczenia się

Profil ogólnoakademicki - wiedza

Efekt Wpisz opis
Wpisz opis
Weryfikacja: Wpisz opis
Powiązane efekty kierunkowe: K_W05, K_W06
Powiązane efekty obszarowe: T1A_W02, T1A_W04, T1A_W03, T1A_W07

Profil ogólnoakademicki - umiejętności

Efekt Wpisz opis
Wpisz opis
Weryfikacja: Wpisz opis
Powiązane efekty kierunkowe: K_U08, K_U09
Powiązane efekty obszarowe: T1A_U09, T1A_U09