Jeżeli trafiłeś na tę stronę to prawdopodobnie jesteś zainteresowany poznaniem podstaw języka C#. Dobrze się składa bo właśnie taką wiedzę tutaj znajdziesz!
Kurs języka C# mojego autorstwa to opowieść o realizacji projektu podparta moim wieloletnim doświadczeniem w programowaniu. W trakcie kursu poznajemy kolegę Jacka, który ma dla nas propozycję współpracy. Nie zawiedźmy go i zrealizujmy przysługę. Jestem pewien, że nam się za to odwdzięczy.
Kurs składa się z 20 lekcji, które nastawione są na praktyczne wykorzystanie wiedzy i przeprowadzą Cię przez kolejne zagadnienia niezbędne w pracy programisty języka C#.
Jeżeli masz jakieś uwagi, sugestie, znalazłeś błędy w treści albo po prostu chcesz się ze mną skontaktować to zapraszam do wysyłania wiadomości na adres contact@zajacmarek.com albo odwiedzenia mojego fanpage’a na Facebooku gdzie możesz mi wysłać wiadomość prywatną bądź śledzić na bieżąco wiadomości związane z blogiem. Po ukończeniu kursu zapraszam Cię też do przejrzenia i śledzenia postów pojawiających się na blogu. Dzielę się na nim zarówno poradami programistycznymi jak i treściami związanymi z tematem pracy programisty.
Konstrukcja lekcji i przeplatające się w nich zagadnienia wymagają aby przechodzi kurs jako całość. Wybrałem tę ścieżkę ponieważ w ten sposób mogę Ci, drogi Czytelniku, opowiedzieć spójną historię, w trakcie której będziemy wspólnie budować jedną dużą aplikację.
Tytuły kolejnych lekcji nie zawsze bezpośrednio mówią o czym dana lekcja jest. Są raczej częścią historii jaką te lekcje opowiadają. Jednak żeby każdy był pewny na co trafi klikając w kolejne linki dodałem do poniższego spisu treści również krótkie opisy tego jakie zagadnienie znajduje się w każdej z części.
Na ostatniej stronie kursu dodałem też tematy jakimi mógłbyś się zainteresować w dalszej kolejności po przerobieniu tego kursu oraz również książki, które te tematy opisują.
Kurs rozpoczynamy od zastanowienia się nad tym po co właściwie programujemy. W końcu praca dla pracy czy nauka dla nauki nie jest odpowiedzią. Musi być w tym jakiś inny cel, tylko jaki?
Skoro wspomniałem, że w trakcie kursu realizujemy projekt to nie można rozpocząć pracy bez zapoznania się z wymaganiami. Ta część odpowiada na pytanie jaką aplikację będziemy przygotowywać i jakie stawia przed nami wymagania.
Spojler: będzie to aplikacja bankowa.
Język C# to język obiektowy. Dlatego już na początku odpowiemy sobie na pytanie czym są obiekty w programowaniu obiektowym.
Gdzieś ten kod trzeba pisać. Tak więc w tej części przedstawiam krótką instrukcję na temat instalacji Visual Studio i zakładania w nim nowego projektu.
Część piąta wyjaśnia trzy podstawowe pojęcia jakimi będziemy operować. Odpowiada na pytanie czym jest klasa, zmienna i funkcja.
W tej części zapoznajemy się z najprostszym programem w języku C#, który został wygenerowany przez Visual Studio. Jest to równie to ważne miejsce w karierze programisty gdzie wypisujemy na ekranie nasze pierwsze „Hello World”!
Skoro w języku C# wszystko kręci się wokół klas to od nich zaczynamy poważne programowanie. Ta część przeprowadza Cię przez proces dodawania nowej klasy do projektu i omawia jej podstawową budowę.
Jeżeli coś chcemy zrobić z danymi to przydałoby się je gdzieś trzymać. Ósma część kursu zapoznaje nas ze sposobem na przechowywanie wartości w zmiennych i ich budową.
W tej części w końcu pojawiają się poważne rzeczy. Pierwszy raz tworzymy obiekt z naszej klasy i uzupełniamy znajdujące się w nim pola. Od teraz możemy zakładać nowe konta w naszej aplikacji bankowej.
Mamy już klasy i zmienne, które trzymają nasze dane. Dziesiąta część zapoznaje nas z konstrukcją funkcji w programie. Od tego momentu nasz program będzie potrafić coś robić.
Skoro możemy wykonywać w programie napisane przez nas operacje to dobrze będzie aby przynajmniej częścią z nich były obliczenia. Ta lekcja zapoznaje Cię z tematem operatorów arytmetycznych w języku C#.
Klasy też mogą mieć rodziców? Wiedziałeś o tym? Nie, bo nie poznałeś jeszcze dziedziczenia klas. Ale po tej lekcji będziesz już ten temat znał.
Nie wszystko co zawiera klasa musi być zawsze dostępne dla innych. Dajmy im trochę prywatności. Ta lekcja mówi jak to zrobić korzystając z modyfikatorów dostępu.
Zmienna + funkcja = właściwość. Czyli dodatkowy sposób na tworzenie zmiennych w klasie i dostęp do nich.
Nie zawsze musimy w różnych fragmentach kodu wymagać konkretnego typu obiektu. Często wystarczy nam abyśmy mieli dostępne w tym obiekcie konkretne metody. Dlatego w tej lekcji poznajemy interfejsy.
Nie tylko ludzie podejmują decyzje. Programy też to mogą robić jeżeli damy im okazję do tego. A możemy do zrobić korzystając z instrukcji warunkowych, o których się uczymy w lekcji szesnastej.
W aplikacji często zachodzi potrzeba przechowania większego zbioru danych jakiegoś typu. Lista będzie do tego idealna. I to o niej jest ten rozdział.
Po nauczeniu się tworzenia list wartości przydałoby się móc też w wygodny sposób przechodzić po ich wszystkich elementach. Chcąc np. wypisać dane wszystkich dodanych kont możemy skorzystać z pętli, które omawia ten rozdział kursu.
Kiedy już mamy gotowe wszystkie mechanizmy, które stoją za obsługą kont to przyszła pora na dodanie interfejsu użytkownika. W tej części poza dodaniem różnych menu nauczysz się o instrukcji switch i pętli do…while. Poza tym zobaczysz kilka złych praktyk i wykorzystasz wszystkie dotychczas dodawane funkcje.
Ostatnia część kursu to miejsce podsumowania, zapoznania się z gotową aplikacją i odebrania wskazówek na dalszą drogę w nauce programowania.
Nic tylko zabrać się za naukę :D. Dziękuję.
Naprawdę dobry kurs! Dla kogoś kto już liznął trochę programowania to świetna sprawa :)
Najlepiej wyjaśniona w moim odczuciu istota programowania obiektowego, jaką znalazłem dotychczas w internecie. Dla mnie, prawie laika z niekoniecznie dobrą znajomością j.ang – wczesny rocznik, kiedy to w szkołach uczono języka zza wschodniej granicy – kurs jest jasny i klarowny. Bije na głowę wiele książek, które miałem wątpliwą przyjemność czytać, gdzie autorzy nie potrafili na konkretnym przykładzie wyjaśnić co to jest klasa, obiekty. metody i właściwości, nie mówiąc o dodatkowych rzeczach, takich jak gettery, settery, abstrakcje, interfejsy – coś, czego jeszcze do końca tak naprawdę pojąć nie mogę, chociaż bardzo się staram (tego się nie da logicznie wyjaśnić na wczesnym etapie nauki), ale na to potrzeba zwyczajnie czasu i obycia z kodem. Bardzo się cieszę, że trafiłem na ten kurs, Panie Marku – serdecznie pozdrawiam.
Co jak co, ale pojęcia: klasa, obiekt, właściwość, czy metody są dosyć proste w zrozumieniu.