- 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