Zachodniopomorski Uniwersytet Technologiczny w Szczecinie

Wydział Elektryczny - Elektrotechnika (N1)

Sylabus przedmiotu Podstawy algorytmizacji i programowania:

Informacje podstawowe

Kierunek studiów Elektrotechnika
Forma studiów studia niestacjonarne 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

Forma dydaktycznaKODSemestrGodzinyECTSWagaZaliczenie
wykładyW1 27 3,00,62egzamin
laboratoriaL1 18 2,00,38zaliczenie

Wymagania wstępne

dla tego przedmiotu nie są określone wymagania wstępne

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”. Schematy blokowe wybranych algorytmów. Prosty program z instrukcją pętli „while” lub „do while”.2
T-L-3Krótki sprawdzian z wykładów (schematy blokowe). Pętla „while” cd. (sumy szeregów nieskończonych).2
T-L-4Zaliczenie (while ). Pętla „for”, typ tablicowy, deklaracja tablicy , wprowadzanie danych.2
T-L-5Sprawdzian 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-6Zaliczenie tablic i łańcuchów. Tablice dwuwymiarowe, deklarowanie, inicjalizowanie tablic, manipulowanie elementami.2
T-L-7Wprowadzenie do funkcji niestandardowych (zwracających wartość). Funkcje tworzone przez użytkownika, definicja, parametry formalne i aktualne, prototyp funkcji, zwracanie wartości, klasy pamięci.2
T-L-8Wskaźniki, zastosowanie wskaźników jako parametrów funkcji, wykorzystanie wskaźników przy przetwarzania tablic w funkcjach.2
T-L-9Struktury, definicja typu, tablica struktur, struktury w funkcjach (wskaźniki do struktur). Pliki, funkcja otwarcia pliku, tryby pracy, funkcje plikowe do odczytu i zapisu (znakowe, łańcuchowe), przetwarzanie plików.2
18
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.4
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.2
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.3
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.9
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.2
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.3
T-W-7Niestandardowe typy danych: typ wyliczeniowy, struktury i unie, pliki. Wykorzystanie języka C do programowania wybranych zadań niskiego poziomu.4
27

Obciążenie pracą studenta - formy aktywności

KODForma aktywnościGodziny
laboratoria
A-L-1uczestnictwo w zajęciach18
A-L-2przygotowanie do zajęć (krótkie sprawdziany )16
A-L-3samodzielne wykonywanie programów (zadania domowe)15
A-L-4przygotowanie do zaliczenia poszczególnych ćwiczeń10
59
wykłady
A-W-1uczestnictwo w zajęciach27
A-W-2Przygotowanie do zajęć (utrwalanie i powtarzanie materiału)25
A-W-3Praca własna z literaturą20
A-W-4Przygotowanie do egzaminu17
89

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
EL_1A_B03_W01
Ma wiedzę w zakresie technik programowania w języku C.
EL_1A_W13C-1T-W-2, T-W-3, T-W-6, T-W-7, T-W-1, T-W-4, T-W-5M-1S-1, S-3

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
EL_1A_B03_U01
Student nabył umiejętność analizy i wytwarzania kodu oraz potrafi dokonać implementacji prostego problemu programistycznego w języku C.
EL_1A_U01, EL_1A_U08C-3, C-2T-L-4, T-L-6, T-L-3, T-L-5, T-L-2, T-L-1, T-L-9, T-L-7, T-L-8M-2S-4, S-2

Kryterium oceny - wiedza

Efekt kształceniaOcenaKryterium oceny
EL_1A_B03_W01
Ma wiedzę w zakresie technik programowania w języku C.
2,0
3,0Ma 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
EL_1A_B03_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”. Schematy blokowe wybranych algorytmów. Prosty program z instrukcją pętli „while” lub „do while”.2
T-L-3Krótki sprawdzian z wykładów (schematy blokowe). Pętla „while” cd. (sumy szeregów nieskończonych).2
T-L-4Zaliczenie (while ). Pętla „for”, typ tablicowy, deklaracja tablicy , wprowadzanie danych.2
T-L-5Sprawdzian 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-6Zaliczenie tablic i łańcuchów. Tablice dwuwymiarowe, deklarowanie, inicjalizowanie tablic, manipulowanie elementami.2
T-L-7Wprowadzenie do funkcji niestandardowych (zwracających wartość). Funkcje tworzone przez użytkownika, definicja, parametry formalne i aktualne, prototyp funkcji, zwracanie wartości, klasy pamięci.2
T-L-8Wskaźniki, zastosowanie wskaźników jako parametrów funkcji, wykorzystanie wskaźników przy przetwarzania tablic w funkcjach.2
T-L-9Struktury, definicja typu, tablica struktur, struktury w funkcjach (wskaźniki do struktur). Pliki, funkcja otwarcia pliku, tryby pracy, funkcje plikowe do odczytu i zapisu (znakowe, łańcuchowe), przetwarzanie plików.2
18

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.4
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.2
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.3
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.9
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.2
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.3
T-W-7Niestandardowe typy danych: typ wyliczeniowy, struktury i unie, pliki. Wykorzystanie języka C do programowania wybranych zadań niskiego poziomu.4
27

Formy aktywności - laboratoria

KODForma aktywnościGodziny
A-L-1uczestnictwo w zajęciach18
A-L-2przygotowanie do zajęć (krótkie sprawdziany )16
A-L-3samodzielne wykonywanie programów (zadania domowe)15
A-L-4przygotowanie do zaliczenia poszczególnych ćwiczeń10
59
(*) 1 punkt ECTS, odpowiada około 30 godzinom aktywności studenta

Formy aktywności - wykłady

KODForma aktywnościGodziny
A-W-1uczestnictwo w zajęciach27
A-W-2Przygotowanie do zajęć (utrwalanie i powtarzanie materiału)25
A-W-3Praca własna z literaturą20
A-W-4Przygotowanie do egzaminu17
89
(*) 1 punkt ECTS, odpowiada około 30 godzinom aktywności studenta
PoleKODZnaczenie kodu
Zamierzone efekty kształceniaEL_1A_B03_W01Ma wiedzę w zakresie technik programowania w języku C.
Odniesienie do efektów kształcenia dla kierunku studiówEL_1A_W13Ma uporządkowaną wiedzę w zakresie metodyki i technik programowania i symulacji
Cel przedmiotuC-1Zapoznanie studentów z podstawowymi pojęciami informatyki.
Treści programoweT-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-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.
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.
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.
Metody nauczaniaM-1Wykład informacyjny z przykładami
Sposób ocenyS-1Ocena formująca: Sprawdzian z wykładów.
S-3Ocena podsumowująca: Sprawdzian końcowy z wykładów.
Kryteria ocenyOcenaKryterium oceny
2,0
3,0Ma wiedzę w zakresie technik programowania w języku C.
3,5
4,0
4,5
5,0
PoleKODZnaczenie kodu
Zamierzone efekty kształceniaEL_1A_B03_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ówEL_1A_U01Potrafi pozyskiwać informacje z literatury, baz danych i innych źródeł, potrafi integrować uzyskane informacje, dokonywać ich interpretacji a także wyciągać wnioski oraz formułować i uzasadniać opinie
EL_1A_U08Potrafi posłużyć się właściwie dobranymi środowiskami programistycznymi, symulatorami oraz narzędziami komputerowo wspomaganego projektowania do symulacji, projektowania i weryfikacji elementów, urządzeń i maszyn elektrycznych, przekształtników oraz prostych instalacji elektrycznych
Cel przedmiotuC-3Ukształtowanie umiejętności praktycznych z zakresu procesu wytwarzania oprogramowania - (tworzenie kodu źródłowego, kompilacja, debugowanie).
C-2Ukształtowanie umiejętności z zakresu technik programowania strukturalnego w języku C.
Treści programoweT-L-4Zaliczenie (while ). Pętla „for”, typ tablicowy, deklaracja tablicy , wprowadzanie danych.
T-L-6Zaliczenie tablic i łańcuchów. Tablice dwuwymiarowe, deklarowanie, inicjalizowanie tablic, manipulowanie elementami.
T-L-3Krótki sprawdzian z wykładów (schematy blokowe). Pętla „while” cd. (sumy szeregów nieskończonych).
T-L-5Sprawdzian 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-2Sprawdzian z wykładów (systemy dec, bin, hex – przeliczanie). Wyrażenia arytmetyczne i logiczne, funkcje matematyczne (biblioteka „math.h”), instrukcja warunkowa „if…else”. Schematy blokowe wybranych algorytmów. Prosty program z instrukcją pętli „while” lub „do while”.
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.
T-L-9Struktury, definicja typu, tablica struktur, struktury w funkcjach (wskaźniki do struktur). Pliki, funkcja otwarcia pliku, tryby pracy, funkcje plikowe do odczytu i zapisu (znakowe, łańcuchowe), przetwarzanie plików.
T-L-7Wprowadzenie do funkcji niestandardowych (zwracających wartość). Funkcje tworzone przez użytkownika, definicja, parametry formalne i aktualne, prototyp funkcji, zwracanie wartości, klasy pamięci.
T-L-8Wskaźniki, zastosowanie wskaźników jako parametrów funkcji, wykorzystanie wskaźników przy przetwarzania tablic w funkcjach.
Metody nauczaniaM-2Praca własna w laboratorium komputerowym.
Sposób ocenyS-4Ocena podsumowująca: Zaliczenie końcowe laboratorium.
S-2Ocena formująca: Zaliczenie 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