Politechnika Warszawska - Centralny System Uwierzytelniania
Nie jesteś zalogowany | zaloguj się
katalog przedmiotów - pomoc

Programowanie strukturalne

Informacje ogólne

Kod przedmiotu: 103A-ELxxx-ISP-PROS Kod Erasmus / ISCED: (brak danych) / (brak danych)
Nazwa przedmiotu: Programowanie strukturalne
Jednostka: Wydział Elektroniki i Technik Informacyjnych
Grupy: ( Programowanie )-Elektronika-inż.-EITI
( Przedmioty techniczne )---EITI
Punkty ECTS i inne: 4.00
Język prowadzenia: polski
Jednostka decyzyjna:

103000 - Wydział Elektroniki i Technik Informacyjnych

Kod wydziałowy:

PROS

Numer wersji:

1

Skrócony opis:

Celem przedmiotu jest pogłębienie wiedzy studentów na temat programowania strukturalnego, zaznajomienie ich ze składnią wybranych języków strukturalnych, a także nauka praktycznego wykorzystywania nabytej wiedzy implementacji rozwiązań problemów programistycznych w języku Python oraz C.

Pełny opis:

Opis wykładu:

  1. (2h) Struktury danych
    • przegląd struktur danych: tablica, lista, struktura mieszana,
    • abstrakcyjne typy danych: stos, kolejka, słownik,
    • przegląd narzędzi bibliotecznych: wektor, tablica, zbiór, słownik
    • pojęcie iteratora
  2. (4h) Język Python:
    • dokumenty PEP jako podstawowe źródło informacji
    • podstawowe typy i struktury danych
    • pojęcie funkcji: definiowane i wywołanie
    • praca z dokumentacją, styl kodowania
    • pojęcia modułów i pakietów
    • implementacja wybranych algorytmów
  3. (2h) Języki kompilowane i interpretowane
    • podstawowe zalety i wady
    • Just-in-time compilation
    • proces debugowania programu
  4. (16h) Język C:
    • preprocesor, proces kompilacji i konsolidacji
    • praca z dokumentacją, styl kodowania
    • podstawowe typy i struktury danych
    • instrukcje i wyrażenia
    • pojęcie wskaźnika wraz z arytmetyką
    • pojęcie funkcji: parametry i argumenty wywołania (sposoby przekazywania przez “wartość” i “adres”)
    • wykorzystywanie bibliotek programistycznych
    • implementacja wybranych algorytmów
  5. (2h) Rozszerzenia języka Python tworzone w języku C


Laboratorium:


  1. Rozwinięcie języka Python
    • (2h) zintegrowane środowisko programistyczne
      • Tworzenie środowiska wirtualnego
      • Tworzenie nowych projektów
      • Dodawanie istniejących źródeł do projektu
      • Budowanie, uruchamianie i debugowanie
      • Praca z managerem pakietów pip
    • (2h) podstawowe typy danych. Praca z listami, słownikami ciągami znaków
    • (2h) definiowanie funkcji, przekazywanie argumentów aktualnych do funkcji, zwracanie wartości, funkcje anonimowe, generatory
    • (2h) dekoratory funkcji
    • (2h) tworzenie własnych modułów i pakietów
  2. Język C
    • (2h) Obsługa kompilatora z poziomu konsoli – podstawowego opcje wywołania. Przebieg procesu kompilacji i konsolidacji – podstawowa diagnostyka błędów występujących w trakcie tego etapu. Wyszukiwanie błędów czasu wykonania 0 praca z debugerem: break point, praca krokowa, podgląd zawartości pamięci
    • (2h) podstawowe typy danych – wskazanie ograniczeń wynikających ze sposobu reprezentacji ich wartości. Pętle i instrukcje warunkowe. Operatory: arytmetyczne, relacyjne, logiczne, inkrementacji i priorytety ich wykonania. Konwersja typów – niebezpieczeństwa
    • (2h) pojęcie funkcji. Argumenty formalne i aktualne. Argumenty formalne funkcji main(). Sposoby przekazywania argumentów: przez wartość i przez adres. Rekurencja
    • (2h) tablice i łańcuchy. Wskaźniki i ich arytmetyka. Tablice wielowymiarowe. Przekazywanie tablic do funkcji.
    • (2h) Struktury i unie. Pola bitowe. Operatory bitowe
    • (2h) dynamiczna alokacja pamięci (funkcje malloc, calloc, realloc, free) Implementacja wybranego typu listy wiązanej (dodawanie i usuwanie elementów)
    • (2h) preprocesor i makrodefinicje
    • (2h) praca z projektami wielo-plikowymi – narzędzie make
    • (4h) trwożenie rozszerzeń dla Pythona w języku C, profiler
Literatura:

  1. Mark Lutz Python. Wprowadzenie. Wydanie IV
  2. Stephen Prata Język C. Szkoła programowania. Wydanie VI

Zajęcia w cyklu "rok akademicki 2021/2022 - sem. zimowy" (jeszcze nie rozpoczęty)

Okres: 2021-10-01 - 2022-02-20

Wybrany podział planu:


powiększ
zobacz plan zajęć
Typ zajęć: Laboratorium, 30 godzin, 150 miejsc więcej informacji
Wykład, 30 godzin, 150 miejsc więcej informacji
Koordynatorzy: Michał Borecki
Prowadzący grup: Maciej Linczuk, Arkadiusz Łuczyk
Lista studentów: (nie masz dostępu)
Zaliczenie: Ocena łączna
Jednostka realizująca:

103300 - Instytut Systemów Elektronicznych
103500 - Instytut Mikroelektroniki i Optoelektroniki

Opisy przedmiotów w USOS i USOSweb są chronione prawem autorskim.
Właścicielem praw autorskich jest Politechnika Warszawska.