- Nazwa przedmiotu:
- Algorytmy i podstawy programowania
- Koordynator przedmiotu:
- dr inż. Marek Gągolewski
- Status przedmiotu:
- Obowiązkowy
- Poziom kształcenia:
- Studia I stopnia
- Program:
- Matematyka
- Grupa przedmiotów:
- Wspólne
- Kod przedmiotu:
- M1APP
- Semestr nominalny:
- 1 / rok ak. 2012/2013
- Liczba punktów ECTS:
- 4
- Liczba godzin pracy studenta związanych z osiągnięciem efektów uczenia się:
- 60 (przygotowanie do laboratoriów punktowanych i kolokwiów)
- Liczba punktów ECTS na zajęciach wymagających bezpośredniego udziału nauczycieli akademickich:
- 2
- Język prowadzenia zajęć:
- polski
- Liczba punktów ECTS, którą student uzyskuje w ramach zajęć o charakterze praktycznym:
- 2
- Formy zajęć i ich wymiar w semestrze:
-
- Wykład15h
- Ćwiczenia15h
- Laboratorium30h
- Projekt0h
- Lekcje komputerowe0h
- Wymagania wstępne:
- brak
- Limit liczby studentów:
- Bez limitu
- Cel przedmiotu:
- Znajomość podstawowych struktur danych. i metod ich implementacji. Umiejętność konstruowania algorytmów i ich implementowania w języku C.
- Treści kształcenia:
- 1. Etapy tworzenia oprogramowania. Algorytm.
2. Podstawy organizacji i działania komputerów. Reprezentacja liczb całkowitych i zmiennopozycyjnych.
3. Podstawy języka C++. Operatory arytmetyczne, logiczne i relacyjne. Instrukcja warunkowa i pętle.
4. Tablice jednowymiarowe. Proste algorytmy sortowania.
5. Funkcje. Przekazywanie parametrów przez wartość i przez referencję. Rekurencja.
6. Wskaźniki. Dynamiczna alokacja pamięci. Kod ASCII. Łańcuchy znaków.
7. Macierze.
8. Struktury w języku C++. Podstawowe abstrakcyjne typy danych: kolejki, stosy, kolejki priorytetowe, drzewa binarne. Dynamiczne struktury danych: lista, drzewo binarne.
- Metody oceny:
- W ciągu semestru przeprowadzane są dwa kolokwia (każde z nich można poprawiać jeden raz). Na każdych zajęciach laboratoryjnych studenci dostają proste zadania, które należy samodzielnie rozwiązać (napisać program) w ciągu trwania zajęć. Programy oceniane są pod koniec każdych zajęć laboratoryjnych (kilka pierwszych laboratoriów ocenianych jest wyłącznie "dla studenta" i nie liczy się przy wystawianiu oceny). Na ostatnich zajęciach laboratoryjnych możliwe jest poprawienie oceny wystawianej na podstawie wyników poszczególnych laboratoriów. Ocena końcowa ustalana jest na podstawie wyników kolokwiów i laboratoriów w stosunku 60% oceny z kolokwiów/ 40 % oceny z laboratoriów. Osoby, które wykażą się znajomością zasad programowania w języku C mogą być zwolnione z uczęszczania na zajęcia w pierwszym semestrze.
- Egzamin:
- nie
- Literatura:
- 1. Brian W. Kernighan, Dennis M. Ritchie, Język C, Wydawnictwa Naukowo-Techniczne
2. Niklaus Wirth, Algorytmy + struktury danych = programy, Wydawnictwa Naukowo-Techniczne
- Witryna www przedmiotu:
- brak
- Uwagi:
Efekty uczenia się
Profil ogólnoakademicki - wiedza
- Efekt APP_W_01
- Ma wiedzę w zakresie podstaw architektury i działania komputerów, reprezentacji liczb całkowitych i zmiennopozycyjnych oraz ograniczeń ich arytmetyki.
Weryfikacja: zaliczenie
Powiązane efekty kierunkowe:
ML_W15
Powiązane efekty obszarowe:
X1A_W01, X1A_W04, X1A_W05
- Efekt APP_W_02
- Zna pojęcie asymptotycznej złożoności obliczeniowej algorytmów.
Weryfikacja: zaliczenie
Powiązane efekty kierunkowe:
ML_W15
Powiązane efekty obszarowe:
X1A_W01, X1A_W04, X1A_W05
- Efekt APP_W_03
- Zna podstawowe abstrakcyjne typy danych: stos, kolejkę, kolejkę priorytetową, słownik.
Weryfikacja: zaliczenie
Powiązane efekty kierunkowe:
ML_W16
Powiązane efekty obszarowe:
X1A_W01, X1A_W03, X1A_W04
- Efekt APP_W_04
- Zna podstawowe dynamiczne struktur danych: listę jednokierunkową, drzewo binarne.
Weryfikacja: zaliczenie
Powiązane efekty kierunkowe:
ML_W16
Powiązane efekty obszarowe:
X1A_W01, X1A_W03, X1A_W04
- Efekt APP_W_05
- Zna proste algorytmy sortowania tablic: przez wstawianie, przez wybór, babelkowe.
Weryfikacja: zaliczenie
Powiązane efekty kierunkowe:
ML_W16
Powiązane efekty obszarowe:
X1A_W01, X1A_W03, X1A_W04
- Efekt APP_W_06
- Ma wiedzę w zakresie podstaw programowania deklaratywnego w języku C++.
Weryfikacja: zaliczenie
Powiązane efekty kierunkowe:
ML_W17
Powiązane efekty obszarowe:
X1A_W01, X1A_W03, X1A_W04, X1A_W05
Profil ogólnoakademicki - umiejętności
- Efekt APP_U_01
- Potrafi formułować w postaci pseudokodu rozwiązania prostych problemów algorytmicznych (w szczególności dot. działań na tablicach i macierzach).
Weryfikacja: zaliczenie
Powiązane efekty kierunkowe:
ML_U16
Powiązane efekty obszarowe:
X1A_U01, X1A_U04
- Efekt APP_U_02
- Potrafi implementować w języku C++ i testować rozwiązania prostych problemów algorytmicznych.
Weryfikacja: zaliczenie
Powiązane efekty kierunkowe:
ML_U16
Powiązane efekty obszarowe:
X1A_U01, X1A_U04
- Efekt APP_U_03
- Potrafi analizować poprawność prostych algorytmów i analizować ich złożoność czasową i pamięciową.
Weryfikacja: zaliczenie
Powiązane efekty kierunkowe:
ML_U16
Powiązane efekty obszarowe:
X1A_U01, X1A_U04
- Efekt APP_U_04
- Potrafi wykorzystywać w swoich programach gotowe funkcje biblioteczne i studiować ich dokumentację.
Weryfikacja: zaliczenie
Powiązane efekty kierunkowe:
ML_U16
Powiązane efekty obszarowe:
X1A_U01, X1A_U04