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

Podstawy programowania

Informacje ogólne

Kod przedmiotu: 103B-TExxx-ISP-PRM Kod Erasmus / ISCED: (brak danych) / (brak danych)
Nazwa przedmiotu: Podstawy programowania
Jednostka: Wydział Elektroniki i Technik Informacyjnych
Grupy: ( Algorytmy i techniki programowania )-Elektronika, Telekomunikacja-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:

PRM

Numer wersji:

2

Skrócony opis:

Celem przedmiotu jest zapoznanie studentów z paradygmatem programowania strukturalnego. W ramach przedmiotu przekazywana będzie dobra praktyka programowania strukturalnego oraz umiejętność abstrakcji problemów i ich zapisu w języku programowania. W ramach laboratorium studenci nabywać będą sprawności w posługiwaniu się narzędziami wspomagającymi pracę programisty, a także ze środowiskiem systemu operacyjnego. Kontynuacją przedmiotu jest programowanie obiektowe.

Pełny opis:

Celem przedmiotu jest zapoznanie studentów z paradygmatem programowania strukturalnego. W ramach przedmiotu przekazywana będzie dobra praktyka programowania strukturalnego oraz umiejętność abstrakcji problemów i ich zapisu w języku programowania. W ramach laboratorium studenci nabywać będą sprawności w posługiwaniu się narzędziami wspomagającymi pracę programisty, a także ze środowiskiem systemu operacyjnego. Kontynuacją przedmiotu jest programowanie obiektowe.



Treść wykładu
Podstawowe pojęcia: algorytm, program, informatyka, programowanie. Narzędzia wspomagające programowanie. Pojęcie typu i wartości. Pierwszy program w języku C.
System operacyjny. System plików. Zasoby i ich ochrona. Procesy. Praca zdalna. Narzędzia ftp, telnet. Poczta elektroniczna.
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. Operatory arytmetyczne i przyrównania. Operator podstawienia. L-wartości.

Funkcja jako nazwany blok kodu. Pojęcie zmiennej lokalnej i globalnej. Przysłanianie zmiennych. Parametry formalne i aktualne: Instrukcja return. Niejawne rzutowania podczas uzgadniania parametrów formalnych i aktualnych oraz przy ustalaniu wartości zwracanej. Funkcje typu void.
Bloki kodu. Instrukcja if/else. Instrukcja switch - wielowejściowy blok kodu. Instrukcja break. Pojęcie iteracji. Instrukcje pętli: for, while, do/while. Instrukcja continue. Operatory post- i pre- inkrementacji/dekrementacji. Wyodrębnianie atomów leksykalnych. Priorytety i łączność operatorów. Operatory bitowe i ich relacja z opeatorami logicznymi.Tablica jako ponumerowany zbiór wartości tego samego typu. 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. Funkcja main z argumentami wywołania. Zasięg i "żywotność" zmiennych. Klasy zmiennych: static, auto, register, zmienne globalne. Deklaracja zmiennej jako extern.
Dynamiczna alokacja pamięci. Funkcje malloc i free. Patologie z użyciem dynamicznego przydziału pamięci: lokalna zmienna wskaźnikowa, podstawienie nowej wartości zmiennej wskaźnikowej Sterta. Stos (kolejka LIFO). Przykład alokacji tablicy wielowymiarowej. Struktura (struct) jako zbiór wartości z dostępem przez nazwę.
Wejście i wyjście w C. Pojęcie strumienia. Strumień jako kolejka FIFO. Demony. Strumienie plikowe. Tryby otwarcia: tekstowy i binarny. Synchronizacja zawartości strumienia i zawartości pliku. Preprocesor.
Elementy algorytmiki na podstawie metod sortowania.
Rekurencja: zastosowanie, sposób działania, ślad w pamięci operacyjnej.
Przekazywanie argumentów przez zmienną w innych językach programowania. Organizacja pamięci na stosie. Mechanizmy wywołań funkcji.



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


  • System plików, procesy, sposób uruchomiania programów (2h).
  • Edycja tekstu (2h).
  • Praca w sieci: narzędzia ftp, telnet, mail (2h).
  • Pierwszy program (2h).
  • Środowisko uruchomieniowe (2h).
  • Rozdanie tematów zadań i ich analiza; zakres tematyczny: podstawowe instrukcje sterujące i dekompozycja na funkcje (2h).
  • Implementacja programów (2h).
  • Testowanie i odbiór programów (2h).
  • Rozdanie tematów zadań i ich analiza; zakres tematyczny: złożone algorytmy i struktury danych (2h).
  • Weryfikacja specyfikacji wstępnej programu (2h).
  • Dekompozycja na funkcje i struktury danych (2h).
  • Implementacja funkcji (2h).
  • Podział kodu źródłowego na pliki (2h).
  • Uruchamianie i testowanie programów (2h).
  • Odbiór programów i dokumentacji (2h).




Przedmioty podobne
Kod przedmiotuNazwa przedmiotuDyskonto ECTS
103B-INxxx-ISP-PRIPodstawy programowania6

Literatura:

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

    2. Kernighan, B., Ritche, D.: Język ANSI C.
    3. Silvester, P.: System operacyjny unix.

Zajęcia w cyklu "rok akademicki 2019/2020 - sem. letni" (w trakcie)

Okres: 2020-02-22 - 2020-09-30
Wybrany podział planu:


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

103300 - Instytut Systemów Elektronicznych

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

Okres: 2019-10-01 - 2020-02-21
Wybrany podział planu:


powiększ
zobacz plan zajęć
Typ zajęć: Laboratorium, 30 godzin, 160 miejsc więcej informacji
Wykład, 30 godzin, 160 miejsc więcej informacji
Koordynatorzy: Marek Niewiński, Andrzej Podgórski
Prowadzący grup: Michał Borecki, Maciej Linczuk, Paweł Linczuk, Marek Niewiński, Andrzej Wojeński
Lista studentów: (nie masz dostępu)
Zaliczenie: Ocena łączna
Jednostka realizująca:

103500 - Instytut Mikroelektroniki i Optoelektroniki

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

Okres: 2019-02-18 - 2019-09-30
Wybrany podział planu:


powiększ
zobacz plan zajęć
Typ zajęć: Laboratorium, 30 godzin, 180 miejsc więcej informacji
Wykład, 30 godzin, 180 miejsc więcej informacji
Koordynatorzy: Daniel Paczesny
Prowadzący grup: Piotr Bobiński, Michał Borecki, Michał Gąska, Arkadiusz Gołaszewski, Maciej Jasiński, Marcin Lewandowski, Daniel Paczesny
Lista studentów: (nie masz dostępu)
Zaliczenie: Ocena łączna
Jednostka realizująca:

103600 - Instytut Telekomunikacji

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

Okres: 2018-10-01 - 2019-02-17
Wybrany podział planu:


powiększ
zobacz plan zajęć
Typ zajęć: Laboratorium, 30 godzin, 155 miejsc więcej informacji
Wykład, 30 godzin, 155 miejsc więcej informacji
Koordynatorzy: Marek Niewiński, Andrzej Podgórski
Prowadzący grup: Michał Borecki, Maciej Linczuk, Paweł Linczuk, Marek Niewiński, Andrzej Podgórski, Andrzej Wojeński
Lista studentów: (nie masz dostępu)
Zaliczenie: Ocena łączna
Jednostka realizująca:

103400 - Instytut Radioelektroniki i Technik Multimedialnych
103500 - Instytut Mikroelektroniki i Optoelektroniki

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

Okres: 2018-02-19 - 2018-09-30
Wybrany podział planu:


powiększ
zobacz plan zajęć
Typ zajęć: Laboratorium, 30 godzin, 180 miejsc więcej informacji
Wykład, 30 godzin, 180 miejsc więcej informacji
Koordynatorzy: Daniel Paczesny
Prowadzący grup: Piotr Bobiński, Michał Borecki, Maciej Jasiński, Rafał Krawczyk, Maciej Linczuk, Grzegorz Makarewicz, Grzegorz Nieradka, Daniel Paczesny
Lista studentów: (nie masz dostępu)
Zaliczenie: Ocena łączna
Jednostka realizująca:

103300 - Instytut Systemów Elektronicznych

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, 155 miejsc więcej informacji
Wykład, 30 godzin, 155 miejsc więcej informacji
Koordynatorzy: Marek Niewiński, Andrzej Podgórski
Prowadzący grup: (brak danych)
Lista studentów: (nie masz dostępu)
Zaliczenie: Ocena łączna
Jednostka realizująca:

103400 - Instytut Radioelektroniki i Technik Multimedialnych
103500 - Instytut Mikroelektroniki i Optoelektroniki

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

Okres: 2017-02-20 - 2017-09-30
Wybrany podział planu:


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

103300 - Instytut Systemów Elektronicznych

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, 150 miejsc więcej informacji
Wykład, 30 godzin, 150 miejsc więcej informacji
Koordynatorzy: Marek Niewiński, Andrzej Podgórski
Prowadzący grup: Marek Niewiński, Andrzej Podgórski
Lista studentów: (nie masz dostępu)
Zaliczenie: Ocena łączna
Jednostka realizująca:

103400 - Instytut Radioelektroniki i Technik Multimedialnych
103500 - Instytut Mikroelektroniki i Optoelektroniki

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

Okres: 2016-02-23 - 2016-09-30
Wybrany podział planu:


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

103300 - Instytut Systemów Elektronicznych

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, 180 miejsc więcej informacji
Wykład, 30 godzin, 180 miejsc więcej informacji
Koordynatorzy: Marek Niewiński, Andrzej Podgórski
Prowadzący grup: Marek Niewiński, Andrzej Podgórski
Lista studentów: (nie masz dostępu)
Zaliczenie: Ocena łączna
Jednostka realizująca:

103400 - Instytut Radioelektroniki i Technik Multimedialnych
103500 - Instytut Mikroelektroniki i Optoelektroniki

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

Okres: 2015-02-23 - 2015-09-30
Wybrany podział planu:


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

103300 - Instytut Systemów Elektronicznych

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, 165 miejsc więcej informacji
Wykład, 30 godzin, 165 miejsc więcej informacji
Koordynatorzy: Marek Niewiński, Andrzej Podgórski
Prowadzący grup: Marek Niewiński, Andrzej Podgórski
Lista studentów: (nie masz dostępu)
Zaliczenie: Ocena łączna
Jednostka realizująca:

103400 - Instytut Radioelektroniki i Technik Multimedialnych
103500 - Instytut Mikroelektroniki i Optoelektroniki

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

Okres: 2014-02-24 - 2014-09-28
Wybrany podział planu:


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

103300 - Instytut Systemów Elektronicznych

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, 160 miejsc więcej informacji
Wykład, 30 godzin, 160 miejsc więcej informacji
Koordynatorzy: Michał Borecki, Andrzej Podgórski
Prowadzący grup: Michał Borecki, Andrzej Podgórski
Lista studentów: (nie masz dostępu)
Zaliczenie: Ocena łączna
Jednostka realizująca:

103400 - Instytut Radioelektroniki i Technik Multimedialnych
103500 - Instytut Mikroelektroniki i Optoelektroniki

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

Okres: 2013-02-20 - 2013-09-30
Wybrany podział planu:


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

103300 - Instytut Systemów Elektronicznych

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, 143 miejsc więcej informacji
Wykład, 30 godzin, 143 miejsc więcej informacji
Koordynatorzy: Michał Borecki, Andrzej Podgórski
Prowadzący grup: Michał Borecki, Andrzej Podgórski
Lista studentów: (nie masz dostępu)
Zaliczenie: Ocena łączna
Jednostka realizująca:

103400 - Instytut Radioelektroniki i Technik Multimedialnych
103500 - Instytut Mikroelektroniki i Optoelektroniki

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