Wydział Elektryczny - Teleinformatyka (S1)
Sylabus przedmiotu Podstawy algorytmizacji i programowania:
Informacje podstawowe
Kierunek studiów | Teleinformatyka | ||
---|---|---|---|
Forma studiów | studia stacjonarne | Poziom | pierwszego stopnia |
Tytuł zawodowy absolwenta | inżynier | ||
Obszary studiów | nauki techniczne, studia inżynierskie | ||
Profil | ogólnoakademicki | ||
Moduł | — | ||
Przedmiot | Podstawy algorytmizacji i programowania | ||
Specjalność | przedmiot wspólny | ||
Jednostka prowadząca | Katedra Zastosowań Informatyki | ||
Nauczyciel odpowiedzialny | Andrzej Brykalski <Andrzej.Brykalski@zut.edu.pl> | ||
Inni nauczyciele | Piotr Baniukiewicz <Piotr.Baniukiewicz@zut.edu.pl>, Maciej Burak <Maciej.Burak@zut.edu.pl>, Wojciech Chlewicki <Wojciech.Chlewicki@zut.edu.pl>, Katarzyna Cichoń <Katarzyna.Cichon@zut.edu.pl>, Irena Karpik <Irena.Karpik@zut.edu.pl> | ||
ECTS (planowane) | 5,0 | ECTS (formy) | 5,0 |
Forma zaliczenia | egzamin | Język | polski |
Blok obieralny | — | Grupa obieralna | — |
Formy dydaktyczne
Wymagania wstępne
KOD | Wymaganie wstępne |
---|---|
W-1 | Znajomość podstaw informatyki w zakresie szkoły średniej. |
Cele przedmiotu
KOD | Cel modułu/przedmiotu |
---|---|
C-1 | Zapoznanie studentów z podstawowymi pojęciami informatyki. |
C-2 | Ukształtowanie umiejętności z zakresu technik programowania strukturalnego w języku C. |
C-3 | Ukształtowanie umiejętności praktycznych z zakresu procesu wytwarzania oprogramowania - (tworzenie kodu źródłowego, kompilacja, debugowanie). |
Treści programowe z podziałem na formy zajęć
KOD | Treść programowa | Godziny |
---|---|---|
laboratoria | ||
T-L-1 | Praca w środowisku Linux : logowanie się do sieci, wybrane polecenia systemu Linux, zapoznanie się z programem Midnight Commander, kompilatorem gcc. Edycja, kompilacja i uruchomienie prostego programu w języku C. | 2 |
T-L-2 | Sprawdzian z wykładów (systemy dec, bin, hex – przeliczanie). Wyrażenia arytmetyczne i logiczne, funkcje matematyczne (biblioteka „math.h”), instrukcja warunkowa „if…else”. | 2 |
T-L-3 | Zaliczenie (if ). Schematy blokowe wybranych algorytmów. Prosty program z instrukcją pętli „while” lub „do while”. | 2 |
T-L-4 | Krótki sprawdzian z wykładów (schematy blokowe). Pętla „while” cd. (sumy szeregów nieskończonych). | 2 |
T-L-5 | Zaliczenie (while ). Pętla „for”, typ tablicowy, deklaracja tablicy , wprowadzanie danych. | 2 |
T-L-6 | Sprawdzian z wykładów (elementy języka C). Tablice jednowymiarowe liczbowe (sortowanie). Łańcuchy znakowe, funkcje „gets”, „puts”, biblioteka „string.h”, przetwarzanie łańcuchów. | 2 |
T-L-7 | Zaliczenie tablic i łańcuchów. | 2 |
T-L-8 | Tablice dwuwymiarowe, deklarowanie, inicjalizowanie tablic, manipulowanie elementami. | 2 |
T-L-9 | Zaliczenie tablic dwuwymiarowych. Wprowadzenie do funkcji niestandardowych (zwracających wartość). | 2 |
T-L-10 | Funkcje tworzone przez użytkownika, definicja, parametry formalne i aktualne, prototyp funkcji, zwracanie wartości, klasy pamięci. | 2 |
T-L-11 | Sprawdzian z wykładów (wskaźniki). Wskaźniki, zastosowanie wskaźników jako parametrów funkcji, wykorzystanie wskaźników przy przetwarzania tablic w funkcjach. | 2 |
T-L-12 | Zaliczenie funkcji (dwa programy). | 2 |
T-L-13 | Sprawdzian z wykładów (struktury). Struktury, definicja typu, tablica struktur, struktury w funkcjach (wskaźniki do struktur). | 2 |
T-L-14 | Sprawdzian z wykładów (pliki). Pliki, funkcja otwarcia pliku, tryby pracy, funkcje plikowe do odczytu i zapisu (znakowe, łańcuchowe), przetwarzanie plików. | 2 |
T-L-15 | Zaliczenie struktur i plików. | 2 |
30 | ||
wykłady | ||
T-W-1 | Pojęcie informatyki, obszary informatyki, zastosowania informatyki w technice, komputer jako narzędzie automatycznego przetwarzania informacji, generacje i klasyfikacja komputerów cyfrowych oraz języków programowania, zasoby informatyczne ZUT. Dane we wnętrzu komputera: bity i bajty, kod dwójkowy a kod szesnastkowy i ósemkowy, wewnętrzna reprezentacja danych - znaki, liczby całkowite (uzupełnienie dwójkowe), liczby rzeczywiste (zapis zmienno- i stałopozycyjny). Zasady adresowania pamięci. Niezawodność zapamiętywania i przesyłania danych, kontrola parzystości. Charakterystyka języków programowania, programowanie strukturalne i obiektowe, programowanie wizualne, proces kompilacji i konsolidacji programu, zasady formułowania zadań dla komputera. | 7 |
T-W-2 | Zasady tworzenia algorytmów oraz sposoby formalnego ich zapisu, w tym z wykorzystaniem języków programowania. Przykłady algorytmów w postaci sieci działań, dotyczących przetwarzania danych w macierzy, rekurencji, postępowania iteracyjnego, konwersji systemów liczenia itp. | 4 |
T-W-3 | Symbole standardowe, słowa kluczowe, pojęcie typu danych, standardowe typy danych, stałe i zmienne, dyrektywy #define i #include. Instrukcje wyjścia i specyfikatory formatowania, kody sterujące. Instrukcje przypisania, wyrażenia arytmetyczne i logiczne, priorytety wartościowania wyrażeń, standardowe funkcje matematyczne, operatory bitowe. Warunkowa instrukcja przypisania. | 7 |
T-W-4 | Instrukcje wejścia, operator pobrania adresu i kody konwersji. Instrukcje bloku, decyzyjne, iteracyjne, przekazywanie sterowania do instrukcji etykietowanych. Typ tablicowy i łańcuchy. Zasady tworzenia kodów źródłowych do wcześniej prezentowanych algorytmów. | 11 |
T-W-5 | Zasady programowania strukturalnego i wykorzystywania podprogramów standardowych i niestandardowych. Porównanie struktury kodu źródłowego programu w języku C/C++ ze strukturami kodów, sporządzonych w innych językach programowania wysokiego poziomu (Pascal, Fortran). Wykorzystanie dyrektywy #define do definiowania prostych funkcji. Obszar i czas działania zmiennych automatycznych, zewnętrznych i statycznych. Zasady tworzenia funkcji (typu funkcja matematyczna) zwracających wartość oraz funkcji (typu procedura) nie zwracających wartości. | 4 |
T-W-6 | Zasady przekazywania danych pomiędzy funkcjami: zmienne zewnętrzne, jedno i dwukierunkowa komunikacja poprzez parametry. Wskaźniki i sposób ich wykorzystania do dwukierunkowego przekazywania danych przez parametry. Rekurencja i rekurencja niejawna w funkcjach. | 4 |
T-W-7 | Niestandardowe typy danych: typ wyliczeniowy, struktury i unie, pliki. Wykorzystanie języka C do programowania wybranych zadań niskiego poziomu. | 8 |
45 |
Obciążenie pracą studenta - formy aktywności
KOD | Forma aktywności | Godziny |
---|---|---|
laboratoria | ||
A-L-1 | uczestnictwo w zajęciach | 30 |
A-L-2 | przygotowanie do zajęć (krótkie sprawdziany ) | 10 |
A-L-3 | samodzielne wykonywanie programów (zadania domowe) | 10 |
A-L-4 | przygotowanie do zaliczenia poszczególnych ćwiczeń | 10 |
60 | ||
wykłady | ||
A-W-1 | uczestnictwo w zajęciach | 45 |
A-W-2 | Przygotowanie do zajęć (utrwalanie i powtarzanie materiału) | 15 |
A-W-3 | Praca własna z literaturą | 15 |
A-W-4 | Przygotowanie do egzaminu | 15 |
90 |
Metody nauczania / narzędzia dydaktyczne
KOD | Metoda nauczania / narzędzie dydaktyczne |
---|---|
M-1 | Wykład informacyjny z przykładami |
M-2 | Praca własna w laboratorium komputerowym. |
Sposoby oceny
KOD | Sposób oceny |
---|---|
S-1 | Ocena formująca: Sprawdzian z wykładów. |
S-2 | Ocena formująca: Zaliczenie laboratorium. |
S-3 | Ocena podsumowująca: Sprawdzian końcowy z wykładów. |
S-4 | Ocena podsumowująca: Zaliczenie końcowe laboratorium. |
Zamierzone efekty kształcenia - wiedza
Zamierzone efekty kształcenia | Odniesienie do efektów kształcenia dla kierunku studiów | Odniesienie do efektów zdefiniowanych dla obszaru kształcenia | Odniesienie do efektów kształcenia prowadzących do uzyskania tytułu zawodowego inżyniera | Cel przedmiotu | Treści programowe | Metody nauczania | Sposób oceny |
---|---|---|---|---|---|---|---|
TI_1A_C01_W01 Ma wiedzę w zakresie technik programowania w języku C. | TI_1A_W08, TI_1A_W09 | — | — | C-1 | T-W-3, T-W-1, T-W-6, T-W-7, T-W-5, T-W-4, T-W-2 | M-1 | S-1, S-3 |
Zamierzone efekty kształcenia - umiejętności
Zamierzone efekty kształcenia | Odniesienie do efektów kształcenia dla kierunku studiów | Odniesienie do efektów zdefiniowanych dla obszaru kształcenia | Odniesienie do efektów kształcenia prowadzących do uzyskania tytułu zawodowego inżyniera | Cel przedmiotu | Treści programowe | Metody nauczania | Sposób oceny |
---|---|---|---|---|---|---|---|
TI_1A_C01_U01 Student nabył umiejętność analizy i wytwarzania kodu oraz potrafi dokonać implementacji prostego problemu programistycznego w języku C. | TI_1A_U05, TI_1A_U07 | — | — | C-3, C-2 | T-L-5, T-L-8, T-L-13, T-L-12, T-L-4, T-L-7, T-L-2, T-L-9, T-L-11, T-L-14, T-L-3, T-L-1, T-L-6, T-L-10, T-L-15 | M-2 | S-2, S-4 |
Kryterium oceny - wiedza
Efekt kształcenia | Ocena | Kryterium oceny |
---|---|---|
TI_1A_C01_W01 Ma wiedzę w zakresie technik programowania w języku C. | 2,0 | |
3,0 | Student ma wiedzę w zakresie technik programowania w języku C. | |
3,5 | ||
4,0 | ||
4,5 | ||
5,0 |
Kryterium oceny - umiejętności
Efekt kształcenia | Ocena | Kryterium oceny |
---|---|---|
TI_1A_C01_U01 Student nabył umiejętność analizy i wytwarzania kodu oraz potrafi dokonać implementacji prostego problemu programistycznego w języku C. | 2,0 | |
3,0 | Student nabył umiejętność analizy i wytwarzania kodu oraz potrafi dokonać implementacji prostego problemu programistycznego w języku C. | |
3,5 | ||
4,0 | ||
4,5 | ||
5,0 |
Literatura podstawowa
- Kochan Stephen G., Język C, Kompendium wiedzy. Kompletny przewodnik po języku C., Wydawnictwo Helion
- Matlak Michał, Język C/C++ i obliczenia numeryczne. Krótkie wprowadzenie., Wydawnictwo Helion
- Prata Stephen, Język C. Szkoła programowania., Wydawnictwo Helion, Wydanie VI
- Shaw Zed A., Programowanie w C. Sprytne podejście do trudnych zagadnień, których wolałbyś unikać (takich jak język C)., Wydawnictwo Helion
Literatura dodatkowa
- Kernighan Brian W., Ritchie Dennis M., Język ANSI C. Programowanie., Helion, 2010, 2
- Stroustrup Bjarne, Język C++. Kompendium wiedzy., Helion, 2014, 4
- Prata Stephen, Język C++. Szkoła programowania., Wydawnictwo Helion, Wydanie VI