Wydział Informatyki
Kierunek studiów Informatyka i ekonometria Poziom i forma studiów pierwszego stopnia inżynierskie stacjonarne
Specjalność / Ścieżka dyplomowania --- Profil kształcenia praktyczny
Nazwa przedmiotu Podstawy programowania Kod przedmiotu IE1PPR
Rodzaj przedmiotu obowiązkowy
Forma zajęć i liczba godzin W Ć L P Ps T S Semestr 1
30 45 Punkty ECTS 7
Przedmioty wprowadzające
Cele przedmiotu

Zapoznanie studentów z podstawowymi technikami programowania strukturalnego i realizacja tych technik w języku C. Zapoznanie z procesem projektowania, implementacji oraz śledzenia wykonywania się programów. Kształtowanie umiejętności logicznego, algorytmicznego myślenia oraz kreatywnego rozwiązywania problemów. Wykształcenie nawyku samodzielnej i systematycznej pracy. Wykształcenie praktyki korzystania z dokumentacji języka programowania. Wykształcenie nawyku systematycznego przyswajania wiedzy z zakresu wykładu.

Treści programowe

Wykład:
Pojęcie algorytmu. Schematy blokowe. Programowanie strukturalne. Struktura programu w języku C. Podstawowe typy danych. Zmienne. Zasięg i czas życia zmiennej. Modyfikatory. Stałe. Operatory. Wyrażenia. Instrukcje standardowego wejścia-wyjścia. Instrukcje warunkowe i wyboru. Instrukcje iteracyjne. Tablice o stałym rozmiarze. Napisy. Funkcje. Przekazywanie parametrów. Efekty uboczne. Rekurencja. Typ wskaźnikowy i dynamiczna alokacja pamięci. Gospodarka pamięcią. Definiowanie typów. Pliki tekstowe i binarne. Typ strukturalny. Dynamiczne struktury danych. Listy jednokierunkowe.

Pracownia specjalistyczna:
Struktura programu w języku C. Przygotowanie środowiska programistycznego. Przykładowy program. Podstawowe typy danych. Zmienne. Instrukcje standardowego wyjścia-wyjścia. Instrukcja przypisania i operatory matematyczne. Instrukcje warunkowa i wyboru. Kodowanie programów z rozgałęzieniami. Instrukcje iteracyjne. Jedno- i dwuwymiarowe tablice o stałym rozmiarze. Napisy. Funkcje. Przekazywanie parametrów do funkcji. Rekurencja. Debugger. Implementacja algorytmów matematycznych. Implementacja algorytmów sortowania. Wskaźniki i dynamiczny przydział pamięci. Zarządzanie pamięcią. Praca z plikami tekstowymi. Typ strukturalny. Listy jednokierunkowe.

Metody dydaktyczne

wykład problemowy,   programowanie z użyciem komputera,  

Forma zaliczenia

Wykład - egzamin pisemny (wymagane zaliczenie pracowni specjalistycznej).
Pracownia specjalistyczna - sprawdziany (testy) wiedzy teoretycznej przed zajęciami, projekt realizowany częściowo poza zajęciami.

Symbol efektu uczenia się Zakładane efekty uczenia się Odniesienie do kierunkowych efektów uczenia się
EU1 zna metodyki, techniki i narzędzia programowania strukturalnego K_W03
EU2 potrafi sformułować algorytm posługując się językiem programowania strukturalnego do opracowania programu komputerowego K_U05
EU3 stosuje metodyki, techniki i narzędzia programowania strukturalnego K_U03
EU4 stosuje zasady projektowania i programowania strukturalnego prostych aplikacji K_U03
K_U05
EU5 potrafi przetestować program strukturalny, w przypadku wykrycia błędów potrafi przeprowadzić ich diagnozę K_U03
K_U05
Symbol efektu uczenia się Sposób weryfikacji efektu uczenia się Forma zajęć na której zachodzi weryfikacja
EU1 egzamin pisemny W
EU2 testy Ps
EU3 testy Ps
EU4 ocena projektu Ps
EU5 ocena projektu Ps
Bilans nakładu pracy studenta (w godzinach) Liczba godz.
Wyliczenie
1 - Udział w wykładach 30
2 - Udział w pracowni specjalistycznej 45
3 - Przygotowanie do pracowni specjalistycznej 45
4 - Udział w konsultacjach związanych z pracownią specjalistyczną 5
5 - Przygotowanie do egzaminu 10
6 - Obecność na egzaminie 2
7 - Realizacja zadań projektowych (w tym przygotowanie prezentacji) 38
RAZEM: 175
Wskaźniki ilościowe GODZINY ECTS
Nakład pracy studenta związany z zajęciami wymagającymi bezpośredniego udziału nauczyciela 82
(2)+(6)+(1)+(4)
3.3
Nakład pracy studenta związany z zajęciami o charakterze praktycznym 128
(7)+(2)+(3)
5.1
Literatura podstawowa

1. Dokumentacja języka C (https://en.cppreference.com/w/c/language).
2. Z. A. Shaw, Programowanie w C. Sprytne podejście do trudnych zagadnień, których wolałbyś unikać (takich jak język C), Helion, 2016.
3. B.W. Kernighan, Język ANSI C: programowanie, Helion, 2010.
4. B.W. Kernighan, D.M. Richtie, Jezyk ANSI C, WNT, Warszawa, 2004.
5. Code::Blocks (http://www.codeblocks.org/).
6. Dev-C++ (http://www.bloodshed.net/devcpp.html).

Literatura uzupełniająca

1. S. Prata, Język C: Szkoła programowania, Helion, 2016.
2. R. Reese, Wskaźniki w języku C: przewodnik, Helion, 2014.
3. N. Wirth, Algorytmy + struktury danych = programy, WNT, 2004.
4. H. Shildt, Język C, Warszawa : Oficyna Wydawnicza LT a. P, 2002.

Jednostka realizująca Katedra Oprogramowania Data opracowania programu
Program opracował(a) dr inż. Anna Łupińska-Dubicka 2021.04.28