Pomysły na proste projekty
1. Prosta strona portfolio (aplikacja webowa) – stwórz własną stronę internetową w ASP.NET Core. Dodaj kilka zakładek: "O mnie", "Kontakt", może galerię zdjęć. Wybierz gotowy szablon lub napisz prosty kod w Razor Pages/MVC. To ćwiczenie pokaże Ci, jak działa routing, widoki i podstawowa stylizacja. Gdy zrobisz wersję "statyczną", możesz rozbudować stronę o blog czy formularz kontaktowy.
2. Aplikacja To-Do (lista zadań, np. w Blazorze) – zaprojektuj interaktywną listę rzeczy do zrobienia. W Blazor WebAssembly możesz użyć czystego C# po stronie klienta: dodawaj nowe zadania, oznaczaj je jako wykonane, usuwaj. Przechowuj dane w pamięci (a później w pliku lub lokalnej bazie). To świetny trening dla nauki tworzenia UI w C# i obsługi zdarzeń (np. kliknięcie przycisku "Dodaj"). Bez Blazora możesz też zrobić to w zwykłej stronie ASP.NET z JavaScript albo w Windows Forms. ważne, żeby zaimplementować dodawanie i usuwanie elementów.
3. Quiz lub ankieta online (ASP.NET) – zbuduj prostą stronę, na której użytkownik odpowiada na kilka pytań (np. quiz wiedzy o programowaniu). Ustaw pytania i kilka możliwych odpowiedzi, sprawdź poprawność wyboru i pokaż wynik. Możesz użyć ASP.NET MVC lub Razor Pages, by wyświetlić formularz. To ćwiczenie nauczy Cię przekazywania danych między widokiem a serwerem i walidacji. W wersji bardziej rozbudowanej zapisz wyniki do pliku lub bazy.
4. Kalkulator BMI (aplikacja desktopowa WinForms) – mała aplikacja z okienkiem i kilkoma polami tekstowymi. Wprowadź wzrost i wagę, a kliknięcie przycisku "Oblicz" pokaże wskaźnik BMI (Body Mass Index). Tutaj poćwiczysz obsługę przycisku i wyświetlanie wyników w Label lub MessageBox. Nawet prosty kalkulator to dobry start, możesz potem dorzucić obsługę wyjątków (np. złego formatu liczb) albo odświeżanie wyniku w czasie rzeczywistym.
5. Prosty edytor tekstu (Windows Forms) – wzorowany na Notatniku Windows. Dodaj kontrolkę do wpisywania tekstu (np. RichTextBox) i proste menu z funkcjami: "Nowy", "Otwórz", "Zapisz". Dzięki temu nauczysz się korzystać z menu aplikacji i operować plikami. Możesz dodać też pogrubianie czy zmianę koloru tekstu. Ten projekt jest nieco większy, ale bardzo wartościowy, uczy organizacji interfejsu i podstawowych operacji na plikach.
6. Aplikacja pogodowa (webowa lub desktopowa) – stwórz aplikację pokazującą pogodę dla wybranego miasta. Możesz użyć darmowego API pogodowego (np. OpenWeatherMap) i pobierać dane w formacie JSON. W webowej wersji (ASP.NET/Blazor) spróbuj wyświetlać dane na stronie, w desktopowej (WinForms/WPF) w okienku z polami tekstowymi i obrazkami pogody. Zrozumiesz w ten sposób, jak łączyć się z zewnętrznym API, jak parsować JSON do obiektów C#, a także jak reagować na działanie użytkownika (np. wpisanie nazwy miasta).
7. Konwerter walut (aplikacja webowa) – podobnie jak pogoda, ale zamieniasz kwoty między walutami. Korzystaj z darmowego kursu walut (np. z European Central Bank). Zbuduj prosty formularz: podajesz kwotę i wybierasz waluty, a program oblicza wartość. W ASP.NET możesz wykorzystać AJAX lub blazorowe metody, żeby użytkownik nie musiał przeładowywać strony. To dobry sposób na połączenie wiedzy o interfejsie z prostą matematyczną logiką.
8. Gra zgadywanka/liczb (WinForms) – tradycyjna gra, w której komputer losuje liczbę, a gracz próbuje ją odgadnąć. Stwórz okienko, w którym użytkownik wpisuje typ, a po kliknięciu "Sprawdź" aplikacja podpowiada np. "za dużo" lub "za mało". Choć to gra, również liczy się tu interfejs (okno, pola wpisywania) i logika programu (pętle, warunki). Możesz zacząć bardzo prosto, a potem dodać licznik prób lub hit aplikacji - wykres podpowiedzi.
9. Lista kontaktów/ksążka adresowa (ASP.NET Core) – aplikacja webowa, w której zapisujesz kontakty (imię, nazwisko, telefon). Początkowo możesz trzymać je w pamięci (np. liście), a przy zapisie odświeżać stronę. Potem, jeśli ogarniesz Entity Framework, podłącz prostą bazę danych. Trenujesz tu tworzenie formularza do dodawania/usuwania kontaktów oraz wyświetlanie listy. To wstęp do technik CRUD (Create, Read, Update, Delete) w .NET.
10. Timer / Zegar Pomodoro (aplikacja desktopowa) – zbuduj prosty zegar odliczający czas (np. 25 minut pracy i 5 minut przerwy). W Windows Forms albo WPF wykorzystaj komponent Timer, żeby aktualizował licznik sekund. Pozwól użytkownikowi uruchamiać, zatrzymywać i resetować timer. Projekt może być minimalistyczny, ale nauczy Cię pracy z upływem czasu i aktualizacją interfejsu "w tle" - bardzo praktyczna umiejętność.
Podsumowanie
Te 10 projektów to świetny sposób na zdobycie praktyki w C#. Nie bój się eksperymentować: zacznij od najprostszego rozwiązania, potem dodawaj funkcje. W miarę realizacji zadań zauważysz, że logika C# staje się coraz bardziej naturalna, a elementy ASP.NET czy Windows Forms przestają być tajemnicą. Jeśli chcesz przyspieszyć naukę i mieć wsparcie eksperta, sprawdź szkolenie online Zostań Programistą .NET. To kompletny program, który przeprowadzi Cię od zera do roli Junior Developera w kilka miesięcy.