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

Języki programowania

Informacje ogólne

Kod przedmiotu: 103A-IBxxx-ISP-JP Kod Erasmus / ISCED: (brak danych) / (brak danych)
Nazwa przedmiotu: Języki programowania
Jednostka: Wydział Elektroniki i Technik Informacyjnych
Grupy: ( Podstawy informatyki )-Inżynieria biomedyczna-inż.-EITI
( Przedmioty techniczne )---EITI
Punkty ECTS i inne: 6.00
Język prowadzenia: polski
Jednostka decyzyjna:

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

Kod wydziałowy:

JP

Numer wersji:

1

Skrócony opis:

Celem przedmiotu jest przekazanie słuchaczom zasad konstruowania programów w językach strukturalnych i obiektowych. Języki strukturalne zostaną omówione na przykładzie języka C a języki obiektowe na przykładzie C++. Omówione zostaną zasady programowania strukturalnego, podział kodu programu na funkcje, umiejętność abstrakcji problemów i ich zapisu w języku C. Omówiona zostanie składania języka C, typy złożone, tablice, struktury i unie oraz wskaźniki. Przedstawione zostaną paradygmaty programowania obiektowego, kapsułkowanie, polimorfizm i dziedziczenie. Omówiona zostanie składnia języka C++, referencje, przedefiniowywanie funkcji, konstruktory i destruktory, dziedziczenie, funkcje wirtualne oraz szablony. W ramach laboratorium studenci nabędą umiejętność tworzenia programów narzędziowych z graficznym interfejsem użytkownika.

Pełny opis:

Celem przedmiotu jest przekazanie słuchaczom zasad konstruowania programów w językach
strukturalnych i obiektowych. Języki strukturalne zostaną omówione na przykładzie języka C
a języki obiektowe na przykładzie C++.
Omówione zostaną zasady programowania strukturalnego, podział kodu programu na
funkcje, umiejętność abstrakcji problemów i ich zapisu w języku C. Omówiona zostanie
składania języka C, typy złożone, tablice, struktury i unie oraz wskaźniki.
Przedstawione zostaną paradygmaty programowania obiektowego, kapsułkowanie,
polimorfizm i dziedziczenie. Omówiona zostanie składnia języka C++, referencje,
przedefiniowywanie funkcji, konstruktory i destruktory, dziedziczenie, funkcje wirtualne oraz
szablony.
W ramach laboratorium studenci nabędą umiejętność tworzenia programów narzędziowych z graficznym interfejsem użytkownika.


Treść wykładu

  1. Podstawowe pojęcia: algorytm, program. Stałe: typ i wartość. Zmienne: typ, wartość, nazwa. Typy podstawowe języka C. Niejawne rzutowanie typów. Pojecie deklaracji i definicji zmiennej. 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. (3h)

  2. Blok kodu, funkcja. Funkcja main z argumentami wywołania. Zmienna lokalna i globalna. Zasięg i "żywotność" zmiennych. Klasy zmiennych: static, auto, register, zmienne globalne. Deklaracja zmiennej jako extern. Instrukcja warunkowa if/else, switch. Instrukcja break. Instrukcje iteracyjne: for, while, do/while. Instrukcja continue. (3h)

  3. Tablica. Struktura, unia. Instrukcja typedef. Pojęcie wskaźnika. Tablice a 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. Lista dowiązaniowa dwukierunkowa. (3h)

  4. Wejście i wyjście w C. Obsługa plików. Tryby otwarcia: tekstowy i binarny. Synchronizacja zawartości strumienia i zawartości pliku. Preprocesor. (3h)

  5. Sprawdzian 1(1h)

  6. Podstawowe pojęcia: klasa, obiekt, kapsułkowanie, dziedziczenie. Paradygmat projektowania obiektowego. Zasady dostępu w klasie: pola prywatne i publiczne. Kontekst wprowadzany przez klasę. Konstruktory i destruktory. Konstruktor kopiujący. (3h)

  7. Zasadnicze rozszerzenia w stosunku do C. Referencja i wskaźnik. Modyfikator const. Identyfikacja funkcji przez nagłówek. Przeciążanie funkcji. Przeciążanie operatorów. Domyślne wartości parametrów formalnych. (2h)

  8. Strumieniowe wejście/wyjście. Funkcje i klasy zaprzyjaźnione.

  9. Wyjątki: sposób zgłaszania i przechwytywania, dziedziczenie wyjątków. (3h)

  10. Dziedziczenie. Dziedziczenie wielokrotne klasy bazowej. Zasady dostępu do pól klasy bazowej. Sposób realizacji dziedziczenia. Wirtualne dziedziczenie. Wirtualne metody.
    Szablony. Standardowa biblioteka klas szablonowych. (5h)

  11. Graficzny interfejs użytkownika. Systemy "okienkowe". Obsługa urządzeń graficznych na przykładzie wybranej biblioteki. (3h)

  12. Sprawdzian 2 (1h)



  13. Zakres laboratorium
    Laboratorium wprowadza umiejętność samodzielnego pisania, uruchamiania, testowania i dokumentacji oprogramowania.

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

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

    3. Implementacja listy dowiązaniowej. (6h)

    4. Wybrany algorytm sortowania. (4h)

    5. Konstruktory i destruktory. (2h)

    6. Klasa z operatorami. (4h)
    7. Dziedziczenie. Klasa abstrakcyjna. (6h)

    8. Wzorce. Klasy kontenery. Wykorzystanie biblioteki STL. (6h)


      Zakres projektu
      W ramach projektu studenci wykonują jeden program obejmujący wykorzystanie
      zaawansowanej struktury danych, obsługi plików i graficznego interfejsu użytkownika.

Literatura:

    1. Wirth, N.: Algorytmy + struktury danych = programy.

    2. Kernighan,B., Ritche, D.: Język ANSI C.

    3. Stroustrup, B.: Język C++.

    4. Lippmann, A.: Programowanie obiektowe.

    5. Silvester, P.: System operacyjny unix.

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
Projekt, 15 godzin, 90 miejsc więcej informacji
Wykład, 30 godzin, 90 miejsc więcej informacji
Koordynatorzy: Waldemar Smolik
Prowadzący grup: (brak danych)
Lista studentów: (nie masz dostępu)
Zaliczenie: Ocena łączna
Jednostka realizująca:

103400 - Instytut Radioelektroniki i Technik Multimedialnych

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

Okres: 2016-10-01 - 2017-02-19
Wybrany podział planu:


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

103400 - Instytut Radioelektroniki i Technik Multimedialnych

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

Okres: 2015-10-01 - 2016-02-22
Wybrany podział planu:


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

103400 - Instytut Radioelektroniki i Technik Multimedialnych

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

Okres: 2014-09-29 - 2015-02-22
Wybrany podział planu:


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

103400 - Instytut Radioelektroniki i Technik Multimedialnych

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

Okres: 2013-10-01 - 2014-02-23
Wybrany podział planu:


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

103400 - Instytut Radioelektroniki i Technik Multimedialnych

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

Okres: 2012-10-01 - 2013-02-19
Wybrany podział planu:


powiększ
zobacz plan zajęć
Typ zajęć: Laboratorium, 30 godzin, 63 miejsc więcej informacji
Projekt, 15 godzin, 63 miejsc więcej informacji
Wykład, 30 godzin, 63 miejsc więcej informacji
Koordynatorzy: Waldemar Smolik
Prowadzący grup: Waldemar Smolik
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.