Colobot Forum - International Colobot Community

Full Version: Pierwszoroczniak programowania w potrzebie.
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Witojcie!

Krótko, bo nie mam co sie rozpisywać.
Przygoda ze studiowaniem technologii chemicznej nie do końca okazała się być moją przygodą, więc skorzystałem z egzystencji tzw. Rekrutacji Zimowej i oto jestem na "Programowaniu i Technologiach WWW" (thanks CoLoBoT).

Fajnie, pięknie, tyle, że nikt mi nie powiedział, że programowanie, elektronikę i inne atrakcje zaczynam z poziomu drugiego semestru. Oficjalnie jestem na pierwszym, ale na zajęcia chodzę z drugim, a jestem jedynym, który doszedł... W skrócie, kolokwialnie rzecz ujmując jestem w dupie :'^)

ALE

Nie zamierzam się załamywać i poddawać, studentem jestem i jak trza wkuć to trza, a nie poszedłem studiować dla legitymacji. Niemniej, po tym przydługim wstępie chciałem się spytać:
a) Jaką literaturę dotyczącą C# polecacie?
b) Czy ktoś z Was nie ma jakichś prostych skryptów w tym pięknym języku do celów odwrotnej inżynierii. CoLoBoTa się uczyłem rozkładając gotowe rzeczy na kawałki i psując je na różne sposoby, z C# też przejdzie. Tym bardziej, że jestem "nieco" bardziej świadom, niż 13-letni Ziemniak.
c) Wszelkie rady jak przetrwać i jak się w tym kierunku rozwijać.

Wykładowcy/Ćwiczeniowcy teoretycznie nieco polecili, ale de facto chcieli, żebym sobie po prostu poszedł, plus im więcej tym lepiej.
Słowem zakończenia, może za jakiś czas w końcu się na coś CoLoBoTowi przydam i odwdzięcze za całkiem udane dzieciństwo.
Zakładając, że dzięki Colobotowi znasz podstawy programowania, myślę że warto zacząć na twoim etapie od programowania obiektowego z krótkim wstępem do uzupełnienia różnic w językach programowania, tzn.:

1. Typy danych w C#, alokacja pamięci, podstawy API, m.in. System.Console do operacji wejścia/wyjścia konsoli
2. Pętle (while, do while, for, foreach) i przetwarzanie warunkowe (if, switch)
3. Pojęcie klas i obiektów w C#
4. Tworzenie klas, dodawanie konstruktorów, metod, pól i właściwości, indeksatory
5. Hermetyzacja (zwana również enkapsulacją lub kapsułkowaniem), dostęp do danych w obiektach, modyfikatory dostępu (public, private, etc.)
6. Dziedziczenie i polimorfizm, podstawy diagramów klas z UML-a mile widziane
7. Interfejsy i klasy abstrakcyjne
8. Typy uogólnione, kolekcje
9. Wyjątki
10. Strumienie, dostęp do plików
11. Struktury, delegacje, wyrażenia lambda (opcjonalnie)
12. Graficzny interfejs użytkownika (opcjonalnie)

Należy zaznaczyć, że składnia C# różni się znacząco w niektórych kwestiach od składni CBota. Poza oczywistym brakiem funkcji występujących w CBocie do kontroli robotów, znajdziesz również występowanie wielu konstrukcji składniowych, które nie występują w innych językach, nawet w C++ czy Javie.

Przykładowe miejsce, gdzie możesz się douczyć: https://4programmers.net/C_sharp