Wstęp do wstępu…

Jaki język na początek, by zrozumieć programowanie?! Dlaczego tu omawiamy takie języki jak Python C/C++?? Dlatego, że są to jedne z najbardziej uniwersalnych języków programowania.

W poszukiwaniu najlepszego środowiska (programistycznego).

Każdy język ma swoje narzędzia ułatwiające pracę w nim, część z nich jest uniwersalna dla wielu języków, część jest dedykowana wąskiemu aspektowi konkretnego języka programowania, a C/C++?!

Pisząc programy w Pythonie możemy oprzeć się na jednym z popularniejszych środowisk PyCharm, które dla studentów jest bezpłatne (po rejestracji).

PyCharm – panel środowiska

Programując w C/C++ można oprzeć się na kilku środowiskach programistycznych. Tutaj, na potrzeby dydaktyki związanej z JPO wykorzystamy środowisko DEV-C++ dostępne bezpłatnie.

Dev C++ – panel środowiska

Inną możliwością są dostępne interpretery i kompilatory on-line, gdzie można prototypować nasze programy niejako bezpośrednio w przeglądarce. Dla Pythona przykładowy interpreter znajduje się tutaj: https://www.programiz.com/python-programming/online-compiler/, a dla C/C++ tutaj: https://www.programiz.com/cpp-programming/online-compiler/.

Moduł: Programowanie I to 15 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.

Python: Wprowadzenie

Można by było zapytać: “Dlaczego zaczynamy od Pythona?” Odpowiedź jest albo prosta, albo skomplikowana. Na tą chwilę zostańmy przy prostej – Python jest językiem, którego składnia jest niejako wprost prowadząca do tego co chcemy zrobić. Nie trzeba używać przygotowanej wstępnie struktury otaczającej (z ang: boilerplate). Po prostu piszemy, używając poleceń języka, to co ma program wykonywać.

C/C++: Wprowadzenie

C++ jest już językiem wykorzystującym strukturę podstawową, którą trzeba niejako znać, aby móc napisać działający program. Dlatego też poczekamy nieco zanim zagłębimy się w jego strukturę.

Semantyka, syntaktyka i cała reszta

Każdy język programowania korzysta ze słownika zawierającego zestaw poleceń kluczowych dla funkcjonowania języka – to jego semantyka. Sposób ich użycia w linii polecenia oraz całe otoczenie wyrazu, obudowanie go niezbędną nadbudową składającą się z dodatkowych elementów to syntaktyka języka. Całą resztę stanowią te tajemnicze dodatkowe elementy będące wspomnianą nadbudową języka, a decydujące o funkcjonalnej realizacji zadania jakie stawiamy przed daną linijką programu.

Zaczynamy kurs

Poniżej w poszczególnych rozdziałach znajduje się kurs krok po kroku wprowadzający w tajemnicę świata programistów. Zanim jednak przejdziemy dalej – należy pobrać oprogramowanie środowisk programistycznych wspomniane wyżej, zainstalować je na komputerze i sprawdzić, czy się uruchamia. Jeśli ten krok zostanie poczyniony można pomyśleć o następnym. Tak więc – zaczynamy:

  1. #Python: Środowisko programistyczne i pierwszy program;
  2. #Python, i #C/C++: Typy danych;
  3. #Python: Operowanie tekstem;
  4. #Python: Wbudowane funkcje
  5. #Python: Wyrażenia warunkowe i zapętlanie programu
  6. #Python: Pliki tekstowe i binarne


    #Python: Dodatek: Know-how – obsługa random, daty, systemu itp…

Zajęcia przewidziane są w tzw. kontakcie, czyli w fizycznym spotkaniu. Kurs przygotowany jest jednak jako kompletne kompendium podstawowej wiedzy do samodzielnego przyswojenia. Możliwy jest także udział studentów w zajęciach on-line, wymaga on jednak 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).