Stacjonarne Czas trwania: semestr 3 Przedmiot: kierunkowy



Pobieranie 40.75 Kb.
Data02.05.2016
Rozmiar40.75 Kb.
Kierunek: Informatyka

Przedmiot: Programowanie niskopoziomowe

Studia: stacjonarne

Czas trwania: semestr 3

Przedmiot: kierunkowy

Język wykładowy: polski




Rodzaj zajęć

Prowadzący

Liczba godzin

Tryb zaliczania

Punkty ECTS

Wykład

dr hab. inż. Aleksandr Timofiejew

21

zaliczenie na ocenę

5

Laboratorium

dr hab. inż. Aleksandr Timofiejew

24

POZIOM


Warunkiem dopuszczenia do udziału w zajęciach jest wcześniejsze uzyskanie zaliczenia z następujących przedmiotów:

  • Architektura komputerów

  • Podstawy programowania

lub znajomość literatury z tych przedmiotów.

ZAŁOŻENIA I CELE

Fragmenty ze Standardów kształcenia inżynierów kierunku "Informatyka" dotyczące programowania niskopoziomowego:



3. Kształcenie w zakresie architektury systemów komputerowych

Treści kształcenia: ... Maszynowa reprezentacja danych i realizacji operacji arytmetycznych. Organizacja komputera na poziomie asemblera...

Efekty kształcenia – umiejętności i kompetencje: ... pisanie prostych programów na

poziomie asemblera z użyciem instrukcji warunkowych, pętli, operacji na liczbach całkowitych, tablic.


Celem głównym wykładu jest pogłębienie wiedzy w zakresie zasad działania i architektury systemów komputerowych oraz zapoznanie z asemblerami. Rozwiniętymi celami szczegółowymi są następujące umiejętności:

  • Posługiwanie się językiem asemblera.

  • Programowanie operacji na danych pojedynczych oraz na tablicach, w tym z użyciem instrukcji warunkowych, pętli.

  • Programowanie wstawek asemblerowych w języku wysokiego poziomu.

  • Programowanie aplikacji działających w trybach konsolowym oraz graficznym.

Zajęcia laboratoryjne mają na celu nabycie praktycznych umiejętności w programowaniu w językach asemblerów. Rozwiniętymi celami szczegółowymi są następujące umiejętności praktyczne:




  • Posługiwanie się językiem asemblera MASM.

  • Programowanie operacji w języku asemblera.

  • Programowanie aplikacji działających w trybie konsolowym oraz graficznym.

  • Napisanie wstawki asemblerowej

WYKŁAD


  1. Podstawy języka asemblera - 2 g.

  • rola i znaczenie asemblerów,

  • narzędzia programowania (asembler, konsolidator (linker), organizator (maker) i wykrywacz usterek (debugger)),

  • tworzenie programu w języku asemblera,

  • reguły zapisu programu w języku asemblera

  1. Systemy komputerowe (komputery) na bazie procesorów firmy Intel - 2 g.

  1. Język Macro Assembler (MASM) - 2 g.

  • elementy języka asemblera MASM,

  • instrukcje,

  • wyrażenia,

  • alokacja (rozmieszczenie) danych

  1. Język Macro Assembler (MASM) (c.d.) - 2 g.

  • dyrektywy segmentowe,

  • wskaźnik pozycji,

  • podprogramy,

  • makrodefinicje

  1. Programowanie operacji - 2 g.

  • przesyłanie danych,

  • porównania, skoki i pętle,

  • operacje arytmetyczne i bitowe,

  • manipulacja znacznikami

  1. Stosowanie jednostki zmiennoprzecinkowej - 2 g.

  • alokacja i przesyłanie danych,

  • operacje arytmetyczne,

  • operacje trygonometryczne,

  • operacje porównania

  1. Stosowanie jednostki MMX - 2 g.

  • pakowanie danych,

  • operacje arytmetyczne,

  • operacje porównawcze,

  • operacje bitowe

  1. Programowanie z zastosowaniem funkcji API Win32 - 2 g.

  • funkcje API Win32,

  • programowanie aplikacji konsolowej,

  • operacje na wierszach,

  • operacje na plikach

  1. Programowanie aplikacji graficznych - 2 g.

  • współdziałanie aplikacji graficznej z systemem Windows,

  • procedura okna

  1. Programowanie aplikacji graficznych (c.d.) - 2 g.

  • standardowe obiekty graficzne,

  • kontekst urządzenia,

  • korzystanie z zasobów

  1. Programowanie wstawek asemblerowych w języku C (C++) - 1 g.

  • wstawki asemblerowe w języku C (C++),

  • wywoływanie w języku C (C++) funkcji napisanych w języku asemblera,

  • wywoływanie w asemblerze funkcji napisanych w języku C (C++)


ZALICZENIE WYKŁADU


Przedmiot kończy się zaliczeniem na ocenę, za które można uzyskać maksymalnie 100 punktów. Ocena końcowa z zaliczenia na ocenę, w zależności od liczby uzyskanych punktów może być następująca (w nawiasach ocena wg skali ECTS):


Zakres

Ocena

Zakres

Ocena

0-50 pkt.

ndst (F)

71-80 pkt.

db (C)

51-60 pkt.

dst (E)

81-90 pkt.

db+ (B)

61-70 pkt.

dst+ (D)

91-100 pkt.

bdb (A)



LABORATORIUM


Zajęcie laboratoryjne zajmuje 2 godziny akademickie. Na każdym ćwiczeniu sporządza się sprawozdanie na bazie materiałów ćwiczenia. Bazowa zawartość sprawozdania musi być przygotowana w domu przed ćwiczeniem (sprawozdanie do ćwiczenia pierwszego jest przygotowywane w czasie ćwiczenia). W czasie ćwiczenia do sprawozdania są dodawane wyniki testowania. Nazwa pliku ze sprawozdaniem musi zawierać numer ćwiczenia i nazwisko studenta. Pliki ze sprawozdaniem są przekazywane do archiwum grupy.


  1. Tworzenie i uruchamianie programów asemblerowych - 2 g.

  • przejście do trybu konsolowego,

  • kompilacja, opcje kompilatora,

  • konsolidacja, opcje konsolidatora,

  • opracowanie aplikacji konsolowej

  1. Zarządzanie danymi - 2 g.

  • przesyłanie danych,

  • praca z łańcuchami,

  • operacje na stosie

  • tryby adresowania

  1. Instrukcje arytmetyczne i logiczne - 2 g.

  1. Sterowanie przebiegiem wykonania programu - 2 g.

  • porównania i skoki warunkowe,

  • pętle

  1. Podprogramy i makrodefinicje - 2 g.

  • podprogramy,

  • makrodefinicje

  1. Operacje na plikach i katalogach - 2 g.

  • tworzenie plików i katalogów,

  • otwieranie i zapisywanie,

  • ustawianie atrybutów plików

  1. Obsługa sprzętu - 2 g.

  1. Koprocesor i jednostka MMX (Manager Memory Extended) - 2 g.

  • instrukcje koprocesora,

  • sprawdzanie na obecność jednostki MMX,

  • instrukcje MMX

  1. Tryb graficzny w systemie Windows - 2 g.

  • tworzenie okna,

  • przewinięcie okna,

  • obiekty graficzne,

  1. Korzystanie z zasobów - 2 g.

  • ikony, kursory, bitmapy,

  • ciągi znaków,

  • okna dialogowe i menu

  1. Współpraca asemblera i C++ - 2 g.

  • wstawki asemblerowe w programie napisanym w języku C++,

  • wywoływanie w języku C++ funkcji napisanych w języku asemblera,

  • wywoływanie w asemblerze funkcji napisanych w języku C++

  1. Biblioteki dynamiczne (DLL) - 2 g.

  • tworzenie biblioteki,

  • łączenie z biblioteką,

  • wywołanie funkcji bibliotecznej


ZALICZENIE LABORATORIUM


Zajęcia laboratoryjne są obowiązkowe. Trzy nieusprawiedliwione nieobecności na zajęciach wykluczają możliwość ich zaliczenia. Wszystkie zajęcia laboratoryjne (za wyjątkiem pierwszego) są oceniane. Zaliczenie zajęć laboratoryjnych następuje na podstawie ocen cząstkowych uzyskanych za poszczególne zajęcia oraz obronionego zadania indywidualnego.
Na każdych ćwiczeniach prowadzący podaje zakres zadań dla studentów do przygotowania na następne zajęcia (o charakterze praktycznym lub teoretycznym) i wytyczne do ich realizacji. Przygotowanie do zajęć oraz realizacja zadań każdego ćwiczenia są oceniane w skali od 0 do 10 pkt. Łącznie student za 12 zajęć może uzyskać od 0 do 120 pkt.

Zadanie indywidualne dotyczy opracowania aplikacji konsolowych lub graficznych implementujących algorytmy sortowania i tworzenia struktur danych w plikach lub tablicach.

Temat i zakres zadania indywidualnego student otrzymuje najpóźniej na trzecim zajęciu. Za zadanie może on otrzymać ocenę punktową mieszczącą się w zakresie 0 - 80 pkt. Zaliczenie zadania następuje po uzyskaniu, co najmniej 41 pkt. i jest możliwe najpóźniej na ostatnim zajęciu. Jest ono także warunkiem koniecznym do uzyskania zaliczenia ćwiczeń laboratoryjnych.


Łączna ocena punktowa zajęć laboratoryjnych jest sumą punktów uzyskanych za poszczególne zajęcia oraz za zadanie indywidualne i zawiera się w granicach
0-200 pkt. Ocena końcowa ćwiczeń zależy od sumy uzyskanych punktów i wynosi (w nawiasach ocena wg skali ECTS):


    Zakres

    Ocena

    Zakres

    Ocena

    0-100 pkt.

    ndst (F)

    141-160 pkt.

    db (C)

    101-120 pkt.

    dst (E)

    161-180 pkt.

    db+ (B)

    121-140 pkt.

    dst+(D)

    181-200 pkt.

    bdb (A)


LITERATURA:


  1. Timofiejew A., Praktyczny kurs programowania w językach asemblerów. Wyd. Akademii Podlaskiej, Siedlce, 2010.

  2. Pirogov V., Asembler. Podręcznik programisty, Wydawnictwo HELION, 2005, ISBN 83-7361-797-3.

  3. Kip R. Irvine, Asembler dla procesorów INTEL. Vademecum profesjonalisty. Warszawa: Wydawnictwo HELION, 2003, ISBN 83-7197-970-X

  4. Eugeniusz Wróbel. Praktyczny kurs asemblera. Wydawnictwo Helion 2004, ISBN 83-7361-433-8

  5. Metzger P., Anatomia PC, wyd. VIII, Helion, 2003

  6. Florek J.: Systemy komputerowe. Wyd. Akademii Podlaskiej, Siedlce 2001





©absta.pl 2019
wyślij wiadomość

    Strona główna