Nazwa przedmiotu:
Zasady programowania strukturalnego I
Koordynator przedmiotu:
prof. nzw. dr hab. inż. Barbara Putz
Status przedmiotu:
Obowiązkowy
Poziom kształcenia:
Studia I stopnia
Program:
Mechatronika
Grupa przedmiotów:
Obowiązkowe
Kod przedmiotu:
ZAP
Semestr nominalny:
1 / rok ak. 2012/2013
Liczba punktów ECTS:
5
Liczba godzin pracy studenta związanych z osiągnięciem efektów uczenia się:
5 ECTS = 140 godz., w tym: wykład 15, zajęcia laboratoryjne 30, studia literaturowe 20, przygotowanie do zajęć laboratoryjnych 15, rozwiązywanie zadań domowych 30, przygotowanie do sprawdzianów 10, przygotowanie do egzaminu i uczestniczenie w nim 20.
Liczba punktów ECTS na zajęciach wymagających bezpośredniego udziału nauczycieli akademickich:
2 ECTS = 47 godz., w tym: wykład 15, zajęcia laboratoryjne 30, egzamin 2.
Język prowadzenia zajęć:
polski
Liczba punktów ECTS, którą student uzyskuje w ramach zajęć o charakterze praktycznym:
3 ECTS= 85 godz., w tym: zajęcia laboratoryjne 30, przygotowanie do zajęć laboratoryjnych 15, rozwiązywanie zadań domowych 30, przygotowanie do sprawdzianów 10.
Formy zajęć i ich wymiar w semestrze:
  • Wykład15h
  • Ćwiczenia0h
  • Laboratorium0h
  • Projekt0h
  • Lekcje komputerowe0h
Wymagania wstępne:
Z wyjątkiem matematyki w zakresie szkoły średniej, przedmiot nie wymaga od studentów wiadomości z innych przedmiotów. Wskazane jest uczęszczanie na przedmiot obieralny "Programowanie wizualne", co umożliwi realizację projektów w postaci aplikacji wizualnych.
Limit liczby studentów:
brak
Cel przedmiotu:
Uzyskana wiedza pozwala studentom na konstruowanie algorytmów i tworzenie programów komputerowych. Implementacja algorytmów w trakcie ćwiczeń i realizacja indywidualnych projektów pozwoli na nabycie praktycznych umiejętności.
Treści kształcenia:
===WYKŁAD=== 1. Podstawowe pojęcia: algorytm, program, kod wykonywalny. Kompilacja i wykonanie programu. 2. Proste programy. Nazwy, stałe, typy, zmienne. Wyrażenia i funkcje standardowe. Instrukcje proste i rozgałęzienia. Pętla for, pętle sterowane warunkiem. 3. Tablice jedno- i dwuwymiarowe, algorytmy sortowania. Struktury i rekordy. Definiowanie plików, operacje wejścia - wyjścia. 4. Podprogramy - deklaracja i wywołanie. Parametry formalne i aktualne, wiązanie parametrów. Rekurencja - zasada działania i warunek końca. Przykłady algorytmów rekurencyjnych. 5. Zmienne dynamiczne i wskaźniki. Tablice rezerwowane dynamicznie i listy jednokierunkowe. 6. Binarne drzewa sortowane (BST) i drzewa wyważone (AVL, czerwono-czarne). Kopce, B-drzewa, złożoność obliczeniowa. 7. Przegląd rodzajów i zasad konstruowania algorytmów. Grafy i algorytmy grafowe: algorytm Floyda, Dijkstry i Kruskala. ===LABORATORIUM=== 1. Pierwsze programy. Środowisko kompilatora: edycja, kompilacja i wykonanie programu. Pętle i zaawansowane rozgałęzienia. Tablice - operacje na wektorach i tablicach dwuwymiarowych. 2. Struktury, rekordy i tablice rekordów. Pliki tekstowe, operacje wejścia - wyjścia. 3. Kolokwium komputerowe nr 1 - opracowanie prostych programów (if-y, pętle, tablice) i uruchomienie jednego z nich na komputerach. 4. Podprogramy - deklaracja i wywołanie, parametry formalne i aktualne. Podprogramy rekurencyjne. 5. Zmienne dynamiczne i wskaźniki. Listy jednokierunkowe i podstawowe operacje na nich. 6. Kolokwium komputerowe nr 2 - wykorzystanie podprogramów związanych z operacjami na tablicach, rekordach, plikach i listach jednokierunkowych. Opracowanie i uruchomienie jednego z programów na komputerach.
Metody oceny:
Wykład - egzamin złożony z części zadaniowej (6 zadań wymagających napisania funkcji lub całych programów) oraz części testowej z zakresu algorytmów i struktur danych. Laboratorium - dwa sprawdziany polegające na samodzielnym napisaniu i uruchomieniu programów w trakcie zajęć.
Egzamin:
tak
Literatura:
1 Barbara Putz, Paweł Wnuk: Informatyka 2 - Programowanie. OKNO PW, Warszawa 2002. 2 Paweł Wnuk, Barbara Putz: Informatyka 2 - Programowanie. Wersja w języku C/C++. OKNO PW, Warszawa 2005. 3 Stephen Prata: Język C. Szkoła programowania. Robomatic 2001. 4 Sue Walmsley, Shirley Williams: Programowanie: Pascal w środowisku Delphi. ReadMe 2003. 5 Niklaus Wirth: Algorytmy+struktury danych=programy. WNT 2002. 6 Richard Neapolitan, Kumarss Naimipour: Podstawy algorytmów z przykładami w C++. Helion 2004.
Witryna www przedmiotu:
http://iair.mchtr.pw.edu.pl/studenci/witryna/index.php (wydziałowy system SKS, wymaga logowania)
Uwagi:

Efekty uczenia się

Profil ogólnoakademicki - wiedza

Efekt ZAP1_W01
ma uporządkowaną wiedzę ogólną obejmującą kluczowe zagadnienia z zakresu konstrukcji języka strukturalnego i programowania strukturalnego w języku C/C++
Weryfikacja: sprawdzian 1, sprawdzian 2, egzamin
Powiązane efekty kierunkowe: K_W04, K_W05
Powiązane efekty obszarowe: T1A_W02, T1A_W02, T1A_W04
Efekt ZAP1_W02
ma uporządkowaną wiedzę ogólną obejmującą zagadnienia konstruowania algorytmów dla prostych zadań przetwarzania danych
Weryfikacja: sprawdzian 1, sprawdzian 2, egzamin
Powiązane efekty kierunkowe: K_W04, K_W05
Powiązane efekty obszarowe: T1A_W02, T1A_W02, T1A_W04
Efekt ZAP1_W03
ma uporządkowaną wiedzę ogólną z zakresu klasyfikacji algorytmów i doboru struktur danych
Weryfikacja: egzamin
Powiązane efekty kierunkowe: K_W04, K_W05
Powiązane efekty obszarowe: T1A_W02, T1A_W02, T1A_W04

Profil ogólnoakademicki - umiejętności

Efekt ZAP1_U01
ma praktyczną umiejętność opracowania algorytmu i wynikającego stąd programu strukturalnego w języku C/C++ (z wykorzystaniem struktur dynamicznych włącznie) dla prostego zadania programistycznego
Weryfikacja: sprawdzian 1, sprawdzian 2, egzamin
Powiązane efekty kierunkowe: K_U01, K_U05, K_U22
Powiązane efekty obszarowe: T1A_U01, T1A_U05, T1A_U07, T1A_U15
Efekt ZAP1_U02
ma praktyczną umiejętność napisania i uruchomienia w trakcie 45 min. zajęć programu w środowisku C/C++ na podstawie otrzymanego zadania
Weryfikacja: sprawdzian 1, sprawdzian 2
Powiązane efekty kierunkowe: K_U01, K_U02, K_U22
Powiązane efekty obszarowe: T1A_U01, T1A_U02, T1A_U07, T1A_U07, T1A_U15
Efekt ZAP1_U03
ma umiejętność posługiwania się kompilatorem i debuggerem
Weryfikacja: sprawdzian 1, sprawdzian 2
Powiązane efekty kierunkowe: K_U01, K_U05, K_U22
Powiązane efekty obszarowe: T1A_U01, T1A_U05, T1A_U07, T1A_U15

Profil ogólnoakademicki - kompetencje społeczne

Efekt ZAP1_K01
ma nawyk ustawicznego kształcenia się i wyszukiwania nowych informacji, aby radzić sobie z rozwiązywaniem nowych, nietypowych zadań
Weryfikacja: sprawdzian 1, sprawdzian 2, egzamin
Powiązane efekty kierunkowe: K_K01
Powiązane efekty obszarowe: T1A_K01