Technikum Klasa II 45 minut PP: II.1+II.2 | s. 343

Lekcja 19: Programowanie - projekt indywidualny (1): planowanie

Analiza problemu, specyfikacja projektu, planowanie implementacji

📋 Podstawa programowa: II.1+II.2
planowanieprogramowanieprojekt indywidualnyspecyfikacja
00:00
Wprowadzenie
5 min
00:05
Teoria
15 min
00:20
Planowanie
15 min
00:35
Konsultacje
10 min
📚

Teoria

Projekt indywidualny - o co chodzi?

W ramach projektu indywidualnego kazdy uczen samodzielnie zaprojektuje i zaimplementuje program w Pythonie, ktory rozwiazuje wybrany problem. Projekt rozlozony jest na 4 lekcje: planowanie (L19), implementacja (L20), testowanie (L21) i prezentacja (L22).

Cel projektu: Pokazac umiejetnosc samodzielnego przejscia przez caly cykl zycia programu: od analizy problemu, przez projektowanie, implementacje, testowanie, az po prezentacje gotowego rozwiazania.

Etapy planowania projektu programistycznego

  1. Wybor tematu - zdefiniowanie problemu, ktory program ma rozwiazac
  2. Analiza wymagan - co program ma robic? jakie dane wejsciowe i wyjsciowe?
  3. Specyfikacja projektu - formalny opis projektu (cel, funkcje, ograniczenia)
  4. Projektowanie algorytmu - schemat blokowy lub pseudokod
  5. Planowanie struktury kodu - podział na funkcje/moduly
  6. Harmonogram pracy - co kiedy zrobic

Specyfikacja projektu - szablon

Kazdy uczen powinien przygotowac dokument specyfikacji zawierajacy:

  • Tytul projektu
  • Opis problemu - jaki problem rozwiazuje program?
  • Dane wejsciowe - co uzytkownik podaje?
  • Dane wyjsciowe - co program zwraca/wyswietla?
  • Glowne funkcje programu - lista funkcjonalnosci
  • Algorytm - schemat blokowy lub pseudokod glownej logiki
  • Narzedzia - Python 3.x, dodatkowe biblioteki
  • Plan testow - jakie scenariusze przetestuje?

Propozycje tematow projektow

Mozesz wybrac jeden z ponizszych tematow lub zaproponowac wlasny (do zatwierdzenia przez nauczyciela):

  1. Kalkulator statystyczny - oblicza srednia, mediane, odchylenie standardowe, rysuje wykresy
  2. Gra tekstowa - przygodowa gra decyzyjna z watkow fabularnych
  3. Menedzer zadan (To-Do) - dodawanie, usuwanie, oznaczanie zadan jako wykonane, zapis do pliku
  4. Szyfrowanie i deszyfrowanie - implementacja roznych szyfrow (Cezar, Vigenere, XOR)
  5. Quiz tematyczny - pytania z bazy, zliczanie punktow, ranking
  6. Analizator tekstu - statystyki tekstu: liczba slow, znakow, najczestsze slowa, czytelnosc
  7. Konwerter jednostek - przeliczanie miedzy roznymi jednostkami (dlugosci, wagi, temperatury, walut)
  8. Generator hasel - losowe hasla z konfiguracja sily i dlugosci, sprawdzanie sily hasla

Kryteria oceny projektu

  • Specyfikacja i planowanie (20%) - jasnosc opisu, przemyslana struktura
  • Poprawnosc dzialania (30%) - program dziala zgodnie ze specyfikacja
  • Jakosc kodu (20%) - czytelnosc, komentarze, podzial na funkcje
  • Testowanie (15%) - przypadki testowe, obsluga bledow
  • Prezentacja (15%) - umiejetnosc przedstawienia projektu
✏️

Zadania

Latwe

Zadanie 1: Wybor tematu

Wybierz temat projektu z listy propozycji lub zaproponuj wlasny. Napisz 3-5 zdan uzasadniajacych wybor: dlaczego ten temat? jaki problem rozwiazuje? dla kogo jest przeznaczony?

Srednie

Zadanie 2: Specyfikacja projektu

Wypelnij szablon specyfikacji projektu: tytul, opis problemu, dane wejsciowe/wyjsciowe, lista funkcji, narzedzia. Oddaj dokument nauczycielowi do zatwierdzenia.

Srednie

Zadanie 3: Algorytm glownej logiki

Narysuj schemat blokowy lub napisz pseudokod glownej logiki Twojego programu. Uwzglednij: wczytanie danych, przetwarzanie, wyswietlenie wynikow, obsluge bledow.

Pokaz przyklad (Quiz tematyczny)
PSEUDOKOD - Quiz tematyczny:

1. Wczytaj pytania z pliku (lista slownikow)
2. Wymieszaj kolejnosc pytan
3. Ustaw wynik = 0
4. DLA KAZDEGO pytania:
   a. Wyswietl tresc pytania
   b. Wyswietl odpowiedzi A, B, C, D
   c. Wczytaj odpowiedz uzytkownika
   d. JESLI odpowiedz poprawna:
      - wynik = wynik + 1
      - Wyswietl "Dobrze!"
   e. W PRZECIWNYM RAZIE:
      - Wyswietl "Zle! Poprawna: ..."
5. Wyswietl wynik koncowy: X / N
6. Zapisz wynik do pliku rankingowego
Srednie

Zadanie 4: Struktura kodu

Zaplanuj strukture kodu: jakie funkcje beda potrzebne? Co kazda funkcja robi? Jakie parametry przyjmuje i co zwraca? Zapisz to w formie "szkieletu" programu (same naglowki funkcji z komentarzami).

Pokaz przyklad szkieletu
# quiz.py - Quiz tematyczny

def wczytaj_pytania(plik):
    """Wczytuje pytania z pliku JSON.
    Zwraca liste slownikow."""
    pass

def wyswietl_pytanie(pytanie, numer):
    """Wyswietla pytanie i odpowiedzi.
    Parametry: slownik pytania, numer pytania."""
    pass

def sprawdz_odpowiedz(pytanie, odpowiedz):
    """Sprawdza poprawnosc odpowiedzi.
    Zwraca True/False."""
    pass

def zapisz_wynik(nazwa, wynik, plik_ranking):
    """Zapisuje wynik do pliku rankingowego."""
    pass

def pokaz_ranking(plik_ranking):
    """Wyswietla ranking najlepszych wynikow."""
    pass

def main():
    """Glowna funkcja programu."""
    pass

if __name__ == "__main__":
    main()
🎥

Materialy wideo

Edycja planu zajęć - nauczyciel indywidualny
Dziennik Elektroniczny Fryderyk
Sztosy 1. edycji Kursu Framera
Klika
🎧

Podcasty

✔️

Quiz - sprawdz sie!

📜

Podstawa programowa

← Lekcja 18: E-nauczanie Lekcja 20: Projekt indywidualny (2): implementacja →