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ę:
144 godz., w tym: godziny wykładu 18 godz.,praca na zajęciach komputerowych 18 godz., zapoznanie się ze wskazaną literaturą w zakresie wykładu 19 godz., przygotowanie do zaliczenia 12 godz., konsultacje w zakresie wykładu 2 godz., przygotowanie do kolokwiów w zakresie zajęć komputerowych 71 godz., konsultacje w zakresie zajęć komputerowych 4 godz.
Liczba punktów ECTS na zajęciach wymagających bezpośredniego udziału nauczycieli akademickich:
1,5 pkt. ECTS (42 godz., w tym: godziny wykładu 18 godz., praca na zajęciach komputerowych 18 godz., konsultacje w zakresie wykładu 2 godz., konsultacje w zakresie zajęć komputerowych 4 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 18 godz., przygotowanie do kolokwiów w zakresie zajęć komputerowych 71 godz., konsultacje w zakresie zajęć komputerowych 4 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: P6U_U, I.P6S_UW.o, III.P6S_UW.o
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: Przedłużona obserwacja.
Powiązane charakterystyki kierunkowe: Tr1A_K01
Powiązane charakterystyki obszarowe: P6U_K, I.P6S_KK