Wydział Elektryczny - Automatyka i robotyka (S1)
Sylabus przedmiotu Podstawy algorytmizacji i programowania:
Informacje podstawowe
Kierunek studiów | Automatyka i robotyka | ||
---|---|---|---|
Forma studiów | studia stacjonarne | Poziom | pierwszego stopnia |
Tytuł zawodowy absolwenta | inżynier | ||
Obszary studiów | charakterystyki PRK, kompetencje inżynierskie PRK | ||
Profil | ogólnoakademicki | ||
Moduł | — | ||
Przedmiot | Podstawy algorytmizacji i programowania | ||
Specjalność | przedmiot wspólny | ||
Jednostka prowadząca | Katedra Elektrotechniki Teoretycznej i Informatyki Stosowanej | ||
Nauczyciel odpowiedzialny | Andrzej Brykalski <Andrzej.Brykalski@zut.edu.pl> | ||
Inni nauczyciele | Maciej Burak <Maciej.Burak@zut.edu.pl>, Katarzyna Cichoń <Katarzyna.Cichon@zut.edu.pl>, Irena Karpik <Irena.Karpik@zut.edu.pl> | ||
ECTS (planowane) | 6,0 | ECTS (formy) | 6,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 | Zapoznanie studentów z zakresem technik programowania strukturalnego w języku C. |
C-3 | Zapoznanie studentów z procesem 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 | Edycja, kompilacja i uruchomienie programu w języku C. Podstawowe typy danych, liczby stało- i zmiennoprzecinkowe. Reprezentacja w pamięci, wpływ typu (rozmiaru) na zakres reprezentowanych wartości (modyfikatory long i unsigned) lub dokładność. Deklaracja i inicjalizacja zmiennych, funkcje "scanf", "printf". | 2 |
T-L-2 | Wyrażenia arytmetyczne i logiczne, funkcje matematyczne. Instrukcje warunkowe „if…else”, "switch". Blok instrukcji, zmienne lokalne. | 2 |
T-L-3 | Instrukcje pętli "while", "do...while", „for”. Instrukcje “break” i “continue”. | 2 |
T-L-4 | Tablice jednowymiarowe - deklaracja i inicjalizacja tablicy, operator indeksowania, wczytanie i wyświetlenie elementów tablicy. Wykorzystanie pętli do operacji na tablicach. Wykorzystanie generatora liczb losowych. | 2 |
T-L-5 | Sprawdzian 1. | 2 |
T-L-6 | Tablice znaków vs. łańcuchy. Scanf("%s"), operacje na elementach łańcucha/tablicy znaków przy wykorzystaniu pętli. Operator adresowy. Problem przekroczenia obszaru tablicy (buffer overflow). | 2 |
T-L-7 | Funkcje "fgets", "fputs". Wykorzystanie plików tekstowych. Funkcje otwarcia pliku w różnych trybach. Znaki alfanumeryczne, kolejność/sortowanie, znaki specjalne. Operacje na elementach łańcucha. Biblioteka string.h. | 2 |
T-L-8 | Wskaźniki, wskaźniki a tablice, arytmetyka wskaźników, wykorzystanie wskaźników do operacji na tablicach i łańcuchach | 4 |
T-L-9 | Tablice wskaźników. Sortowanie tablic i tablic wskaźników. | 2 |
T-L-10 | Tablice dwuwymiarowe. Adresowanie w tablicach dwuwymiarowych przy użyciu operatorów indeksowania oraz wskaźników. Tablice dwuwymiarowe vs. tablice wskaźników. | 2 |
T-L-11 | Funkcje. Deklaracja i definicja funkcji. Biblioteki funkcji. Przekazywanie argumentów i zwracanie wyniku. Zmienne lokalne, zasięg zmiennej, stos. Przekazywanie argumentów przez wartość, wykorzystanie wskaźników/tablic jako argumentów i wyniku funkcji. Funkcje wykonujące operacje na tablicach. | 4 |
T-L-12 | Struktury, tablice struktur, wskaźniki do struktur. Wskaźniki jako elementy struktury: listy, drzewa, grafy. | 2 |
T-L-13 | Sprawdzian 2. | 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). | 3 |
T-W-2 | Zasady adresowania pamięci. Niezawodność zapamiętywania i przesyłania danych, kontrola parzystości. | 1 |
T-W-3 | Charakterystyka języków programowania, programowanie strukturalne i obiektowe, programowanie wizualne, proces kompilacji i konsolidacji programu, zasady formułowania zadań dla komputera. | 1 |
T-W-4 | Zasady tworzenia algorytmów oraz sposoby formalnego ich zapisu, w tym z wykorzystaniem języków programowania. | 1 |
T-W-5 | Przykłady algorytmów w postaci sieci działań, dotyczących przetwarzania danych w macierzy, rekurencji, postępowania iteracyjnego, konwersji systemów liczenia itp. | 3 |
T-W-6 | 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. | 3 |
T-W-7 | Instrukcje przypisania, wyrażenia arytmetyczne i logiczne, priorytety wartościowania wyrażeń, standardowe funkcje matematyczne, operatory bitowe. | 3 |
T-W-8 | Warunkowa instrukcja przypisania. | 1 |
T-W-9 | Instrukcje wejścia, operator pobrania adresu i kody konwersji. | 3 |
T-W-10 | Instrukcje bloku, decyzyjne, iteracyjne, przekazywanie sterowania do instrukcji etykietowanych. | 3 |
T-W-11 | Typ tablicowy i łańcuchy. | 2 |
T-W-12 | Zasady tworzenia kodów źródłowych do wcześniej prezentowanych algorytmów. | 3 |
T-W-13 | 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). | 2 |
T-W-14 | 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. | 3 |
T-W-15 | 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. | 3 |
T-W-16 | Typ wyliczeniowy. | 1 |
T-W-17 | Struktury. | 3 |
T-W-18 | Unie. | 3 |
T-W-19 | Pliki. | 3 |
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ęć (wejściówki ) | 10 |
A-L-3 | Samodzielne wykonywanie programów w domu | 10 |
A-L-4 | Przygotowanie do sprawdzianów | 15 |
65 | ||
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ą. | 10 |
A-W-4 | Przygotowanie do egzaminu. | 13 |
A-W-5 | Egzamin | 2 |
85 |
Metody nauczania / narzędzia dydaktyczne
KOD | Metoda nauczania / narzędzie dydaktyczne |
---|---|
M-1 | Wykład informacyjny z przykładami. |
M-2 | Praca 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 uczenia się - wiedza
Zamierzone efekty uczenia się | Odniesienie do efektów kształcenia dla kierunku studiów | Odniesienie do efektów zdefiniowanych dla obszaru kształcenia | Odniesienie do efektów uczenia się prowadzących do uzyskania tytułu zawodowego inżyniera | Cel przedmiotu | Treści programowe | Metody nauczania | Sposób oceny |
---|---|---|---|---|---|---|---|
AR_1A_B03_W01 Ma wiedzę w zakresie binarnego kodowania podstawowych, ustandaryzowanych typów danych. | AR_1A_W03 | — | — | C-1 | T-W-3, T-W-1, T-W-2 | M-1 | S-1 |
AR_1A_B03_W02 Ma wiedzę w zakresie zasad tworzenia algorytmów obliczeniowych. | AR_1A_W03 | — | — | C-1 | T-W-4, T-W-5 | M-1 | S-3, S-2 |
AR_1A_B03_W03 Ma wiedzę w zakresie technik programowania w języku C. | AR_1A_W03 | — | — | C-3, C-2 | T-W-13, T-W-15, T-W-9, T-W-11, T-W-19, T-W-14, T-W-17, T-W-10, T-W-6, T-W-7, T-W-8, T-W-12, T-W-16, T-W-18 | M-1 | S-3, S-1 |
Zamierzone efekty uczenia się - umiejętności
Zamierzone efekty uczenia się | Odniesienie do efektów kształcenia dla kierunku studiów | Odniesienie do efektów zdefiniowanych dla obszaru kształcenia | Odniesienie do efektów uczenia się prowadzących do uzyskania tytułu zawodowego inżyniera | Cel przedmiotu | Treści programowe | Metody nauczania | Sposób oceny |
---|---|---|---|---|---|---|---|
AR_1A_B03_U01 Student nabył umiejętność analizy i wytwarzania kodu oraz potrafi dokonać implementacji prostego problemu programistycznego w języku C. | AR_1A_U03 | — | — | C-3, C-2 | T-L-7, T-L-1, T-L-2, T-L-3, T-L-6, T-L-5, T-L-4, T-L-9, T-L-8 | M-2 | S-2, S-4 |
AR_1A_B03_U02 Student samodzielnie potrafi zaimplementować złożony algorytm w postaci programu w języku C, z wykorzystaniem narzędzi programowania strukturalnego. | AR_1A_U03 | — | — | C-3, C-2 | T-L-10, T-L-11, T-L-12, T-L-13 | M-2 | S-2, S-4 |
Kryterium oceny - wiedza
Efekt uczenia się | Ocena | Kryterium oceny |
---|---|---|
AR_1A_B03_W01 Ma wiedzę w zakresie binarnego kodowania podstawowych, ustandaryzowanych typów danych. | 2,0 | Student uzyskał punktację w zakresie poniżej 50% pytań gzaminacyjnych lub bieżących, krótkich sprawdzianów z treści wykładów, przeprowadzanych przed przystąpieniem do zadań w ramach ćwiczeń laboratoryjnych. |
3,0 | Student uzyskał punktację w zakresie 50-59% pytań gzaminacyjnych lub bieżących, krótkich sprawdzianów z treści wykładów, przeprowadzanych przed przystąpieniem do zadań w ramach ćwiczeń laboratoryjnych. | |
3,5 | Student uzyskał punktację w zakresie 60-69% pytań gzaminacyjnych lub bieżących, krótkich sprawdzianów z treści wykładów, przeprowadzanych przed przystąpieniem do zadań w ramach ćwiczeń laboratoryjnych. | |
4,0 | Student uzyskał punktację w zakresie 70-79% pytań gzaminacyjnych lub bieżących, krótkich sprawdzianów z treści wykładów, przeprowadzanych przed przystąpieniem do zadań w ramach ćwiczeń laboratoryjnych. | |
4,5 | Student uzyskał punktację w zakresie 80-89% pytań gzaminacyjnych lub bieżących, krótkich sprawdzianów z treści wykładów, przeprowadzanych przed przystąpieniem do zadań w ramach ćwiczeń laboratoryjnych. | |
5,0 | Student uzyskał punktację w zakresie 90-100% pytań gzaminacyjnych lub bieżących, krótkich sprawdzianów z treści wykładów, przeprowadzanych przed przystąpieniem do zadań w ramach ćwiczeń laboratoryjnych. | |
AR_1A_B03_W02 Ma wiedzę w zakresie zasad tworzenia algorytmów obliczeniowych. | 2,0 | Student uzyskał punktację w zakresie poniżej 50% pytań gzaminacyjnych lub bieżących, krótkich sprawdzianów z treści wykładów, przeprowadzanych przed przystąpieniem do zadań w ramach ćwiczeń laboratoryjnych. |
3,0 | Student uzyskał punktację w zakresie 50-59% pytań gzaminacyjnych lub bieżących, krótkich sprawdzianów z treści wykładów, przeprowadzanych przed przystąpieniem do zadań w ramach ćwiczeń laboratoryjnych. | |
3,5 | Student uzyskał punktację w zakresie 60-69% pytań gzaminacyjnych lub bieżących, krótkich sprawdzianów z treści wykładów, przeprowadzanych przed przystąpieniem do zadań w ramach ćwiczeń laboratoryjnych. | |
4,0 | Student uzyskał punktację w zakresie 70-79% pytań gzaminacyjnych lub bieżących, krótkich sprawdzianów z treści wykładów, przeprowadzanych przed przystąpieniem do zadań w ramach ćwiczeń laboratoryjnych. | |
4,5 | Student uzyskał punktację w zakresie 80-89% pytań gzaminacyjnych lub bieżących, krótkich sprawdzianów z treści wykładów, przeprowadzanych przed przystąpieniem do zadań w ramach ćwiczeń laboratoryjnych. | |
5,0 | Student uzyskał punktację w zakresie 90-100% pytań gzaminacyjnych lub bieżących, krótkich sprawdzianów z treści wykładów, przeprowadzanych przed przystąpieniem do zadań w ramach ćwiczeń laboratoryjnych. | |
AR_1A_B03_W03 Ma wiedzę w zakresie technik programowania w języku C. | 2,0 | Student uzyskał punktację w zakresie poniżej 50% pytań gzaminacyjnych lub bieżących, krótkich sprawdzianów z treści wykładów, przeprowadzanych przed przystąpieniem do zadań w ramach ćwiczeń laboratoryjnych. |
3,0 | Student uzyskał punktację w zakresie 50-59% pytań gzaminacyjnych lub bieżących, krótkich sprawdzianów z treści wykładów, przeprowadzanych przed przystąpieniem do zadań w ramach ćwiczeń laboratoryjnych. | |
3,5 | Student uzyskał punktację w zakresie 60-69% pytań gzaminacyjnych lub bieżących, krótkich sprawdzianów z treści wykładów, przeprowadzanych przed przystąpieniem do zadań w ramach ćwiczeń laboratoryjnych. | |
4,0 | Student uzyskał punktację w zakresie 70-79% pytań gzaminacyjnych lub bieżących, krótkich sprawdzianów z treści wykładów, przeprowadzanych przed przystąpieniem do zadań w ramach ćwiczeń laboratoryjnych. | |
4,5 | Student uzyskał punktację w zakresie 80-89% pytań gzaminacyjnych lub bieżących, krótkich sprawdzianów z treści wykładów, przeprowadzanych przed przystąpieniem do zadań w ramach ćwiczeń laboratoryjnych. | |
5,0 | Student uzyskał punktację w zakresie 90-100% pytań gzaminacyjnych lub bieżących, krótkich sprawdzianów z treści wykładów, przeprowadzanych przed przystąpieniem do zadań w ramach ćwiczeń laboratoryjnych. |
Kryterium oceny - umiejętności
Efekt uczenia się | Ocena | Kryterium oceny |
---|---|---|
AR_1A_B03_U01 Student nabył umiejętność analizy i wytwarzania kodu oraz potrafi dokonać implementacji prostego problemu programistycznego w języku C. | 2,0 | Student nie nabył umiejętności analizy i wytwarzania kodu oraz nie potrafi dokonać implementacji prostego problemu programistycznego w języku C. Student nie uzyskał z każdej formy oceny min. 3,00. |
3,0 | Student nabył umiejętność analizy i wytwarzania kodu oraz potrafi dokonać implementacji prostego problemu programistycznego w języku C. •Pozytywnie zaliczone trzy kolokwia cząstkowe przewidziane w planie przedmiotu. •Obliczana ocena końcowa jest średnią arytmetyczna trzech uzyskanych ocen ( przy czym każda powinna być pozytywna). •Końcowa uzyskana ocena zaliczająca jest zaokrąglana wg. regulaminu studiów wyższych w Zachodniopomorskim Uniwersytecie Technologicznym w Szczecinie. | |
3,5 | Student uzyskał średnią ocen min. 3,25 i z każdej formy oceny min. 3,00. | |
4,0 | Student nabył umiejętność analizy i wytwarzania kodu oraz potrafi dokonać implementacji problemu programistycznego w języku C. Student potrafi samodzielnie rozwiązać większość zadań, problem programistyczny i uruchomić poprawnie wykonany kod źródłowy z użyciem środowiska programistycznego. •Pozytywnie zaliczone trzy kolokwia cząstkowe przewidziane w planie przedmiotu. •Obliczana ocena końcowa jest średnią arytmetyczna trzech uzyskanych ocen ( przy czym każda powinna być pozytywna). •Końcowa uzyskana ocena zaliczająca jest zaokrąglana wg. regulaminu studiów wyższych w Zachodniopomorskim Uniwersytecie Technologicznym w Szczecinie. | |
4,5 | Student uzyskał średnią ocen min. 4,25 i z każdej formy oceny min. 3,00. | |
5,0 | Student nabył umiejętność analizy i wytwarzania kodu oraz potrafi dokonać implementacji problemu programistycznego w języku C. Student potrafi samodzielnie rozwiązać wszystkie zadania, problem programistyczny i uruchomić poprawnie wykonany kod źródłowy z użyciem środowiska programistycznego. •Pozytywnie zaliczone trzy kolokwia cząstkowe przewidziane w planie przedmiotu. •Obliczana ocena końcowa jest średnią arytmetyczna trzech uzyskanych ocen ( przy czym każda powinna być pozytywna). •Końcowa uzyskana ocena zaliczająca jest zaokrąglana wg. regulaminu studiów wyższych w Zachodniopomorskim Uniwersytecie Technologicznym w Szczecinie. | |
AR_1A_B03_U02 Student samodzielnie potrafi zaimplementować złożony algorytm w postaci programu w języku C, z wykorzystaniem narzędzi programowania strukturalnego. | 2,0 | Student nie nabył umiejętności analizy i wytwarzania kodu oraz nie potrafi dokonać implementacji prostego problemu programistycznego w języku C. Student nie uzyskał z każdej formy oceny min. 3,0. |
3,0 | Student nabył umiejętność analizy i wytwarzania kodu oraz potrafi dokonać implementacji prostego problemu programistycznego w języku C. •Pozytywnie zaliczone trzy kolokwia cząstkowe przewidziane w planie przedmiotu. •Obliczana ocena końcowa jest średnią arytmetyczna trzech uzyskanych ocen ( przy czym każda powinna być pozytywna). •Końcowa uzyskana ocena zaliczająca jest zaokrąglana wg. regulaminu studiów wyższych w Zachodniopomorskim Uniwersytecie Technologicznym w Szczecinie. | |
3,5 | Student uzyskał śednią ocen min. 3,25 i z każdej formy oceny min. 3,0. | |
4,0 | Student nabył umiejętność analizy i wytwarzania kodu oraz potrafi dokonać implementacji problemu programistycznego w języku C. Student potrafi samodzielnie rozwiązać większość zadań, problem programistyczny i uruchomić poprawnie wykonany kod źródłowy z użyciem środowiska programistycznego. •Pozytywnie zaliczone trzy kolokwia cząstkowe przewidziane w planie przedmiotu. •Obliczana ocena końcowa jest średnią arytmetyczna trzech uzyskanych ocen ( przy czym każda powinna być pozytywna). •Końcowa uzyskana ocena zaliczająca jest zaokrąglana wg. regulaminu studiów wyższych w Zachodniopomorskim Uniwersytecie Technologicznym w Szczecinie. | |
4,5 | Student uzyskał śednią ocen min. 4,25 i z każdej formy oceny min. 3,0. | |
5,0 | Student nabył umiejętność analizy i wytwarzania kodu oraz potrafi dokonać implementacji problemu programistycznego w języku C. Student potrafi samodzielnie rozwiązać wszystkie zadania, problem programistyczny i uruchomić poprawnie wykonany kod źródłowy z użyciem środowiska programistycznego. •Pozytywnie zaliczone trzy kolokwia cząstkowe przewidziane w planie przedmiotu. •Obliczana ocena końcowa jest średnią arytmetyczna trzech uzyskanych ocen ( przy czym każda powinna być pozytywna). •Końcowa uzyskana ocena zaliczająca jest zaokrąglana wg. regulaminu studiów wyższych w Zachodniopomorskim Uniwersytecie Technologicznym w Szczecinie. |
Literatura podstawowa
- Prata S., Język C. Szkoła programowania, Helion, Gliwice, 2016
- Matlak M., Język C/C++ i obliczenia numeryczne. Krótkie wprowadzenie, Helion, Gliwice, 2016
- Shaw A.Z., Programowanie w C. Sprytne podejście do trudnych zagadnień, których wolałbyś unikać (takich jak język C), Helion, Gliwice, 2016
- Kernighan B. W., Ritchie D. M, Język ANSI C. Programowanie., Helion, Gliwice, 2010
Literatura dodatkowa
- Tłuczek M., Programowanie w języku C. Ćwiczenia praktyczne, Helion, Gliwice, 2016
- Perry G., Miller D., Język C. Programowanie dla początkujących., Helion, Gliwice, 2016