fbpx ...

Nie będzie zaskoczeniem fakt, że w 2021 roku skuteczna nauka programowania odbywa się właśnie online. Jak znaleźć kurs dla siebie?

Z ogólnie znanych powodów wszystko przenosi się do wirtualnego świata, także edukacja. Nauka programowania wydaje się błahostką w kontekście lekcji WF-u czy studiów ogrodniczych online. Wystarczy wybrać kurs i zacząć programować. Warto byłoby jednak wiedzieć, jak się do tego zabrać w sposób zorganizowany i dający najlepsze efekty.

Jak wybrać kurs programowania online?

Wiele osób pyta mnie jaki język wybrać i czy ma to znaczenie, zwłaszcza dla początkujących programistów. Otóż nie ma. Doświadczeni programiści i tak znają kilka języków programowania, więc od czego zaczniesz zależy tylko od Ciebie. Osobiście polecam zacząć od Pythona. Jest stosunkowo prosty i da Ci obraz tego, czy programowanie Cię interesuje.

Z drugiej strony, jeśli masz kilka linii kodu za sobą, to najłatwiej będzie wrócić do programowania w języku w którym ma się chociaż trochę doświadczenia.

Ok, w takim razie jaki kurs wybrać? Przede wszystkim taki, który uczy dobrych praktyk i aktualnej wiedzy. Angażowanie swojego czasu w kurs uczący przestarzałych standardów, nie będących w użyciu od lat, nie ma sensu. Tak samo jak zakończenie kursu bez praktycznej wiedzy, którą da się pokazać na rozmowie rekrutacyjnej. Kurs online powinien zawierać zadania, a najlepiej projekt do wykonania.

Jeśli taki projekt będzie projektem grupowym, który można zaprezentować, okaże się, że nawet programista “bez doświadczenia” może pokazać swoją pracę. Co więcej, podczas pracy w grupie napotkasz problemy, których nie napotkasz programując solo. To niesamowicie wspomaga nauczanie, a do tego nic nie motywuje tak mocno, jak wizja zawiedzenia współuczestników kursu.

Trzecią składową jest doświadczony mentor, który będzie w stanie zweryfikować postępy nauczania, popchnąć w odpowiednim kierunku czy podzielić się praktyczną wiedzą. “Praktyczną” jest słowem kluczowym. Często na uczelniach wyższych programowanie jest wykładane (a to pierwszy problem, że jest „wykładane”, nie „uczone”) przez teoretyków, którzy ostatnią styczność z pracą w branży mieli, jeśli w ogóle, kilka lub kilkanaście lat temu.

Koniecznie ogarnij gita i GitHuba

Swoim projektem trzeba się jakoś pochwalić, a przecież nie będziesz wysyłać kodu mailem. Dlatego obowiązkowym narzędziem programisty jest znajomość gita i platformy GitHub. Nie żartuję, to must have!

O narzędziach programisty więcej mówimy w module 1 naszego kursu.

Nauka programowania online 2021 w punktach

Zbierając w całość powyższe, bez względu na to jaki język i jaki kurs wybierzesz, idealnie byłoby spełnić SZEŚĆ punktów:

  1. Język programowania nie ma znaczenia na początku, bo jeśli dostaniesz pracę to później i tak nauczysz się innych języków
  2. Wybierz taki kurs, który uczy dobrych praktyk i aktualnej wiedzy
  3. Rób zadania – bez praktyki to nie ma sensu
  4. Ucz się w grupie. Tak jest lepiej, to naukowo potwierdzone.
  5. Znajdź kogoś, kto wskaże Ci dobry kurs/książkę/blog/wideo/cokolwiek. Nie wybieraj na ślepo, bo bez doświadczenia łatwo źle wybrać.
  6. Naucz się gita.

Przy nauce od podstaw w szczególności na pierwszym etapie przyda się ktoś kto poprowadzi za rączkę. A jeśli nie, to przynajmniej wskaże Ci materiały z których warto się uczyć. Jeśli Twoim wyborem jest C++, to sprawdź kurs C++ w Coders School. Uczymy przekrojowo mnóstwa tematów, ale nie od zera. Musisz mieć wcześniej kontakt z tym językiem. Jeśli Twój wybór padł na inny język, to wiesz czego szukać.

ninjaletter

A może Ninjaletter?

Chcesz wiedzieć, co słychać w C++ i nie tylko? Zapisz się na Ninjaletter i otrzymuj od nas co miesiąc dawkę wartościowych treści o C++ i zadania rekrutacyjne. Do tego dorzucamy darmowe materiały, spoilery o nowych kursach, specjalne promocje dla ninjaletterowiczów i wiele, wiele innych. To co, skusisz się?

Łukasz Ziobroń

Łukasz Ziobroń

Zmieniam ludzi w prawdziwych programistów. W nauczaniu stosuję grywalizację, andragogikę i neurodydaktykę.

Najnowsze artykuły

good programming practices

Good programming practices – Coding Dojo

Training in a form of Coding Dojo. Participants start with a code review of a small application. They note down their comments. After that, the trainer presents bad and good programming practices. Participants discuss what can be applied in a reviewed code and start fixing it in a form of Coding Dojo.

Czytaj »

Popular C++ Idioms – Coding Dojo

The training starts with a code review of a small application (pre-work). Participants note their thought and discuss their findings in groups. Then popular C++ idioms are presented (the concept and some code) – about 15-20 minutes each. After that participants need to use some of the idioms in a reviewed application code.

Czytaj »
performance optimisations

Performance optimisations

This training is about writing more robust C++ code and algorithms with the help of CPU caches and a compiler. Benchmarking tools are used to show performance gains.

Czytaj »
C++ toolset

C++ toolset

Covers a lot of ground about C++ related tools: build systems, compilers, debuggers, static and dynamic binary analyzers. It is focused more on discovering useful tools, that can solve many software engineering problems.

Czytaj »

Templates – Advanced techniques

Basic usage of C++ templates may not be enough to utilize opportunities, which were introduced in the latest C++ standards. From C++11 we can use templates with any number of parameters and use a simplified mechanism for SFINAE, which is claimed to be a real C++ wizardry.

Czytaj »
templates – basics

Templates – Basics

Templates are pointed out to be the most difficult part of the C++ language. Difficult, but very useful. They allow writing very generic and universal code. Thanks to them, we can avoid code duplication, but also, make it incomprehensible for beginners. This session allows for gaining the necessary knowledge and good practices on using templates.

Czytaj »
STL algorithms in C++ 17

STL Algorithms in C++ 17

This training focuses on the effective use of C++ documentation to implement applications with the use of STL algorithms. First part is mainly theoretical, but there are many short exercises (in a paper form) to apply knowledge instantly and force participants to think and search for solutions in the documentation. The other part is a group activity – implementation of the cryptographic application with proper STL algorithms instead of raw loops.

Czytaj »
STL containers

STL Containers

This training focuses on the effective use of C++ documentation. Computational complexity issues are mentioned. There are many short exercises to apply knowledge instantly and force participants to think and search for solutions in the documentation.

Czytaj »
ninjaletter

Już uciekasz?

Zanim to zrobisz, zapisz się na Ninjaletter, aby wiedzieć, co piszczy w C++. 

Informujemy, iż w celu realizacji usług dostępnych w naszym serwisie, optymalizacji jej treści, dostosowania strony do Państwa indywidualnych potrzeb oraz wyświetlania, personalizacji i mierzenia skuteczności reklam w ramach zewnętrznych sieci reklamowych korzystamy z informacji zapisanych za pomocą plików cookies na urządzeniach końcowych użytkowników. Pliki cookies można kontrolować za pomocą ustawień swojej przeglądarki internetowej. Dalsze korzystanie z naszego serwisu, bez zmiany ustawień przeglądarki internetowej oznacza, iż użytkownik akceptuje stosowanie plików cookies. Więcej informacji zawartych jest w polityce prywatności serwisu.