Nazwa przedmiotu:
Zasady programowania strukturalnego II
Koordynator przedmiotu:
dr inż. Maciej Przybylski
Status przedmiotu:
Obowiązkowy
Poziom kształcenia:
Studia I stopnia
Program:
Automatyka Robotyka i Informatyka Przemysłowa
Grupa przedmiotów:
Obowiązkowe
Kod przedmiotu:
ZAPIIst
Semestr nominalny:
2 / rok ak. 2020/2021
Liczba punktów ECTS:
3
Liczba godzin pracy studenta związanych z osiągnięciem efektów uczenia się:
1) Liczba godzin kontaktowych: 20 godz., w tym: • projektowanie w pracowni komputerowej - 15 godz. • konsultacje - 5 godz. Praca własna studenta – 60 godz., w tym: • studia literaturowe - 10 godz. • opracowanie projektu poza pracownią - 35 godz. • opracowanie dokumentacji projektu - 15 godz. Razem: 80 godz. (3 ECTS)
Liczba punktów ECTS na zajęciach wymagających bezpośredniego udziału nauczycieli akademickich:
1 punkt ECTS - liczba godzin kontaktowych: 20 godz., w tym: • projektowanie w pracowni komputerowej - 15 godz. • konsultacje - 5 godz.
Język prowadzenia zajęć:
polski
Liczba punktów ECTS, którą student uzyskuje w ramach zajęć o charakterze praktycznym:
3 punkty ECTS – 75 godz., w tym: • obecność na zajęciach - 15 godz. • projektowania poza pracownią - 45 godz. • dokumentowanie projektu - 15 godz.
Formy zajęć i ich wymiar w semestrze:
  • Wykład0h
  • Ćwiczenia0h
  • Laboratorium0h
  • Projekt15h
  • Lekcje komputerowe0h
Wymagania wstępne:
Zaliczony (wskazane) przedmiot: Zasady programowania strukturalnego I.
Limit liczby studentów:
max. 15 studentów
Cel przedmiotu:
Nauka logicznego, algorytmicznego myślenia przy rozwiązywaniu problemów inżynierskich. Praktyczne wykorzystanie w programowaniu strukturalnym poznanych złożonych dynamicznych struktur danych: list, drzew i grafów. Zdobycie umiejętności tworzenia złożonych programów wraz z tworzeniem bibliotek funkcji definiowanych we własnych modułach. Wprowadzenie do programowania zorientowanego obiektowo, w tym wizualno-obiektowego.
Treści kształcenia:
Indywidualne projekty są realizowane w języku C/C++. W tworzonej aplikacji wymagane jest: 1) wprowadzanie i/lub zapisywanie danych do programu z wykorzystaniem typu plikowego, 2) struktura danych do projektu musi też wykorzystywać: tablice dynamiczne, listy, drzewa lub grafy, 3) aplikacja musi mieć budowę modułową i funkcje programu muszą być umieszczane w utworzonych dla niej bibliotekach. Aplikacja musi być udokumentowana i testowana. Wprowadzenie do programowania wizualno-obiektowego obejmuje: definicję typu, definicje obiektów i metod, dziedziczenie i poliformizm, typowe komponenty wizualne oraz podstawy pisania aplikacji wizualnych.
Metody oceny:
ZALICZENIE Ocena zaliczająca przedmiot jest ustalana na podstawie projektu indywidualnie opracowanego w trakcie semestru. Ocena projektu składa się z ocen cząstkowych za: dokumentację wstępną, prototyp, ostatecznie wykonanie aplikacji w wersji konsolowej i okienkowej. Wymagana jest również osobista prezentacja projektu oraz umiejętność wyjaśnienia szczegółów przedstawionej aplikacji.
Egzamin:
nie
Literatura:
1) P. Wnuk, B. Putz: Informatyka 2 - Programowanie. Wersja w języku C/C++. Podręcznik internetowy, OKNO PW, 2004-2010. 2) B. Putz, A. Putz jr, P. Wnuk : Algorytmy i struktury danych. Podręcznik internetowy, OKNO PW, 2006-2010. 3) S. Prata: Język C++. Wydanie V, Helion 2006. 4) J. Grębosz: Symfonia C++ standard. Tom I. Edition 2000 Kraków, 2005-2008. 5) B. Eckel: Thinking in C++. Edycja polska. Helion 2002. 6) N. Wirth: Algorytmy+struktury danych=programy. WNT 2004. 7) P. Wróblewski: Algorytmy, struktury danych i techniki programowania. Wyd. IV, Helion 2010. 8) T.H. Cormen et al.: Wprowadzenie do algorytmów. WNT 2007, PWN 2012 (nowe wydanie).
Witryna www przedmiotu:
http://iair.mchtr.pw.edu.pl/studenci/
Uwagi:
Przedmiot daje gruntowne podstawy do programowania, umożliwiając tworzenie własnych aplikacji do rozwiązywania różnych problemów technicznych.

Efekty uczenia się

Profil ogólnoakademicki - wiedza

Charakterystyka ZAPIIst_W01
Posiada praktyczną wiedzę w zakresie algorytmizacji problemów technicznych
Weryfikacja: Zaliczenie projektu
Powiązane charakterystyki kierunkowe: K_W04, K_W05
Powiązane charakterystyki obszarowe: P6U_W, I.P6S_WG.o
Charakterystyka ZAPIIst_W02
Ma wiedzę w zakresie programowania strukturalnego
Weryfikacja: Zaliczenie projektu
Powiązane charakterystyki kierunkowe: K_W04, K_W05
Powiązane charakterystyki obszarowe: P6U_W, I.P6S_WG.o

Profil ogólnoakademicki - umiejętności

Charakterystyka ZAPIIst_U01
Ma praktyczną umiejętność tworzenia złożonych programów
Weryfikacja: Zaliczenie projektu
Powiązane charakterystyki kierunkowe: K_U08, K_U09
Powiązane charakterystyki obszarowe: I.P6S_UW.o, III.P6S_UW.o

Profil ogólnoakademicki - kompetencje społeczne

Charakterystyka ZAPIIst_K01
Rozumie potrzebę ciągłego kształcenia
Weryfikacja: Zaliczenie
Powiązane charakterystyki kierunkowe: K_K01
Powiązane charakterystyki obszarowe: P6U_K, I.P6S_KK, I.P6S_KO