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

Podstawy technik informacyjnych

Informacje ogólne

Kod przedmiotu: 103B-IBxxx-ISP-PTIB Kod Erasmus / ISCED: (brak danych) / (brak danych)
Nazwa przedmiotu: Podstawy technik informacyjnych
Jednostka: Wydział Elektroniki i Technik Informacyjnych
Grupy: ( Podstawy informatyki )-Inżynieria biomedyczna-inż.-EITI
( Przedmioty techniczne )---EITI
Inżynieria Biomedyczna studia I stopnia sem. 1
Punkty ECTS i inne: 4.00
Język prowadzenia: polski
Jednostka decyzyjna:

103000 - Wydział Elektroniki i Technik Informacyjnych
114000 - Wydział Mechatroniki

Kod wydziałowy:

PTIB

Numer wersji:

2

Skrócony opis:

Celem przedmiotu jest zapoznanie studentów z podstawami programowania strukturalnego i algorytmiki. Dodatkowo w ramach przedmiotu przedstawiane są podstawy systemu operacyjnego UNIX (na przykładzie systemu GNU/Linux) niezbędne do pracy w tym systemie w ramach laboratoriów. W zakresie podstaw programowania oczekuje się opanowania przez studentów procesu przejścia z opisu rzeczywistego zadania przez abstrakcyjny opis algorytmu na jego zapis formalny w języku C. Student posiądzie wiedzę i umiejętności w zakresie podstaw tworzenia algorytmów oraz praktycznego wykorzystania języka programowania na wybranych, elementarnych przykładach. Wybór języka C podyktowany jest tym, że stanowi on podstawę wielu języków wyższego poziomu, a także jest szeroko wykorzystywany w technice mikroprocesorowej. Bazowym standardem dla wykładu jest wersja C99.

Pełny opis:

Celem przedmiotu jest zapoznanie studentów z podstawami programowania strukturalnego i algorytmiki.
Dodatkowo w ramach przedmiotu przedstawiane są podstawy systemu operacyjnego UNIX (na
przykładzie systemu GNU/Linux) niezbędne do pracy w tym systemie w ramach laboratoriów. W
zakresie podstaw programowania oczekuje się opanowania przez studentów procesu przejścia z opisu
rzeczywistego zadania przez abstrakcyjny opis algorytmu na jego zapis formalny w języku C. Student
posiądzie wiedzę i umiejętności w zakresie podstaw tworzenia algorytmów oraz praktycznego
wykorzystania języka programowania na wybranych, elementarnych przykładach. Wybór języka C
podyktowany jest tym, że stanowi on podstawę wielu języków wyższego poziomu, a także jest szeroko
wykorzystywany w technice mikroprocesorowej. Bazowym standardem dla wykładu jest wersja C99.

Treść wykładu


  1. Wprowadzenie do systemu UNIX (4h)


    • Zapoznanie się ze środowiskiem UNIX - procesy, uruchamianie i zatrzymywanie programów, separacja użytkowników, organizacja systemu plików.

    • Podstawowe polecenia konsoli w zakresie obsługi plików, obsługi potoków i komunikacji sieciowej.

  2. Programowanie strukturalne w języku C (24h)

    • Podstawowe pojęcia: algorytm, program. Przekładanie opisu rzeczywistości na algorytm komputerowy. Określenie złożoności obliczeniowej algorytmów na wybranych przykładach. Algorytmy iteracyjne i rekurencyjne.

    • Proces przetwarzania tekstu programu na postać zrozumiałą dla maszyny - preprocessing, kompilacja i konsolidacja. Zarządzanie kodem programu.

    • Podstawy leksyki i gramatyki języka C. Stałe: typ i wartość. Zmienne: typ, wartość, nazwa. Typy podstawowe języka C. Niejawne rzutowanie typów. Pojęcie deklaracji i definicji zmiennej (klasa extern). Wyrażenia i instrukcje. Priorytety i łączność operatorów. Operatory arytmetyczne i przyrównania. Operator podstawienia. L-wartości.Operatory post- i pre-inkrementacji, dekrementacji. Operatory bitowe i logiczne.

    • Blok kodu, funkcja. Zmienna lokalna i globalna. Zasięg i "żywotność" zmiennych. Klasy zmiennych: static, auto, register. Instrukcja języka C - warunkowa if/else, switch. Instrukcja break. Instrukcje iteracyjne: for, while, do/while. Instrukcja continue.

    • Tablica. Struktura, unia. Instrukcja typedef. Pojęcie wskaźnika. Tablice i wskaźniki. "Typ" łańcuchowy. Operatory referencji i dereferencji. Arytmetyka wskaźników. Rzutowanie wskaźników. Przekazywanie argumentu funkcji przez wskazanie. Przekazywanie tablicy do funkcji. Dynamiczna alokacja pamięci. Funkcje malloc i free.
      Wejście i wyjście w C. Obsługa plików. Synchronizacja zawartości strumienia i zawartości pliku.

    • Algorytmy i struktury danych: lista dowiązaniowa, sortowanie, drzewo, algorytmy matematyczne.

  3. Sprawdziany (2h)




Zakres laboratorium

  1. Wprowadzenie do systemu UNIX. (4h)

  2. System plików, procesy, sposób uruchamiania programów. Edycja tekstu. (2h)

  3. Pierwszy program. Środowisko uruchomieniowe. Podział kodu na fragmenty. Zarządzanie kompilacją i konsolidacją. Narzędzie make. (2h)

  4. Implementacja prostych zadań programistycznych. (2h)

  5. Debugger - uruchamianie, wyszukiwanie błędów i analiza działania programów. (4h)

  6. Implementacja prostych zadań programistycznych. (4h)

  7. Struktury, implementacja listy dowiązaniowej, dynamiczne zarządzanie pamięcią. (4h)

  8. Implementacja wybranego algorytmu (np. sortowania, drzewa poszukiwań, struktury słownikowej). (4h)

  9. Sprawdzian praktyczny. (2h)


Przedmioty podobne
Kod przedmiotuNazwa przedmiotuDyskonto ECTS
103B-TExxx-ISP-PRMPodstawy programowania2

Literatura:


  • B.W. Kernighan, D.M. Ritchie, J.zyk ANSI C Wydanie 2, Helion, Warszawa, 2010.

  • Clovis L. Tondo, Scott E. Gimpel, Język ANSI C. Programowanie. Ćwiczenia. Wydanie II, Helion, 2010.

  • Stephen Prata, Język C. Szkoła programowania. Wydanie VI, Helion, 2016.

  • Richard Reese, Wskaźniki w języku C. Przewodnik, Helion, 2014.

  • Robert Sedgewick, Kevin Wayne, Algorytmy. Wydanie IV, Helion, 2012.

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

Okres: 2017-10-01 - 2018-02-18
Wybrany podział planu:


powiększ
zobacz plan zajęć
Typ zajęć: Laboratorium, 30 godzin, 90 miejsc więcej informacji
Wykład, 30 godzin, 90 miejsc więcej informacji
Koordynatorzy: Robert Kurjata
Prowadzący grup: Robert Kurjata
Lista studentów: (nie masz dostępu)
Zaliczenie: Ocena łączna
Jednostka realizująca:

103400 - Instytut Radioelektroniki i Technik Multimedialnych

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