Zachodniopomorski Uniwersytet Technologiczny w Szczecinie

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 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 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

Forma dydaktycznaKODSemestrGodzinyECTSWagaZaliczenie
wykładyW1 45 3,00,62egzamin
laboratoriaL1 30 2,00,38zaliczenie

Wymagania wstępne

KODWymaganie wstępne
W-1Znajomość podstaw informatyki

Cele przedmiotu

KODCel modułu/przedmiotu
C-1Zapoznanie studentów z podstawowymi pojęciami informatyki.
C-2Ukształtowanie umiejętności z zakresu technik programowania strukturalnego w języku C.
C-3Ukształ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ęć

KODTreść programowaGodziny
laboratoria
T-L-1Praca 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-2Sprawdzian 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-3Zaliczenie (if ). Schematy blokowe wybranych algorytmów. Prosty program z instrukcją pętli „while” lub „do while”.2
T-L-4Krótki sprawdzian z wykładów (schematy blokowe). Pętla „while” cd. (sumy szeregów nieskończonych).2
T-L-5Zaliczenie (while ). Pętla „for”, typ tablicowy, deklaracja tablicy , wprowadzanie danych.2
T-L-6Sprawdzian 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-7Zaliczenie tablic i łańcuchów.2
T-L-8Tablice dwuwymiarowe, deklarowanie, inicjalizowanie tablic, manipulowanie elementami.2
T-L-9Zaliczenie tablic dwuwymiarowych. Wprowadzenie do funkcji niestandardowych (zwracających wartość).2
T-L-10Funkcje tworzone przez użytkownika, definicja, parametry formalne i aktualne, prototyp funkcji, zwracanie wartości, klasy pamięci.2
T-L-11Sprawdzian 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-12Zaliczenie funkcji (dwa programy).2
T-L-13Sprawdzian z wykładów (struktury). Struktury, definicja typu, tablica struktur, struktury w funkcjach (wskaźniki do struktur).2
T-L-14Sprawdzian 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-15Zaliczenie struktur i plików.2
30
wykłady
T-W-1Poję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-2Zasady 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-3Symbole 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-4Instrukcje 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-5Zasady 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-6Zasady 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-7Niestandardowe 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

KODForma aktywnościGodziny
laboratoria
A-L-1Uczestnictwo w zajęciach30
A-L-2Przygotowanie do zajęć (krótkie sprawdziany )10
A-L-3Samodzielne wykonywanie programów (zadania domowe).10
A-L-4Przygotowanie do zaliczenia poszczególnych ćwiczeń10
60
wykłady
A-W-1Uczestnictwo w zajęciach45
A-W-2Przygotowanie do zajęć (utrwalanie i powtarzanie materiału)15
A-W-3Praca własna z literaturą.15
A-W-4Przygotowanie do egzaminu.15
90

Metody nauczania / narzędzia dydaktyczne

KODMetoda nauczania / narzędzie dydaktyczne
M-1Wykład informacyjny z przykładami.
M-2Praca własna w laboratorium komputerowym.

Sposoby oceny

KODSposób oceny
S-1Ocena formująca: Sprawdzian z wykładów.
S-2Ocena formująca: Zaliczenie laboratorium.
S-3Ocena podsumowująca: Sprawdzian końcowy z wykładów.
S-4Ocena podsumowująca: Zaliczenie końcowe laboratorium.

Zamierzone efekty kształcenia - wiedza

Zamierzone efekty kształceniaOdniesienie do efektów kształcenia dla kierunku studiówOdniesienie do efektów zdefiniowanych dla obszaru kształceniaOdniesienie do efektów kształcenia prowadzących do uzyskania tytułu zawodowego inżynieraCel przedmiotuTreści programoweMetody nauczaniaSposób oceny
AR_1A_B02_W01
Ma wiedzę w zakresie technik programowania w języku C.
AR_1A_W03C-1T-W-1, T-W-2, T-W-3, T-W-4, T-W-5, T-W-6, T-W-7M-1S-3, S-1

Zamierzone efekty kształcenia - umiejętności

Zamierzone efekty kształceniaOdniesienie do efektów kształcenia dla kierunku studiówOdniesienie do efektów zdefiniowanych dla obszaru kształceniaOdniesienie do efektów kształcenia prowadzących do uzyskania tytułu zawodowego inżynieraCel przedmiotuTreści programoweMetody nauczaniaSposób oceny
AR_1A_B02_U01
Student nabył umiejętność analizy i wytwarzania kodu oraz potrafi dokonać implementacji prostego problemu programistycznego w języku C.
AR_1A_U03C-2, C-3T-L-1, T-L-2, T-L-3, T-L-4, T-L-5, T-L-6, T-L-7, T-L-8, T-L-9, T-L-10, T-L-11, T-L-12, T-L-13, T-L-14, T-L-15M-2S-2, S-4

Kryterium oceny - wiedza

Efekt kształceniaOcenaKryterium oceny
AR_1A_B02_W01
Ma wiedzę w zakresie technik programowania w języku C.
2,0
3,0Student 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łceniaOcenaKryterium oceny
AR_1A_B02_U01
Student nabył umiejętność analizy i wytwarzania kodu oraz potrafi dokonać implementacji prostego problemu programistycznego w języku C.
2,0
3,0Student 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

  1. Kernighan B. W., Ritchie D. M, Język ANSI C, WNT, Warszawa, 2004
  2. Loudon K, Algorytmy w C, Helion, Warszawa, 2003
  3. Oualline S, Język C. Programowanie, Helion, Warszawa, 2003

Literatura dodatkowa

  1. Metzger P, Anatomia PC, Helion, Warszawa, 2006
  2. Tłuczek, Programowanie w języku C. Ćwiczenia praktyczne, Helion, Warszawa, 2001

Treści programowe - laboratoria

KODTreść programowaGodziny
T-L-1Praca 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-2Sprawdzian 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-3Zaliczenie (if ). Schematy blokowe wybranych algorytmów. Prosty program z instrukcją pętli „while” lub „do while”.2
T-L-4Krótki sprawdzian z wykładów (schematy blokowe). Pętla „while” cd. (sumy szeregów nieskończonych).2
T-L-5Zaliczenie (while ). Pętla „for”, typ tablicowy, deklaracja tablicy , wprowadzanie danych.2
T-L-6Sprawdzian 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-7Zaliczenie tablic i łańcuchów.2
T-L-8Tablice dwuwymiarowe, deklarowanie, inicjalizowanie tablic, manipulowanie elementami.2
T-L-9Zaliczenie tablic dwuwymiarowych. Wprowadzenie do funkcji niestandardowych (zwracających wartość).2
T-L-10Funkcje tworzone przez użytkownika, definicja, parametry formalne i aktualne, prototyp funkcji, zwracanie wartości, klasy pamięci.2
T-L-11Sprawdzian 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-12Zaliczenie funkcji (dwa programy).2
T-L-13Sprawdzian z wykładów (struktury). Struktury, definicja typu, tablica struktur, struktury w funkcjach (wskaźniki do struktur).2
T-L-14Sprawdzian 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-15Zaliczenie struktur i plików.2
30

Treści programowe - wykłady

KODTreść programowaGodziny
T-W-1Poję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-2Zasady 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-3Symbole 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-4Instrukcje 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-5Zasady 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-6Zasady 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-7Niestandardowe typy danych: typ wyliczeniowy, struktury i unie, pliki. Wykorzystanie języka C do programowania wybranych zadań niskiego poziomu.8
45

Formy aktywności - laboratoria

KODForma aktywnościGodziny
A-L-1Uczestnictwo w zajęciach30
A-L-2Przygotowanie do zajęć (krótkie sprawdziany )10
A-L-3Samodzielne wykonywanie programów (zadania domowe).10
A-L-4Przygotowanie do zaliczenia poszczególnych ćwiczeń10
60
(*) 1 punkt ECTS, odpowiada około 30 godzinom aktywności studenta

Formy aktywności - wykłady

KODForma aktywnościGodziny
A-W-1Uczestnictwo w zajęciach45
A-W-2Przygotowanie do zajęć (utrwalanie i powtarzanie materiału)15
A-W-3Praca własna z literaturą.15
A-W-4Przygotowanie do egzaminu.15
90
(*) 1 punkt ECTS, odpowiada około 30 godzinom aktywności studenta
PoleKODZnaczenie kodu
Zamierzone efekty kształceniaAR_1A_B02_W01Ma wiedzę w zakresie technik programowania w języku C.
Odniesienie do efektów kształcenia dla kierunku studiówAR_1A_W03Ma wiedzę z informatyki i jej zastosowań przemysłowych niezbędną w nowoczesnej automatyce i robotyce.
Cel przedmiotuC-1Zapoznanie studentów z podstawowymi pojęciami informatyki.
Treści programoweT-W-1Poję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.
T-W-2Zasady 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.
T-W-3Symbole 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.
T-W-4Instrukcje 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.
T-W-5Zasady 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.
T-W-6Zasady 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.
T-W-7Niestandardowe typy danych: typ wyliczeniowy, struktury i unie, pliki. Wykorzystanie języka C do programowania wybranych zadań niskiego poziomu.
Metody nauczaniaM-1Wykład informacyjny z przykładami.
Sposób ocenyS-3Ocena podsumowująca: Sprawdzian końcowy z wykładów.
S-1Ocena formująca: Sprawdzian z wykładów.
Kryteria ocenyOcenaKryterium oceny
2,0
3,0Student ma wiedzę w zakresie technik programowania w języku C.
3,5
4,0
4,5
5,0
PoleKODZnaczenie kodu
Zamierzone efekty kształceniaAR_1A_B02_U01Student nabył umiejętność analizy i wytwarzania kodu oraz potrafi dokonać implementacji prostego problemu programistycznego w języku C.
Odniesienie do efektów kształcenia dla kierunku studiówAR_1A_U03Potrafi przygotować prezentację multimedialną, stworzyć stronę internetową oraz napisać program komputerowy związany z automatyką i robotyką.
Cel przedmiotuC-2Ukształtowanie umiejętności z zakresu technik programowania strukturalnego w języku C.
C-3Ukształtowanie umiejętności praktycznych z zakresu procesu wytwarzania oprogramowania - (tworzenie kodu źródłowego, kompilacja, debugowanie).
Treści programoweT-L-1Praca 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.
T-L-2Sprawdzian z wykładów (systemy dec, bin, hex – przeliczanie). Wyrażenia arytmetyczne i logiczne, funkcje matematyczne (biblioteka „math.h”), instrukcja warunkowa „if…else”.
T-L-3Zaliczenie (if ). Schematy blokowe wybranych algorytmów. Prosty program z instrukcją pętli „while” lub „do while”.
T-L-4Krótki sprawdzian z wykładów (schematy blokowe). Pętla „while” cd. (sumy szeregów nieskończonych).
T-L-5Zaliczenie (while ). Pętla „for”, typ tablicowy, deklaracja tablicy , wprowadzanie danych.
T-L-6Sprawdzian 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.
T-L-7Zaliczenie tablic i łańcuchów.
T-L-8Tablice dwuwymiarowe, deklarowanie, inicjalizowanie tablic, manipulowanie elementami.
T-L-9Zaliczenie tablic dwuwymiarowych. Wprowadzenie do funkcji niestandardowych (zwracających wartość).
T-L-10Funkcje tworzone przez użytkownika, definicja, parametry formalne i aktualne, prototyp funkcji, zwracanie wartości, klasy pamięci.
T-L-11Sprawdzian 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.
T-L-12Zaliczenie funkcji (dwa programy).
T-L-13Sprawdzian z wykładów (struktury). Struktury, definicja typu, tablica struktur, struktury w funkcjach (wskaźniki do struktur).
T-L-14Sprawdzian z wykładów (pliki). Pliki, funkcja otwarcia pliku, tryby pracy, funkcje plikowe do odczytu i zapisu (znakowe, łańcuchowe), przetwarzanie plików.
T-L-15Zaliczenie struktur i plików.
Metody nauczaniaM-2Praca własna w laboratorium komputerowym.
Sposób ocenyS-2Ocena formująca: Zaliczenie laboratorium.
S-4Ocena podsumowująca: Zaliczenie końcowe laboratorium.
Kryteria ocenyOcenaKryterium oceny
2,0
3,0Student 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