Strona używa cookies (ciasteczek). Dowiedz się więcej o celu ich używania i zmianach ustawień. Korzystając ze strony wyrażasz zgodę na używanie cookies, zgodnie z aktualnymi ustawieniami przeglądarki.    X

[Poradnik] Jak sprawnie nie nauczać C++

Dziś postanowiłem napisać krótki poradnik zawierający zbiór bardzo życiowych porad dla wszystkich chcących nieumiejętnie nauczać C++. Większość wymienionych metod nauczania została przetestowana w praktyce i rezultaty ich stosowania były bardzo bezowocne.

Uwaga, najlepiej testować to na studentach nie wiążących swojej przyszłości z programowaniem – maleje ryzyko natrafienia na studentów nie umiejące przyswoić sobie takiej niewiedzy!

Co teras?

Po pierwsze: nie znaj środowiska programistycznego, korzystając z którego planujesz prowadzić zajęcia

Nie jest to bezpośrednio związane z językiem C++, jednak jest związane z samą kwestią nauczania. Stosując się do tej porady zwiększasz szansę na marnowanie czasu na szukanie opcji potrzebnych do kompilowania i debugowania swojego programu. Debugując program masz szansę na tracenie większej ilości czasu na zrozumienie specyficznych komunikatów danego środowiska. Kolejnym atutem jest brak znajomości możliwości jakie oferuje dane środowisko, dzięki czemu będziesz mógł więcej czasu tracić na ręczne szukanie miejsc, w których zdarzyły Ci się proste błędy składniowe oraz bezkarnie będziesz mógł omijać szerokim łukiem wszystkie udogodnienia, z których korzystanie wymaga wpierw ich włączenia (np. numerowanie wierszy). Przesyłając obraz z monitora do projektora ważne jest również to, że w przypadku studentów noszących okulary, będziesz mógł godzinę zmarnować na szukanie w opcjach edytora miejsca, w którym zwiększa się rozmiar tekstu (najlepiej jest ostatecznie sobie nie dać rady i po godzinie zniknąć w celu poszukiwania informatyka, który umiałby problem rozwiązać, ale za nic nie myśl nawet o tym by o pomoc prosić studentów!).

r   e   k   l   a   m   a

Po drugie: nie znaj dobrze języka C++

Chodzi oczywiście o drobnostki, ale takie, które naprawdę będą rzucały się w oczy. Rzeczy błahe nie rzutują na postać uczącego, ale cenne minuty zawsze uda się stracić. Możesz np. na początku zajęć ponarzekać na problem z obsługą strumieni wejścia-wyjścia. By do tego doprowadzić trzeba nie wiedzieć jak działają przestrzenie nazw w C++, więc zapominanie o konstrukcjach std:: lub using namespace std to podstawa!

Po trzecie: staraj się negować jak najwięcej standardów dobrego programowania

Tym razem sprawa jest związana z tym co będziesz chciał, w swoim nieulubionym edytorze (zakładając, że w ogóle zna się tylko jeden, reszty się nie lubi), pokazać studentom. W ogólności chodzi o to by nie umieć tworzyć programów w taki sposób, by później innym osobom łatwo było je czytać. Już tłumaczę o co chodzi. Otóż każdy, kto choć trochę pisał w C++ (czy nawet w C) wie cokolwiek o rozbijaniu programów na osobne pliki klasa.cpp i klasa.h. Należy zapomnieć w ogóle o podobnych rzeczach (warto nie wiedzieć, że środowiska często same potrafią się o to zatroszczyć). Cały program w jednym pliku? W końcu od czegoś trzeba zacząć. Potem można np. włączyć parę bibliotek C w ten sposób "stdio.h" zamiast <cstdio> (przy okazji warto też pokusić się o dorzucenie <conio.h> nawet jeśli nie jest do niczego potrzebne). Na koniec można obok siebie postawić cout i printf. Czytelne wcięcia w kodzie? A co to są wcięcia???

Po czwarte: „uczyciel”, czy nauczyciel?

Na koniec warto zadać sobie to pytanie. Do wyboru masz albo przekazywanie bezkontekstowo informacji, albo próba zainteresowania studenta tematem, pokazanie metod samodzielnego rozwijania się i prezentacja wielu ścieżek rozwiązywania problemu by student sam mógł ocenić co mu najbardziej odpowiada. Co wybieramy? Tak, zgadłeś, jeśli chcemy by nierzetelni, to oczywiście pierwszą opcję! Ale jak takie coś ma wyglądać? Wychodzimy z założenia, że student nie umie niczego robić samemu. Wtedy prowadzenie zajęć sprowadza się do pokazywania studentom działającego kodu, by Ci mogli go przepisać. Prośba by studenci na własną rękę go później rozwijali jest pomysłem ZŁYM. A nuż się czegoś nauczą!

To wszystko?

Wystarczy trzymać się powyższego poradnika by Twoi studenci na drugim roku nie umieli sklepać nawet najprostszej pętli nieskończonej :) 

porady programowanie inne

Komentarze