- Wstęp
- Podstawy
- klasycznie
- Pierwszy program
- Stałe
- Zmienne
- Typy
- Wyliczenia
- Łańcuchy znaków
- Data i czas
- Operatory i wyrażenia
- Instrukcja warunkowa
- Pętle
- Tablice
- Funkcje, czyli metody
- Coś dla matematyków
- Pliki i struktury
- XML, czyli dane hierarchiczne
- Wyjątki, obsługa błędów
- Klasy i obiekty
- Interfejsy
- Typy generyczne
- Kolekcje
- Delegaty, zdarzenia i wyrażenia lambda
- Algorytmy
- Metody rozszerzone
- Przeciążanie operatorów
- Bazy danych
- LINQ
- GUI, czyli interfejsy graficzne
- Terminal (CLI)
- WinForms (proste formatki i grafika rastrowa)
- WPF (zaawansowane okna i grafika wektorowa)
- Xamarin i MAUI (aplikacje mobilne)
- Internet i aplikacje internetowe, czyli ASP.NET
- WebForms (ASPX)
- WebPages (Razor)
- MVC (Web Apps)
- WCF (SOAP)
- WebAPI (REST)
- SignalR (Real Time, Server Push)
- Wzorce projektowe
- Programowanie współbieżne i równoległe
- klasycznie
-
- problemowo
- Jak wyświetlić tekst, liczbę?
- Jak przekazać parametry do programu?
- Jak przekazywać parametry do funkcji/metody?
- Jak zakończyć działanie programu?
- Jak wczytać tekst, liczbę?
- Jak obsługiwać konsolę tekstową?
- Jak pobrać aktualny czas?
- Jak wygenerować liczbę losową?
- Jak przydzielać i zwalniać pamięć, zarządzać pamięcią?
- Jak zamienić liczbę na tekst i tekst na liczbę?
- Jak zamienić liczbę hex na dec i vice versa?
- Jak łapać i obsługiwać błędy i wyjątki?
- Jak czytać i pisać pliki (tekstowe, bajtowe, rekordowe, z nagłówkiem)?
- Jak obsługiwać system plików i katalogów (dokumentów i folderów)?
- Jak szukać w tekście?
- Jak debugować?
- Jak sortować?
- Jak szukać w danych posortowanych?
- Jak korzystać z bibliotek?
- Jak tworzyć swoje biblioteki?
- Jak rozpoznawać modyfikacje danych i zapewniać ich integralność?
- Jak przechowywać i odczytywać dane?
- Jak naprawiać uszkodzone dane?
- Jak szyfrować/deszyfrować dane?
- Jak wybrać odpowiedni algorytm?
- Jak projektować system informacyjny?
- Jak tworzyć graficzny interfejs użytkownika (GUI)?
- Jak wykonywać program w wielu wątkach równolegle lub na wielu procesorach?
- Jak uruchamiać program automatycznie przy starcie systemu?
- Jak uruchomić inny program lub kopię tego samego programu?
- Jak zabezpieczyć się przed uruchamianiem wielu kopii tego samego programu jednocześnie na tej samej maszynie?
- Jak skopiować/przenieść program w inne miejsce?
- Jak zorganizować dystrybucję aplikacji przez internet?
- Jak program może sprawdzić, czy jest dostępna jego nowa wersja?
- Jak program może ściągnąć plik z internetu?
- Jak program może zaktualizować sam siebie?
- Jak program może zainstalować sobie wtyczkę?
- Jak ukryć program na pasku zadań?
- Jak ukryć program przed menedżerem zadań?
- Jak ukryć proces w systemie?
- Jak umieścić ikonę programu w obszarze systemowym paska zadań?
- Jak zrobić okno programu w trybie pełnoekranowym?
- Jak zapisać obraz pulpitu?
- Jak przeczytać listę uruchomionych programów?
- Jak znaleźć okno innego programu?
- Jak symulować naciśnięcia klawiszy na klawiaturze?
- Jak przechwytywać klawisze naciskane na klawiaturze?
- Jak symulować operacje myszą?
- Jak śledzić operacje myszy?
- Jak używać schowka systemowego?
- Jak podłączyć dwie myszki i mieć dwa kursory?
- Jak „postawić” serwer?
- Jak wysyłać dane do internetu?
- Jak odbierać dane z internetu?
- Jak nasłuchiwać na jakimś porcie?
- Jak wystawić port przez router?
- szybko
- Składnia języka
- Rodzaje projektów
- Biblioteki klas
- Język C# w porównaniu do innych języków obiektowych
- problemowo
- Więcej niż podstawa, czyli ułatwianie sobie pracy
- Środowisko zintegrowane Visual Studio
- Kompilatory
- Debugger
- Refleksja nad kodem
- Nazwa programu – to nie takie proste
- Zarządzanie wersjami
- Wielojęzykowość i wielonarodowość
- Instalacja i rozpowszechnianie gotowych aplikacji
- Wyrażenia regularne
- Parsery
- Praca z XML: XPath i XSLT
- Testowanie aplikacji
- Wstrzykiwanie zależności i kontenery IoC
- Bliżej systemu operacyjnego
- Wieloplatformowość, czyli Mono
- Rozszerzalność i modułowość aplikacji
- Kwestie zaawansowane
- Zrób to bezpieczniej, czyli bezpieczeństwo kodu
- Policz to lepiej, czyli kod niezarządzany
- Zarządzaj wspólnym kodem
- Wdrażanie, aktualizacje i rurociągi
- Przepływ danych i pracy, czyli WF
- Zarządzaj projektem, standardy Microsoft
- Zrób to szybciej, czyli korzystaj z bibliotek
- Przewidywanie przyszłości jako narzędzie pracy
- Sztuczna inteligencja i jej aplikacje
- Podsumowanie