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.

  1. Filozofia programowania – zagadnienie algorytmu, sposoby notacji kodu programu.
  2. Schematy blokowe i przepływ aktywności programu.
  3. Algorytmy – podstawowe zagadnienia.
  4. Algorytmy – klasyczne zagadnienia.
  5. Algorytmy – zaawansowane zagadnienia.
  6. Schematy blokowe – Programowanie zespołowe.
  7. Wzorce projektowe.

Tematy: Języki Programowania

  1. Środowisko programistyczne i pierwszy program.
  2. Typy danych.
  3. Strumienie, formatowanie wyświetlanych informacji, operowanie tekstem.
  4. Operacje arytmetyczne i binarne operacje bitowe.
  5. Wyrażenia warunkowe: if … else; switch/case; trój-argumentowy operator warunkowy ? :.
  6. Tablice jedno i wielowymiarowe.
  7. Pętle i zagrożenia.
  8. Obsługa klawiatury.
  9. Obsługa plików tekstowych binarnych.
  10. Tablice „dynamiczne” – kolekcje: listy, wektory, kolejki, sety, mapy.
  11. Podejście obiektowe – pojęcie klasy, konstrukcja obiektu (konstruktory, metody).
  12. Dziedziczenie.
  13. Klasy i metody abstrakcyjne. Interfejsy.
  14. Wyłączanie dziedziczenia, opieczętowywanie klas.
  15. Polimorfizm.

Dodatek

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).