Liceum Klasa III 45 minut PP: II.2 | s. 343

Lekcja 6: Dobor srodowisk i aplikacji do rozwiazywania problemow

IDE, narzedzia online, biblioteki i frameworki - jak wybrac odpowiednie narzedzie

📋 Podstawa programowa: II.2
IDEIoTbibliotekinarzedziaochrona danychrozwiazywanie problemow
00:00
Wprowadzenie
5 min
00:05
Teoria
15 min
00:20
Cwiczenia
15 min
00:35
Podsumowanie
10 min
📚

Teoria

Czym jest srodowisko programistyczne?

Wybor odpowiedniego narzedzia to klucz do efektywnej pracy. Dobry informatyk powinien znac rozne srodowiska i umiec dobrac je do konkretnego problemu. Nie istnieje jedno idealne narzedzie do wszystkiego - kazde ma swoje zalety i ograniczenia.

Zintegrowane srodowiska programistyczne (IDE)

IDE (Integrated Development Environment) to aplikacja laczaca edytor kodu, kompilator/interpreter, debugger i inne narzedzia w jednym programie.

Popularne IDE i edytory kodu:
Visual Studio Code - uniwersalny, lekki, ogromna baza rozszerzen (darmowy)
PyCharm - dedykowany dla Pythona, zaawansowane funkcje (wersja Community darmowa)
IDLE - prosty edytor dolaczony do Pythona (idealny na poczatek)
Thonny - edytor stworzony z mysla o nauce Pythona
Replit - srodowisko online, bez instalacji, wspolpraca w czasie rzeczywistym
Google Colab - notebooki Jupyter w chmurze, swietne do analizy danych

Kryteria wyboru narzedzia

Przy wyborze narzedzia powinienenes rozwazyc:

  • Typ problemu - programowanie, analiza danych, strona WWW, baza danych?
  • Jezyk programowania - czy narzedzie obsluguje wybrany jezyk?
  • Zlozonosc projektu - prosty skrypt vs. duzy projekt zespolowy
  • Wspolpraca - czy trzeba pracowac w zespole?
  • Zasoby - dostepnosc komputera, polaczenie z internetem
  • Doswiadczenie - poziom zaawansowania uzytkownika

Narzedzia do roznych typow problemow

Programowanie i algorytmy:

  • Python + IDLE/Thonny/VS Code - algorytmy, skrypty, automatyzacja
  • Scratch - programowanie wizualne (poczatkujacy)
  • Replit/Google Colab - programowanie online bez instalacji

Strony internetowe:

  • VS Code + Live Server - tworzenie stron HTML/CSS/JS
  • CodePen - szybkie prototypowanie frontend
  • Figma - projektowanie interfejsow (UI/UX)
  • WordPress - strony bez kodowania (CMS)

Analiza danych:

  • LibreOffice Calc / Microsoft Excel - arkusze kalkulacyjne
  • Google Colab + pandas - analiza danych w Pythonie
  • Tableau Public - wizualizacja danych

Bazy danych:

  • DB Browser for SQLite - lokalna baza danych z interfejsem graficznym
  • phpMyAdmin - zarzadzanie bazami MySQL
  • SQL Fiddle - cwiczenie zapytan SQL online

Robotyka i IoT:

  • Arduino IDE - programowanie mikrokontrolerów Arduino
  • micro:bit Python Editor - programowanie micro:bit
  • Tinkercad Circuits - symulacja ukladow elektronicznych

Biblioteki i frameworki w Pythonie

Biblioteka to zestaw gotowych funkcji, ktore mozna wykorzystac w swoim programie. Framework to bardziej rozbudowana struktura definiujaca architekture aplikacji.

# Popularne biblioteki Python:
import math          # funkcje matematyczne
import random        # generowanie liczb losowych
import datetime      # praca z data i czasem
import csv           # czytanie/zapis plikow CSV
import json          # praca z danymi JSON
import os            # operacje na systemie plikow

# Biblioteki zewnetrzne (instalacja: pip install nazwa):
# matplotlib - wykresy i wizualizacje
# pandas - analiza danych
# requests - pobieranie danych z internetu
# flask - tworzenie aplikacji webowych
# pygame - tworzenie gier

# Przyklad uzycia biblioteki matplotlib
import matplotlib.pyplot as plt

x = [1, 2, 3, 4, 5]
y = [2, 4, 6, 8, 10]
plt.plot(x, y, 'b-o')
plt.title('Prosty wykres')
plt.xlabel('X')
plt.ylabel('Y')
plt.grid(True)
plt.show()
✏️

Zadania

Latwe

Zadanie 1: Dobor narzedzi

Dla kazdego z ponizszych problemow dobierz najlepsze narzedzie i uzasadnij swoj wybor: a) napisanie programu liczacego NWD, b) stworzenie strony internetowej klasy, c) analiza wynikow ankiety (100 odpowiedzi), d) prezentacja na konkurs, e) sterowanie robotem.

Pokaz rozwiazanie
a) Program liczacy NWD:
   Narzedzie: Python + Thonny lub IDLE
   Uzasadnienie: Prosty algorytm, Python idealny do szybkiego
   prototypowania, Thonny ma debugger krok po kroku.

b) Strona internetowa klasy:
   Narzedzie: VS Code + Live Server + GitHub Pages
   Uzasadnienie: Profesjonalny edytor z podgladem na zywo,
   darmowy hosting na GitHub Pages, mozliwosc wspolpracy.

c) Analiza wynikow ankiety:
   Narzedzie: LibreOffice Calc lub Google Sheets
   Uzasadnienie: 100 odpowiedzi to idealny rozmiar dla arkusza,
   latwe tworzenie wykresow, funkcje statystyczne wbudowane.

d) Prezentacja na konkurs:
   Narzedzie: Google Slides lub Canva
   Uzasadnienie: Profesjonalne szablony, mozliwosc wspolpracy
   online, eksport do PDF.

e) Sterowanie robotem:
   Narzedzie: Arduino IDE + Tinkercad (symulacja)
   Uzasadnienie: Standard w robotyce edukacyjnej, ogromna
   baza przykladow, mozliwosc symulacji przed budowa.
Srednie

Zadanie 2: Porownanie IDE

Zainstaluj (lub uzyj online) dwa rozne srodowiska: Thonny i VS Code. W obu napisz ten sam program (np. kalkulator). Porownaj je w tabeli wedlug kryteriow: latwosc obslugi, szybkosc dzialania, debugowanie, rozszerzenia, wyglad.

Pokaz rozwiazanie
# Program do napisania w obu IDE - kalkulator
def kalkulator():
    print("=== KALKULATOR ===")
    a = float(input("Pierwsza liczba: "))
    op = input("Operacja (+, -, *, /): ")
    b = float(input("Druga liczba: "))

    if op == '+':
        wynik = a + b
    elif op == '-':
        wynik = a - b
    elif op == '*':
        wynik = a * b
    elif op == '/':
        if b != 0:
            wynik = a / b
        else:
            print("Blad: dzielenie przez zero!")
            return
    else:
        print("Nieznana operacja!")
        return

    print(f"Wynik: {a} {op} {b} = {wynik}")

kalkulator()

# POROWNANIE (przykladowa tabela):
# Kryterium      | Thonny        | VS Code
# --------------|---------------|----------------
# Latwosc       | Bardzo latwy  | Sredni (wymaga konfiguracji)
# Szybkosc      | Szybki        | Szybki
# Debugger      | Wbudowany     | Wymaga rozszerzenia
# Rozszerzenia  | Malo          | Tysiace
# Dla kogo      | Poczatkujacy  | Sredniozaawansowani+
Srednie

Zadanie 3: Uzycie biblioteki zewnetrznej

Zainstaluj biblioteke matplotlib (pip install matplotlib) i stworz wykres slupkowy pokazujacy liczbe uczniow w 5 klasach trzecich (dane wymysl). Dodaj tytul, etykiety osi i kolory.

Pokaz rozwiazanie
import matplotlib.pyplot as plt

klasy = ['3a', '3b', '3c', '3d', '3e']
liczba_uczniow = [28, 32, 25, 30, 27]
kolory = ['#3498db', '#e74c3c', '#2ecc71', '#f39c12', '#9b59b6']

plt.figure(figsize=(10, 6))
plt.bar(klasy, liczba_uczniow, color=kolory, edgecolor='black')
plt.title('Liczba uczniow w klasach trzecich', fontsize=16)
plt.xlabel('Klasa', fontsize=12)
plt.ylabel('Liczba uczniow', fontsize=12)
plt.ylim(0, 35)

# Dodanie wartosci nad slupkami
for i, v in enumerate(liczba_uczniow):
    plt.text(i, v + 0.5, str(v), ha='center', fontsize=11)

plt.grid(axis='y', alpha=0.3)
plt.tight_layout()
plt.savefig('wykres_klasy.png')
plt.show()
Trudne

Zadanie 4: Mapa narzedzi informatyka

Stworz rozbudowana mape myslowa (na papierze, w programie lub jako strone HTML) przedstawiajaca ekosystem narzedzi informatycznych. Podziel na kategorie: programowanie, web, dane, robotyka, grafika, biuro. Dla kazdej podaj min. 3 narzedzia z krotkim opisem.

Pokaz rozwiazanie
MAPA NARZEDZI INFORMATYKA

PROGRAMOWANIE:
  - Python (IDLE, Thonny, PyCharm) - algorytmy, skrypty
  - Scratch - programowanie wizualne
  - Replit - programowanie online
  - GitHub - kontrola wersji kodu

WEB (STRONY INTERNETOWE):
  - VS Code + Live Server - edycja HTML/CSS/JS
  - CodePen - prototypowanie frontend
  - Figma - projektowanie UI
  - GitHub Pages - darmowy hosting

ANALIZA DANYCH:
  - LibreOffice Calc / Excel - arkusze
  - Google Colab - notebooki Python
  - Tableau Public - wizualizacje
  - pandas + matplotlib - Python

BAZY DANYCH:
  - SQLite + DB Browser - lokalne bazy
  - MySQL + phpMyAdmin - bazy serwerowe
  - SQL Fiddle - cwiczenia online

ROBOTYKA / IoT:
  - Arduino IDE - mikrokontrolery
  - micro:bit Editor - micro:bit
  - Tinkercad - symulacja ukladow

GRAFIKA / MULTIMEDIA:
  - GIMP - edycja obrazow (darmowy)
  - Canva - grafika online
  - Audacity - edycja dzwieku
  - OBS Studio - nagrywanie ekranu

BIURO / KOMUNIKACJA:
  - LibreOffice - pakiet biurowy
  - Google Workspace - narzedzia online
  - Trello / Notion - zarzadzanie projektami
🎥

Materialy wideo

Trenuj swój umysł jak 1% najlepszych (skupienie i dyscyplina)
Evan Carmichael
Uruchamianie aplikacji Windows w systemie Linux Mint 22.3 za pomocą WinBoat (pełny przewodnik dla...
TechSolutionZ
🎧

Podcasty

✔️

Quiz - sprawdz sie!

📜

Podstawa programowa

← Lekcja 5: Elementy robotyki Siatka godzinowa Lekcja 7: Arkusz kalkulacyjny →