„KODUJ I ZWYCIĘŻAJ” PODSTAWY JĘZYKA C#

Koncepcja nauki C# w ZSNR1 w ujęciu konsolowym, desktopowym i mobilnym

Etap 1: Fundamenty C# (konsola, VS2022 lub VSC)

  1. Podstawy języka C#:
    • zmienne, typy danych, operatory
    • instrukcje warunkowe i pętle
    • proste programy konsolowe
  2. Obiekty i klasy:
    • klasy, właściwości, metody
    • konstruktory, zdarzenia
    • tworzenie obiektów, przekazywanie danych między klasami
  3. Programowanie obiektowe:
    • dziedziczenie, polimorfizm, enkapsulacja
    • interfejsy i klasy abstrakcyjne

Etap 2: Praktyka z danymi i kolekcjami

  1. Kolekcje i zbiory:
    • listy, słowniki, kolejki, HashSet
    • pętle foreach, LINQ (na prostych przykładach)
  2. Praca z plikami i strumieniami:
    • zapis/odczyt do pliku (txt, csv)
    • podstawy File, StreamReader, StreamWriter
  3. Testy jednostkowe

Etap 3: Interfejsy graficzne (desktop)

  1. Windows Forms (WinForms):
    • formularze, przyciski, zdarzenia
    • przekazywanie danych między formularzami
    • obsługa danych wejściowych/wyjściowych

Etap 4: Programowanie mobilne (Visual Studio 2022)

  1. .NET MAUI (aplikacje mobilne):
    • podstawowy layout, strony, nawigacja
    • dane lokalne, zdarzenia, proste UI
    • kompatybilność z tym co znałeś z WinForms

Etap 5: Zaawansowane możliwości C#

  1. Asynchroniczność i wielowątkowość:
    • async, await, Task
    • podstawy Thread, Timer
  2. Programowanie funkcyjne:
    • wyrażenia lambda, funkcje anonimowe
    • metody rozszerzające, LINQ (bardziej zaawansowane)

Etap 6: Praca z bazami danych

  1. Bazy danych SQL:
    • ADO.NET i Entity Framework Core
    • operacje CRUD z bazą danych (np. SQLite lub SQL Server)
  2. Bazy danych NoSQL (opcjonalnie):
    • MongoDB + driver dla C#

Etap 7: Inne zastosowania (opcjonalne)

  1. JSON i XML:
    • odczyt/zapis danych w formacie JSON i XML
  2. Praca z siecią:
    • TcpClient, NetworkStream (na prostych przykładach)
  3. Bezpieczeństwo:
    • haszowanie, szyfrowanie danych (podstawy)
  4. Testowanie i debugowanie:
    • Debug, Try-Catch, testy jednostkowe