Wydział Informatyki - Informatyka (S1)
Sylabus przedmiotu Podstawy programowania:
Informacje podstawowe
Kierunek studiów | Informatyka | ||
---|---|---|---|
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 programowania | ||
Specjalność | przedmiot wspólny | ||
Jednostka prowadząca | Katedra Inżynierii Oprogramowania | ||
Nauczyciel odpowiedzialny | Mirosław Mościcki <Miroslaw.Moscicki@zut.edu.pl> | ||
Inni nauczyciele | Dariusz Burak <Dariusz.Burak@zut.edu.pl>, Marek Pałkowski <Marek.Palkowski@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 | Podstawowa wiedza z zakresu informatyki. |
W-2 | Ukończony kurs Analiza Matematyczna i Algebra |
W-3 | Ukończony kurs Podstawy informatyki |
Cele przedmiotu
KOD | Cel modułu/przedmiotu |
---|---|
C-1 | Zapoznanie studentów z zasadami tworzenia programów |
C-2 | Ukształtowanie umiejętności z zakresu programowania z użyciem języka C, C++ oraz Java |
C-3 | Zapoznanie studentów z procesem tworzenia oprogramowania (tworzenie projektu, kompilacja, debugowanie) |
Treści programowe z podziałem na formy zajęć
KOD | Treść programowa | Godziny |
---|---|---|
laboratoria | ||
T-L-1 | Tworzenie własnej przestrzeni nazw, oraz korzystanie z operacji we/wy w C++ | 2 |
T-L-2 | Zapis i odczyt plików | 2 |
T-L-3 | Wskaźniki na tablice wielowymiarowe i arytmetyka wskaźników | 2 |
T-L-4 | Dynamiczna alokacja i zwalnianie pamięci w języku C oraz C++ | 2 |
T-L-5 | Listy jednokierunkowe oraz dwukierunkowe | 2 |
T-L-6 | Kontenery i wyjątki | 2 |
T-L-7 | Tworzenie aplikacji okienkowej | 2 |
T-L-8 | Instrukcje warunkowe, pętle oraz zarządzanie pamięcią w języku Java | 2 |
T-L-9 | Zapis i odczyt plików | 2 |
T-L-10 | Wyjątki | 2 |
T-L-11 | Tworzenie okien w bibliotece Swing, Layout Manager | 2 |
T-L-12 | Obsługa zdarzeń | 2 |
T-L-13 | Listy, kolejki, mapy | 2 |
T-L-14 | Programowanie wielowątkowe | 2 |
T-L-15 | Komunikacja sieciowa w języku Java | 2 |
30 | ||
wykłady | ||
T-W-1 | Przestrzeń nazw oraz operacje we/wy w C++ | 2 |
T-W-2 | Biblioteka String, operacje na plikach | 2 |
T-W-3 | Wskaźniki na tablice wielowymiarowe i arytmetyka wskaźników | 2 |
T-W-4 | Dynamiczna alokacja i zwalnianie pamięci w języku C oraz C++ | 2 |
T-W-5 | Struktury, Listy jednokierunkowe oraz dwukierunkowe | 2 |
T-W-6 | Mechanizm obsługi wyjątków, Kontenery | 2 |
T-W-7 | Tworzenie aplikacji okienkowej | 2 |
T-W-8 | Wprowadzenie do języka Java | 2 |
T-W-9 | Operacje na plikach | 2 |
T-W-10 | Wyjątki | 2 |
T-W-11 | Biblioteka Swing | 4 |
T-W-12 | Listy, kolejki, mapy | 2 |
T-W-13 | Programowanie wielowątkowe | 2 |
T-W-14 | Komunikacja sieciowa w języku Java | 2 |
30 |
Obciążenie pracą studenta - formy aktywności
KOD | Forma aktywności | Godziny |
---|---|---|
laboratoria | ||
A-L-1 | Udział w laboratoriach | 30 |
A-L-2 | Przygotowanie się do zajeć laboratoryjnych | 30 |
A-L-3 | Wykonanie programów poza zajęciami | 34 |
A-L-4 | Konsultacje do laboratorium | 2 |
A-L-5 | Udział w zaliczeniu formy zajęć | 2 |
98 | ||
wykłady | ||
A-W-1 | Udział w wykładach | 30 |
A-W-2 | Samodzielne studiowanie tematyki wykładów | 30 |
A-W-3 | Przygotowanie się do egzaminu | 16 |
A-W-4 | Egzamin | 2 |
A-W-5 | Udział w konsultacjach | 2 |
80 |
Metody nauczania / narzędzia dydaktyczne
KOD | Metoda nauczania / narzędzie dydaktyczne |
---|---|
M-1 | Wykład informacyjny |
M-2 | Ćwiczenia laboratoryjne |
Sposoby oceny
KOD | Sposób oceny |
---|---|
S-1 | Ocena formująca: Wejściówka - Pozwala ocenić przygotowanie studenta do cwiczeń laboratoryjnych |
S-2 | Ocena formująca: Ocena poprawności wykonania zadania programistycznego realizowanego na zajęciach. |
S-3 | Ocena podsumowująca: Testowy egzamin pisemny |
S-4 | Ocena formująca: Ocena poprawności wykonania zadań programistycznych realizowanych poza zajęciami |
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 |
---|---|---|---|---|---|---|---|
I_1A_C/03_W01 Student zna i rozumie podstawowe konstrukcje języka programowania C, C++ oraz Java | I_1A_W04, I_1A_W05 | — | — | C-1, C-2 | T-W-2, T-L-1, T-L-2, T-L-3, T-L-4, T-L-5, T-L-6, T-L-7, T-L-8 | M-1, M-2 | S-3, S-2, S-1 |
I_1A_C/03_W02 Student potrafi rozpoznać i zdefiniować problem oraz zaimplementować go w języku C, C++, Java | I_1A_W04, I_1A_W05 | — | — | C-3 | T-W-3, T-W-4, T-W-7, T-W-8, T-W-9, T-W-10, T-W-12, T-W-13, T-W-14 | M-1, M-2 | S-3, S-2, S-1, S-4 |
I_1A_C/03_W03 Student dysponuje aktualną wiedzą na temat wybranych bibliotek programistycznych języka C, C++, Java | I_1A_W14 | — | — | C-3, C-2 | T-W-7, T-W-8, T-W-9, T-W-12, T-W-2, T-L-7 | M-1, M-2 | S-3, S-2, S-4 |
I_1A_C/03_W04 Student potrafi wytłumaczyć działanie programu na podstawie jego kodu źródłowego. | I_1A_W04, I_1A_W05 | — | — | C-2 | T-W-3, T-W-4, T-W-5, T-W-6, T-W-7, T-W-8, T-W-9, T-W-10, T-W-11, T-W-12, T-W-13, T-W-14, T-W-2 | M-1, M-2 | S-3, S-2, S-1, S-4 |
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 |
---|---|---|---|---|---|---|---|
I_1A_C/03_U01 Student potrafi od podstaw zaprojektować i zaimplementować dany algorytm w postaci progamu w języku C, C++, Java | I_1A_U01, I_1A_U19 | — | — | C-1, C-3, C-2 | T-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 | M-1, M-2 | S-3, S-2, S-4 |
I_1A_C/03_U02 Student potrafi utworzyć projekt oraz dokonać jego kompilacji i uruchamienia w systemie Windows i Linux | I_1A_U01, I_1A_U05 | — | — | C-1, C-3, C-2 | T-L-9 | M-1, M-2 | S-2 |
I_1A_C/03_U03 Student potrafi właściwie wykorzystać różne biblioteki programistyczne do stworzenia efektywnie działającej aplikacji. | I_1A_U20, I_1A_U01, I_1A_U19 | — | — | C-1, C-2 | T-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 | M-1, M-2 | S-3, S-2, S-1, S-4 |
Zamierzone efekty kształcenia - inne kompetencje społeczne i personalne
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 |
---|---|---|---|---|---|---|---|
I_1A_C/03_K01 W wyniku przprowadzonych zajęć student nabędzie następujące postawy: kreatywność w tworzeniu programów, zdolność do posługiwania się dokumentacją techniczną języka programowania | I_1A_K04 | — | — | C-3 | T-W-12 | M-1, M-2 | S-2, S-4 |
Kryterium oceny - wiedza
Efekt kształcenia | Ocena | Kryterium oceny |
---|---|---|
I_1A_C/03_W01 Student zna i rozumie podstawowe konstrukcje języka programowania C, C++ oraz Java | 2,0 | nie zna podstawowych konstrukcji języka programowania C |
3,0 | zna instrukcje warunkowe oraz pętle języka C | |
3,5 | zna instrukje warunkowe, pętle oraz operatory występujące w języku C | |
4,0 | potrafi posługiwać się strukturami w języku C, zna definicje struktury, potrafi wynienić wszystkie typy danych występujące w języku C, zna instrukje warunkowe, pętle oraz operatory | |
4,5 | potrafi posługiwać się funkcjami w języku C, zna sposoby przekazywania argumentów do funkcji, potrafi posługiwać się strukturami w języku C, zna definicje struktury, potrafi wynienić wszystkie typy danych występujące w języku C, zna instrukje warunkowe, pętle oraz operatory | |
5,0 | potrafi dynamicznie przydzielać pamięć oraz posługiwać się wskaźnikami, potrafi posługiwać się funkcjami w języku C, zna sposoby przekazywania argumentów do funkcji, potrafi posługiwać się strukturami w języku C, zna definicje struktury, potrafi wynienić wszystkie typy danych występujące w języku C, zna instrukje warunkowe, pętle oraz operatory | |
I_1A_C/03_W02 Student potrafi rozpoznać i zdefiniować problem oraz zaimplementować go w języku C, C++, Java | 2,0 | nie potrafi rozpoznać prostego problemu |
3,0 | potrafi rozpoznać prosty problem programistyczny | |
3,5 | potrafi rozpoznać oraz zdefiniować prosty problem programistyczny | |
4,0 | potrafi rozpoznać oraz zdefiniować prosty problem i zaimplementować do w języku C | |
4,5 | potrafi rozpoznać oraz zdefiniować problem i zaimplementować go w języku C z użyciem podstawowych konstrukcji języka C | |
5,0 | potrafi rozpoznać oraz zdefiniować problem i zaimplementować do w języku C i C++ z użyciem podstawowych konstrukcji języka | |
I_1A_C/03_W03 Student dysponuje aktualną wiedzą na temat wybranych bibliotek programistycznych języka C, C++, Java | 2,0 | nie zna żadnych bibliotek programistycznych |
3,0 | potrafi korzystać z biblioteki stdio | |
3,5 | potrafi korzystać z biblioteki stdio oraz conio | |
4,0 | potrafi korzystać z biblioteki stdio, conio oraz string | |
4,5 | potrafi korzystać z biblioteki stdio, conio, string oraz stdlib | |
5,0 | potrafi korzystać z biblioteki stdio, conio, string, stdlib oraz math i time | |
I_1A_C/03_W04 Student potrafi wytłumaczyć działanie programu na podstawie jego kodu źródłowego. | 2,0 | nie potrafi wytłumaczyć działania prostego programu |
3,0 | potrafi wytłumaczyć działanie programu składającego się z pętli, instrukcji warunkowych oraz operatorów | |
3,5 | potrafi wytłumaczyć działanie programu składającego się z pętli, instrukcji warunkowych, operatorów oraz struktur | |
4,0 | potrafi wytłumaczyć działanie programu składającego się z pętli, instrukcji warunkowych, operatorów oraz struktur i korzystającego z bibliotek: stdlib, stdio, string | |
4,5 | potrafi wytłumaczyć działanie programu składającego się z dowolnych konstrukcji języka C oraz korzystającego dowolnych bibliotek standardowych | |
5,0 | potrafi wytłumaczyć działanie programu składającego się z dowolnych konstrukcji języka C oraz korzystającego dowolnych bibliotek standardowych oraz usunąć błędy z programu jeśli takowe występują |
Kryterium oceny - umiejętności
Efekt kształcenia | Ocena | Kryterium oceny |
---|---|---|
I_1A_C/03_U01 Student potrafi od podstaw zaprojektować i zaimplementować dany algorytm w postaci progamu w języku C, C++, Java | 2,0 | nie potrafi rozpoznać i zaprojektować algorytmu dla prostego programu |
3,0 | potrafi rozpoznać prosty problem programistyczny i zaprojektować algorytm do danego problemu | |
3,5 | potrafi rozpoznać prosty problem programistyczny i zaprojektować algorytm do danego problemu oraz zaimplementować go z użyciem podstawowych konstrukcji języka C | |
4,0 | potrafi rozpoznać dany problem programistyczny i zaprojektować algorytm do danego problemu oraz zaimplementować go z użyciem podstawowych konstrukcji języka C i bibliotek stdio, stblib oraz string | |
4,5 | potrafi rozpoznać dany problem programistyczny i zaprojektować algorytm do danego problemu oraz zaimplementować go z użyciem podstawowych konstrukcji języka C i dostępnych bibliotek standardowych języka C | |
5,0 | potrafi rozpoznać dany problem programistyczny i zaprojektować algorytm do danego problemu oraz zaimplementować go z użyciem podstawowych konstrukcji języka C,C++ i dostępnych bibliotek standardowych języka C i C++ | |
I_1A_C/03_U02 Student potrafi utworzyć projekt oraz dokonać jego kompilacji i uruchamienia w systemie Windows i Linux | 2,0 | nie potrafi utworzyć projektu |
3,0 | potrafi utworzyć projekt w narzędziu DevC++ | |
3,5 | potrafi utworzyć projekt w narzędziu DevC++oraz Visual Studio w systemie Windows | |
4,0 | potrafi utworzyć projekt w narzędziu DevC++oraz Visual Studio w systemie Windows oraz skompilować ten projekt | |
4,5 | potrafi utworzyć projekt w narzędziu DevC++oraz Visual Studio w systemie Windows oraz skompilować ten projekt i uruchomić napisany program | |
5,0 | potrafi utworzyć projekt w narzędziu DevC++oraz Visual Studio w systemie Windows oraz w jednym z narzędzi systemu Linux, potrafi skompilować ten projekt i uruchomić napisany program | |
I_1A_C/03_U03 Student potrafi właściwie wykorzystać różne biblioteki programistyczne do stworzenia efektywnie działającej aplikacji. | 2,0 | nie potrafi korzystać z żadnej biblioteki standardowej |
3,0 | potrafi korzystać z funkcji zawartych w bibliotece stdio oraz stdlib | |
3,5 | potrafi korzystać z funkcji zawartych w bibliotece stdio oraz stdlib i string | |
4,0 | potrafi korzystać z funkcji zawartych w bibliotece stdio, stdlib i string, oraz time i math | |
4,5 | potrafi korzystać z funkcji zawartych w dowolnych bibliotekach standardowych języka C | |
5,0 | potrafi korzystać z funkcji zawartych w dowolnych bibliotekach standardowych języka C oraz C++ |
Kryterium oceny - inne kompetencje społeczne i personalne
Efekt kształcenia | Ocena | Kryterium oceny |
---|---|---|
I_1A_C/03_K01 W wyniku przprowadzonych zajęć student nabędzie następujące postawy: kreatywność w tworzeniu programów, zdolność do posługiwania się dokumentacją techniczną języka programowania | 2,0 | brak umięjętności tworzenia programów |
3,0 | tworzenie programów z wykorzystaniem podstawowych konstrukcji języka C | |
3,5 | tworzenie programów z wykorzystaniem podstawowych konstrukcji języka C oraz korzystanie z bibliotek stdio, stdlib, string | |
4,0 | tworzenie programów z wykorzystaniem podstawowych konstrukcji języka C, znajomość bibliotek stdio, stdlib, string, umiejętność posługiwania się wskaźnikami w programie | |
4,5 | tworzenie programów z wykorzystaniem podstawowych konstrukcji języka C, znajomość bibliotek stdio, stdlib, string, umiejętność posługiwania się wskaźnikami w programie oraz dynamicznego rezerwowania i zwalniania pamięci | |
5,0 | tworzenie programów z wykorzystaniem podstawowych konstrukcji języka C. C++, znajomość bibliotek standardowych, umiejętność posługiwania się wskaźnikami w programie oraz dynamicznego rezerwowania i zwalniania pamięci, zdolność do posługiwania się dokumentacją techniczną języka programowania |
Literatura podstawowa
- Brian W.Karnighan, Dennis M.Ritchie, Język Ansi C, Helion, Gliwice, 2010, Wydanie II
- Jerzy Grębosz, Symfonia C++ Standard, Edition 2000, Kraków, 2008
Literatura dodatkowa
- Bjarne Stroustrup, Programowanie. Teoria i praktyka z wykorzystaniem C++, Helion, Gliwice, 2010
- Bruce Eckel, Thinking in C++. Edycja polska, Helion, Gliwice, 2002