Zapamiętywanie kontra (z)rozumienie

Kolejny raz po sprawdzianie poprawkowym z podstaw informatyki przeżyłem to samo zadziwienie. Wyniki testu wyboru z wykładów były bardzo dobre, wyniki sprawdzianu „praktycznego” z programu Prime były tragiczne. W obu przypadkach nie było żadnych niespodzianek. Test wyboru bazował na w pełni dostępnych w sieci pytaniach. Wystarczyło… nauczyć się na pamięć odpowiedzi na 460 pytań! I to się dało zrobić… Wszystkie zadania z Prime są od lat dostępne w sieci. Są do obrzydzenia typowe i standardowe. Liczenie całki, pochodnej, granicy, pierwiastki wielomianu, rozwiązanie układu równań, miejsca zerowe funkcji, przecięcie krzywych, odległość między krzywymi… Od biedy da się nauczyć na pamięć co trzeba klikać. Ale w przypadku pomyłki czyli pojawienia się „czegoś czerwonego” zaczynają się schody. Bez (z)rozumienia zasad działania programu Prime i prowadzenia obliczeń nie da się zidentyfikować przyczyny błędu! Moi Studenci znają tę prawdę na pamięć, powtarzam ją do znudzenia od lat. Kiedy ją zrozumieją?
Podam bardzo prosty przykład ilustrujący sprawę. W arkuszu kalkulacyjnym istnieją funkcje, służące do operacji na tekstach. Wyobraźmy sobie, że w kolejnych komórkach danej kolumny mamy w postaci tekstowej nazwisko, imiona i numer indeksu oddzielone spacjami. Każdy potrafi „ręcznie” skopiować część łańcucha znaków w celu utworzenia na przykład adresu poczty elektronicznej. Gdy mamy utworzyć kilka adresów można to zrobić „ręcznie”, gdy trzeba to zrobić dla kilkuset Studentów warto stworzyć odpowiedni przepis czyli algorytm. W tym przypadku algorytm będzie dokładnie naśladował postępowanie „ręczne”. Niech adres to będzie Nazwisko+@.il.pw.edu.pl. Jak wyciągnąć Nazwisko?

  • Malinowski Apolinary Eustachy 123456

Musimy skopiować „od lewej” odpowiednią liczbę znaków. Co to znaczy odpowiednią? Wszystkie znaki do pierwszej spacji. Czyli… Powinniśmy określić położenie pierwszej spacji od lewej! A następnie skopiować n-1 znaków gdzie n to pozycja spacji. Jeśli spacja jest na 7 miejscu to kopiujemy 6 znaków… Dalej trzeba poszukać odpowiednich funkcji tekstowych. Proste, czyż nie? Nauczenie się rozwiązania na pamięć bez zrozumienia o co chodzi ma krótkie nogi.
Czy to jest tylko mój problem, moje spostrzeżenie? Bynajmniej. Artykuł Assessing Studentsí Conceptions of Learning pokazuje, że jest to otwarty problem badawczy.
Teaching Is More Than Lecturing and Learning Is More Than Memorizing…

4 odpowiedzi na “Zapamiętywanie kontra (z)rozumienie”

  1. 1 sem WIL – Mathcad, 2 sem C++; 3 sem metody numeryczne i znowu Mathcad (cały czas ostro przepisujemy z tablicy); na 3 roku okazuje się że są gotowe przodki do projektów zrobione w Mathcadzie + VBA (ale znowu 0 myślenia, tylko wprowadź własne dane); kończymy studia inż. okazuje się że Mathcad służył tylko do przodków, idziemy na mgr trafiamy na teorię plastyczności i wybrane działy matematyki okazuje się, że Mathcad jest za słaby by rozwiązać problemy postawione na tych przedmiotach. Co robimy, szukamy przodków albo uczymy się Wolfram Mathematica. W między czasie okazuje się że Zakład Mechaniki wprowadza Matlaba, a do Abaqusa przydatny jest Python 2.

    Ostatecznie student kończy nienawidząc programowania, rozwiązując wszystko na jedno kopyto Excelem i modląc się by ktoś ze starszego rocznika udostępnił przodka z Metali 2.

    1. Na pewno nie ma przepisywania z tablicy na pierwszym semestrze! Są podręczniki, pliki na portalu edukacyjnym, filmy.
      Na temat przodków można pisać długo… Meander stwierdził: „małżeństwo jest złem, ale jest to zło konieczne”. Podobnie jest chyba z przodkami… Jeśli z nich bezmyślnie korzystamy są złem, bo nie uczą niczego poza wprowadzaniem danych. Jeśli służą na przykład do sprawdzenia własnego toku obliczeń i ich wyników pomagają w uczeniu się. Z praktyki wiem, że Student bez przodka jest jak „dziecko we mgle”. Nie bez powodu mówi się o naszych Studentach, że jak będą mieli dobry przodek to zaprojektują nawet prom kosmiczny…
      Kwestia narzędzia jak widzę staje się problemem. Ponad 25 lat temu matematycy wprowadzili program Mathcad do metod numerycznych, które są na trzecim semestrze. Stąd właśnie Mathcad na pierwszym semestrze. Wielokrotnie tłumaczyłem to moim kolegom mechanikom, ale obawiam się, że nieskutecznie. W ramach tak zwanych wolności i swobód akademickich każdy ma swoją koncepcję i jazdy jak w pewnym filmie uważa, że moja racja jest najmojsza. Obawiam się, że zrobienie „drukowalnego” przodka projektu w programie Mathematica jest niewykonalne. Ciekaw jestem, którzy to mechanicy zaczynają wprowadzać Matlaba… Osobiście znam jeszcze kilka programów z grupy Computer Algebra Systems, ale nie chodzi o tanią licytację i przerzucanie się nazwami.
      Z tymi wszystkimi programami jest jeden problem = mogą być legalnie używane jedynie na wydziale. Dlatego „od zawsze” jestem zwolennikiem oprogramowania Open Source! Poległem na próbie zastąpienia MS Office 2003 przez Open lub Libre Office. Niemożliwa była też zamiana Mathcad’a na choćby sMathStudio, program o podobnych możliwościach, ale darmowy. Prowadzący oczywiście mogą powiedzieć, że to nie mój problem. Ja uważam inaczej. Mathcad Prime może byc w wersji Express użytkowany do końca świata i jeden dzień dłużej!
      Na koniec nienawiść do programowania… Być może jestem jednym ze źródeł tego stanu, bo przez cztery godziny uczę czegoś, co nazywam algorytmika. Dla mnie to mityczne programowanie dzieli się na opracowanie algorytmu i kodowanie, czyli zapis w konkretnym języku. Dla mnie ten pierwszy etap jest najważniejszy i dlatego chcę, abyście zrozumieli o co chodzi w instrukcjach warunkowych i repetycji. Skutek jest prawie zerowy… Prostego zadania typu – sumuj kolejne liczby naturalne tak, aby ich suma nie przekroczyła na przykład 12 i pytanie – ile zsumowano liczb i ile wynosi suma jest nierozwiązywalne! Ręce opadają… Przecież to można policzyć na palcach! Podobnie nie do przejścia jest zadanie znajdź najmniejszy wyraz w wektorze i podaj jego indeks i wartość. Obawiam się, że przyczyna nienawiści do programowania bierze się z pewnych podstawowych problemów z myśleniem algorytmicznym,

  2. Z tego co pamiętam ZMTiMNK chce i używa Matlaba; co do drukowalnych przodków z Mathematici => banalna sprawa studenci TK robią to od dawna, a w zakładzie Mechaniki budowli już od kilku lat mają implementację metody sił i przemieszczeń która ładniej rysuje niż robot autorstwa Pana Bołbotowskiego

  3. Problem tego uroczego wydziału polega na tym, że „nie wie lewica co robi pawica”. Zamiast różnego rodzaju niekończących się dyskusji na temat jakości kształcenia warto dogadać się na temat wykorzystywanego oprogramowania i interakcji między przedmiotami. Niestety dominuje zasada, że moja racja jest najmojsza!

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *