Podstawy programowania i Języki Programowania to szereg konspektów zajęć (oraz materiały dodatkowe i odsyłacze) traktujących o różnych zagadnieniach z zakresu samej filozofii programowania, technik programistycznych jak i składni samego języka wraz z niezbędnymi ćwiczeniami rozwijającymi.
Przedstawione poniżej konspekty są uporządkowane chronologicznie i tematycznie od podstaw do punktu w którym można przejść na poziom średnio zaawansowany, stanowią podstawę tematyczną prowadzonych zajęć i mogą stanowić pomoc dydaktyczną w samodzielnej pracy studenta przy nauce, powtarzaniu i ćwiczeniach materiału. Nie stanowią pełnego kompendium i są jedynie uszczegółowieniem wybranych zagadnień z materiału podstawowego z wykładów.
Krok po kroku omówimy tu strukturę języka JAVA oraz filozofię programowania. Postaram się w sposób nad wyraz jasny wskazać błędy koncepcyjne i sposoby ich ominięcia – jest to część dość często pomijana w różnych kursach i podręcznikach. Spróbuję obudzić w Was chęć eksperymentowania z kodem i eksploracji wiedzy z wykorzystaniem takich źródeł jak dokumentacja języka.
Zanim rozpocznie się przygodę z programowaniem należy przemyśleć strukturę programu, zrozumieć co chcemy zrobić i jak to możemy zrobić. Do tego służy notacja algorytmów, której kilka rodzajów poznamy na wprowadzeniu do programowania (PP). Jedną z takich notacji jest notacja w postaci schematów blokowych, można w ten sposób rozrysować nasz algorytm, zweryfikować jego poprawność i przejść do jego zakodowania do działającego programu. Oprogramowaniem umożliwiającym tworzenie takich schematów blokowych jest np. Diagram Designer, który jako darmowe narzędzie posłuży nam do zobrazowania algorytmów w postaci schematów (można użyć też narzędzia on-line: draw.io. Przykładowy link do jego pobrania umieszczony został powyżej.
Programowanie wymaga środowiska pracy w którym będzie nam wygodnie pisać kod. Można oczywiście użyć do tego notatnika Windows lub innego edytora tekstowego, ale jest to dosyć niewygodne i sprzyja pojawianiu się błędów. Takie podejście utrudnia testowanie programów i ich rozwój. Z uwagi na powyższe należy wybrać któreś ze środowisk sprzyjających programowaniu, ze szczególnym uwzględnieniem tych, które wesprą nas w pisaniu aplikacji w Javie. Jednym z nich jest NetBeans np. w wersji 8.2 64-bitowa (lub wersja 32bit tutaj) dostępny do pobrania i używania za darmo. Ważnym jest aby zainstalować niezbędne komponenty JDK zawierające biblioteki potrzebne nam do programowania. Podane wyżej linki do ściągnięcia wymienionego programu zawierają już w sobie instalator niezbędnych komponentów. W naszych pracach opierać się będziemy na tej właśnie wersji oprogramowania i zachowanie zgodności wersji i rodzaju środowiska może być pomocne w uzyskaniu pomocy merytorycznej od prowadzącego.
Tematy: Podstawy Programowania.
- Filozofia programowania – zagadnienie algorytmu, sposoby notacji kodu programu.
- Schematy blokowe i przepływ aktywności programu.
- Algorytmy – podstawowe zagadnienia.
- Algorytmy – klasyczne zagadnienia.
- Algorytmy – zaawansowane zagadnienia.
- Schematy blokowe – Programowanie zespołowe.
- Wzorce projektowe.
Tematy: Języki Programowania
- Środowisko programistyczne i pierwszy program.
- Typy danych.
- Strumienie, formatowanie wyświetlanych informacji, operowanie tekstem.
- Operacje arytmetyczne i binarne operacje bitowe.
- Wyrażenia warunkowe: if … else; switch/case; trój-argumentowy operator warunkowy ? :.
- Tablice jedno i wielowymiarowe.
- Pętle i zagrożenia.
- Obsługa klawiatury.
- Obsługa plików tekstowych i binarnych.
- Tablice „dynamiczne” – kolekcje: listy, wektory, kolejki, sety, mapy.
- Podejście obiektowe – pojęcie klasy, konstrukcja obiektu (konstruktory, metody).
- Dziedziczenie.
- Klasy i metody abstrakcyjne. Interfejsy.
- Wyłączanie dziedziczenia, opieczętowywanie klas.
- Polimorfizm.
Dodatek
- Liczby pseudolosowe.
- Konkatenacja Stringów.
- Metody ze zmienną liczbą argumentów (varargs).
- „Zabawy” z datą i czasem.
- Przekazywanie parametrów do programu, zmienne środowiskowe, Kod wyjścia z programu
- Przykładowe zadania do samodzielnej pracy studenta (z objaśnieniami i rozwiązaniami).
- Program zaliczeniowy 2022.
- Przykładowe zadania egzaminacyjne
Laboratoria to cykl zadań z tematyki wprowadzonej wykładami, w ramach laboratoriów tworzony jest projekt zaliczeniowy, który jest podstawą do uzyskania zaliczenia z modułu.
Laboratoria udostępniane są studentowi poprzez system nauki zdalnej.
W trakcie laboratoriów wiedza studentów weryfikowana jest dwoma kolokwiami. Średnia ocena z kolokwiów i z projektu jest 60% podstawą do wystawianej studentowi oceny za moduł. Na pozostałą 40% część oceny składa się ocena pracy studenta przez prowadzącego moduł. Uzyskanie minimum 60% całości punktowej jest traktowane jako zaliczenie modułu.
Udział studentów w zajęciach on-line wymaga użycia kamery z mikrofonem i odbywa się w środowisku MS Teams. W trakcie zajęć kamera winna być włączona, mikrofon wyciszony (włączany jedynie na czas konwersacji).