- Nazwa przedmiotu:
- Podstawy programowania
- Koordynator przedmiotu:
- dr hab. inż. Andrzej Czerepicki, profesor uczelni, Wydział Transportu Politechniki Warszawskiej, Zakład Systemów Informatycznych i Mechatronicznych w Transporcie
- Status przedmiotu:
- Obowiązkowy
- Poziom kształcenia:
- Studia I stopnia
- Program:
- Transport
- Grupa przedmiotów:
- Obowiązkowe
- Kod przedmiotu:
-
- Semestr nominalny:
- 2 / rok ak. 2022/2023
- Liczba punktów ECTS:
- 5
- Liczba godzin pracy studenta związanych z osiągnięciem efektów uczenia się:
- 145 godz., w tym: praca na wykładach 30 godz., praca na zajęciach komputerowych 30 godz., studiowanie literatury w zakresie wykładu 15 godz., przygotowanie się do zaliczenia 6 godz., konsultacje w zakresie wykładu 1 godz., przygotowanie się do kolokwiów w zakresie zajęć komputerowych 60 godz., konsultacje w zakresie zajęć komputerowych 3 godz.
- Liczba punktów ECTS na zajęciach wymagających bezpośredniego udziału nauczycieli akademickich:
- 2,5 pkt. ETCS (64 godz., w tym: praca na wykładach 30 godz., praca na zajęciach komputerowych 30 godz., konsultacje w zakresie wykładu 1 godz., konsultacje w zakresie zajęć komputerowych 3 godz.), udział 1 egzaminie 1 godz.
- Język prowadzenia zajęć:
- polski
- Liczba punktów ECTS, którą student uzyskuje w ramach zajęć o charakterze praktycznym:
- 3,5 pkt. ECTS (93 godz., w tym: praca na zajęciach komputerowych 30 godz., przygotowanie się do kolokwiów w zakresie zajęć komputerowych 60 godz., konsultacje w zakresie zajęć komputerowych 3 godz.)
- Formy zajęć i ich wymiar w semestrze:
-
- Wykład30h
- Ćwiczenia0h
- Laboratorium0h
- Projekt0h
- Lekcje komputerowe30h
- Wymagania wstępne:
- nie ma
- Limit liczby studentów:
- Wykład: 100 osób, zajęcia komputerowe: 14 osób.
- Cel przedmiotu:
- Opanowanie zasad strukturalnego i obiektowego programowania w języku wysokiego poziomu, podstaw tworzenia algorytmów oraz definiowania struktur danych, technik tworzenia kodów źródłowych: deklarowania danych, operacji na danych, instrukcji warunkowych, pętli, działań na plikach danych, tworzenia klas i obiektów, realizacji interfejsu użytkownika w aplikacjach konsolowych, graficznych oraz sieciowych.
- Treści kształcenia:
- Wykłady:
Wstęp do programowania. Środowisko zintegrowane programowania, zasady pisania kodu źródłowego. Kompilacja i uruchomienie programu. Aplikacja konsolowa. Instrukcje wejścia-wyjścia. Podstawowe typy danych. Operacje arytmetyczne. Pojęcie zmiennej. Instrukcje warunkowe. Instrukcje pętli. Tablice i pliki. Podstawy programowania obiektowego. Klasy, obiekty oraz interfejsy. Metody i pola klasy. Dziedziczenie klas. Podstawy programowania grafiki. Obsługa poleceń klawiatury i myszy. Aplikacje z interfejsem graficznym. Menu, okno główne aplikacji oraz elementy sterowania. Programowanie zdarzeniowe. Równoległe wykonanie kodu. Podstawy programowania baz danych. Podstawy programowania aplikacji sieciowych.
Zajęcia komputerowe:
Zasady pisania programów w zintegrowanym środowisku IDE. Kompilacja i uruchomienie programu. Metody wejścia-wyjścia. Obsługa wyjątków. Wykorzystanie podstawowych i złożonych typów danych. Realizacja algorytmów obliczeniowych. Zapis i odczyt danych z plików. Operacje na tablicach. Podstawy programowania grafiki i animacji. Obsługa zdarzeń myszy i klawiatury. Programowanie aplikacji z interfejsem tekstowym oraz graficznym.
- Metody oceny:
- Wykłady: ocena jest wystawiana na podstawie liczby punktów uzyskanych przez studenta na zaliczeniu; zaliczenie przeprowadzane jest w formie testu komputerowego składającego się z 15..30 pytań z zakresu zagadnień omawianych na wykładach. Pytania obejmują każdy z efektów kształcenia w zakresie wiedzy. W celu zaliczenia egzaminu należy uzyskać pozytywną (> 50% poprawnych odpowiedzi) ocenę dla każdego z efektów.
Zajęcia komputerowe: ocena jest wystawiana na podstawie sumy punktów uzyskanych z dwóch kolokwiów pisemnych. Każde kolokwium jest oceniane w skali od 0 do 50 punktów. Punkty są przyznawane zgodnie z ustaloną listą obejmującą wszystkie efekty kształcenia w zakresie umiejętności, która zawiera nazwę ocenianej cechy rozwiązania oraz liczbę przyznawanych punktów. W celu zaliczenia zajęć komputerowych należy uzyskać pozytywną (>50% punktów możliwych do zdobycia) ocenę dla każdego z efektów.
Ocena końcowa z przedmiotu jest średnią arytmetyczną ocen z wykładu oraz zajęć komputerowych, pod warunkiem że obie są pozytywne.
- Egzamin:
- nie
- Literatura:
- 1) C.S. Horstmann. Java. Podstawy. Wydanie XI, Helion, 2019
2) M.Lis: Java. Ćwiczenia praktyczne. Wydanie IV, Helion, 2014
- Witryna www przedmiotu:
- brak
- Uwagi:
- O ile nie powoduje to zmian w zakresie powiązań danego przedmiotu z efektami uczenia się w treściach kształcenia mogą być wprowadzane na bieżąco zmiany związane z uwzględnieniem najnowszych osiągnięć naukowych
Efekty uczenia się
Profil ogólnoakademicki - wiedza
- Charakterystyka W01
- Posiada wiedzę o zasadach budowy programów komputerowych, typach danych, ich strukturze oraz sposobach deklarowania
Weryfikacja: Komputerowy test składający się z pytań zamkniętych, wymagana jest poprawna odpowiedź na co najmniej 50% z liczby pytań odnoszących się do danego efektu
Powiązane charakterystyki kierunkowe:
Tr1A_W06
Powiązane charakterystyki obszarowe:
P6U_W, I.P6S_WG.o
- Charakterystyka W02
- Zna podstawowe operacje na typach danych, instrukcje warunkowe oraz pętle, zasady działań na tablicach oraz plikach
Weryfikacja: Komputerowy test składający się z pytań zamkniętych, wymagana jest poprawna odpowiedź na co najmniej 50% z liczby pytań odnoszących się do danego efektu
Powiązane charakterystyki kierunkowe:
Tr1A_W06
Powiązane charakterystyki obszarowe:
P6U_W, I.P6S_WG.o
- Charakterystyka W03
- Zna podstawowe koncepcje programowania obiektowego: hermetyzację, dziedziczność, polimorfizm oraz metody programowania obiektowego
Weryfikacja: Komputerowy test składający się z pytań zamkniętych, wymagana jest poprawna odpowiedź na co najmniej 50% z liczby pytań odnoszących się do danego efektu
Powiązane charakterystyki kierunkowe:
Tr1A_W06
Powiązane charakterystyki obszarowe:
P6U_W, I.P6S_WG.o
- Charakterystyka W04
- Zna zasady budowy interfejsów użytkownika w aplikacjach konsolowych, graficznych oraz sieciowych
Weryfikacja: Komputerowy test składający się z pytań zamkniętych, wymagana jest poprawna odpowiedź na co najmniej 50% z liczby pytań odnoszących się do danego efektu
Powiązane charakterystyki kierunkowe:
Tr1A_W06
Powiązane charakterystyki obszarowe:
P6U_W, I.P6S_WG.o
- Charakterystyka W05
- Posiada wiedzę z zakresu programowania aplikacji wykorzystujących bazę danych, aplikacji komunikujących się przez sieć oraz podstaw aplikacji WWW z wykorzystaniem języka HTML
Weryfikacja: Komputerowy test składający się z pytań zamkniętych, wymagana jest poprawna odpowiedź na co najmniej 50% z liczby pytań odnoszących się do danego efektu
Powiązane charakterystyki kierunkowe:
Tr1A_W06
Powiązane charakterystyki obszarowe:
P6U_W, I.P6S_WG.o
Profil ogólnoakademicki - umiejętności
- Charakterystyka U01
- Potrafi implementować algorytmy operujące na zmiennych, strukturach danych oraz plikach, z wykorzystaniem instrukcji warunkowych, pętli, wprowadzania oraz wyprowadzania danych, w wybranym języku programowania
Weryfikacja: Indywidualne zadanie zaliczeniowe na kolokwium wykonywane na komputerze, wymagane jest uzyskanie co najmniej 50% wartości punktów przypisanych do danego efektu
Powiązane charakterystyki kierunkowe:
Tr1A_U11
Powiązane charakterystyki obszarowe:
I.P6S_UW.o, III.P6S_UW.o, P6U_U
- Charakterystyka U02
- Umie realizować graficzny interfejs użytkownika aplikacji komputerowej z wykorzystaniem technik programowania obiektowego, interfejsów oraz elementów grafiki komputerowej
Weryfikacja: Indywidualne zadanie zaliczeniowe na kolokwium wykonywane na komputerze, wymagane jest uzyskanie co najmniej 50% wartości punktów przypisanych do danego efektu
Powiązane charakterystyki kierunkowe:
Tr1A_U11
Powiązane charakterystyki obszarowe:
P6U_U, I.P6S_UW.o, III.P6S_UW.o
Profil ogólnoakademicki - kompetencje społeczne
- Charakterystyka K01
- Jest gotów do krytycznej oceny odbieranych treści i własnej wiedzy, przy czym rozumie potrzebę systematycznego podnoszenia poziomu swojej wiedzy informatycznej wynikającą z szybkiego rozwoju informatyki, jej metod oraz technologii.
Weryfikacja: Ocena aktywności podczas zajęć - wymagane jest rozwiązanie co najmniej jednego zadania podczas zajęć praktycznych
Powiązane charakterystyki kierunkowe:
Tr1A_K01
Powiązane charakterystyki obszarowe:
P6U_K, I.P6S_KK