Jak możemy ocenić wyniki uczniów na kursach informatyki?


10

Jako ktoś, kto musi prowadzić kursy informatyki, mam do czynienia z odwiecznym pytaniem: w jaki sposób oceniam zdolność uczniów do uczenia się przedmiotu zależnego od aplikacji trudnych do przetestowania za pomocą „standardowych” metod testowania ( egzaminy pisemne lub ustne)? Część kursu zależy od zrozumienia teorii i metod na poziomie abstrakcyjnym, i do tego chciałbym nadal stosować test pisemny dla tych pojęć. Testowanie zrozumienia praktycznego zastosowania tych metod wymaga jednak innego podejścia

Biorąc pod uwagę naturalne wyzwania związane nie tylko z rozprzestrzenianiem się różnych platform (dla MATLAB, Modelica, Mathematica i innych języków), ale także z łącznością internetową i bezpieczeństwem testów, byłbym zainteresowany nowymi lub oryginalnymi metodami praktycznej oceny zrozumienia przez uczniów zrozumienia metody numeryczne. (Funkcje promujące bezpieczeństwo testów są szczególnie pożądane).

EDYCJA: Powinienem również wspomnieć, że klasa, którą prowadzę, to kurs wprowadzający, więc uczniowie mają stosunkowo małą bazę wiedzy do pracy.


1
Czy pozwalasz im pracować nad wybranym (mini?) Projektem, edytować / krytycznie recenzować kody open source, takie jak PLASMA / MAGMA / LAPACK / ScaLAPACK? Mówię z perspektywy studenta.
Zapytanie

Dzięki za komentarz - przypomniał mi, że zapomniałem wspomnieć, że jest to kurs wprowadzający, więc nie powinienem wprowadzać takich koncepcji, jak programowanie równoległe i optymalizacja wydajności - po prostu skupiam się na podstawowych metodach numerycznych i algorytmach.
aeismail

Odpowiedzi:


5

Oto, co widziałem jako student i asystent nauczyciela:

  • Projekty dotyczące programowania i metod numerycznych były dobre pod względem łączenia wielu koncepcji i zmuszania mnie i innych uczniów do kreatywności. Jednak w przypadku projektów obliczeniowych prawdopodobnie warto poświęcić trochę czasu stolarce oprogramowaniaumiejętności, aby uczniowie pisali bardziej zorganizowany kod. Kiedy byłem studentem i nie wiedziałem nic lepszego, miałem wycinany i wklejany kod spaghetti, który prawdopodobnie był piekłem na równiarkach. Możesz uniknąć tego losu, ucząc ich dobrych praktyk. Ponadto, jeśli dasz wszystkim podobne projekty (np. Obliczenie wszystkich właściwości termodynamicznych na danej liście dla zestawu związków było jednym projektem długoterminowym w klasie termodynamiki licencjackiej; później było to zadanie domowe na tydzień) w termodynamice podyplomowej), po prostu oczekuj, że będą się praktycznie kopiować i debugować kod.
  • Zadania domowe , cotygodniowe lub dwutygodniowe, były najlepszą krótkoterminową metodą uczenia się nowych metod i pojęć. Łatwiej jest coś zaprogramować, biorąc pod uwagę tydzień. Ponownie spodziewaj się, że będą mniej lub bardziej wzajemnie się kopiować i debugować nawzajem swój kod.
  • Quizy nie były zbyt dobre dla niczego poza kilkoma krótkimi metodami lub pytaniami analitycznymi. Nie możesz programować w quizach, ale powinno być też mniej oszukiwania , to znaczy współpracy. Możesz również przetestować kodowanie ołówkiem i papierem w quizach, co jest dobre dla podstawowych pojęć, ale prawdopodobnie niesprawiedliwe dla zaawansowanych pojęć lub czegokolwiek, co wymaga bardzo wyspecjalizowanych poleceń, ponieważ studenci mieliby dostęp do dokumentacji, gdyby kodowali na komputerze.
  • Egzaminy były mniej więcej takie same jak quizy, jeśli były udzielane w klasie, ale dłuższe i trudniejsze. Kazałem klasom zdawać egzaminy z pracy obliczeniowej, w którym to przypadku możesz zadawać pytania zorientowane na obliczenia i oczekiwać, że program rozwiąże problemy. Jednak egzaminy na miejscu mają takie same problemy, jak prace domowe i projekty typu licencjackich, w takim przypadku prawdopodobnie lepiej jest ustalić bardziej drakońską politykę współpracy w przypadku egzaminów na miejscu. Miałem kilka naprawdę dobrych egzaminów na wynos, więc myślę, że mogą one działać dobrze, jeśli instruktor jest wystarczająco kreatywny.
  • Laboratoria obliczeniowe są mniej skuteczne niż analogiczne mokre laboratoria na lekcjach przedmiotów ścisłych, ponieważ mając komputer przed sobą, łatwiej jest się wygłupiać. W moich klasach było kilku facetów, którzy zawsze spędzali czas w laboratoriach obliczeniowych grając w pokera online. Te laboratoria są prawdopodobnie najskuteczniejsze jako pokazy lub nadzorowane lekcje praktycznych umiejętności z zakresu informatyki, jeśli masz wystarczającą liczbę asystentów dydaktycznych, aby wędrować po laboratorium i upewnić się, że ludzie otrzymują pomoc, a nikt nie kręci się po Internecie.

5

Wykładałem, nauczałem lub asystowałem na różnych kursach związanych z metodami numerycznymi i obliczeniowymi, od wyższego poziomu licencjackiego do zaawansowanego poziomu magisterskiego. Oto elementy, które uważam za pomocne jako instruktor:

Projekty badawcze

W przypadku klas zaawansowanych projekt badawczy (obejmujący badania numeryczne, zwykle rozwój oprogramowania i napisanie) jest bardzo dobrym sposobem dla studentów, aby związać swoje badania z akademickimi zajęciami. Uważam, że projekt powinien być obowiązkowy na studiach magisterskich, ale dla studentów jest lepiej zastępowany przez bardziej ukierunkowaną pracę.

Programowanie zadań domowych

Rdzeniem każdej klasy obliczeniowej są dostępne zadania programistyczne. Studenci bez doświadczenia w programowaniu będą musieli wykonać kopię zapasową swoich zadań za pomocą sesji wprowadzających do środowiska programistycznego, a najlepiej pewnego rodzaju „pokoju pomocy” oferowanego przez wasz dział lub organizację studencką, taką jak SIAM. Zezwolenie na wiele frameworków i języków programowania może być trudne, zaakceptowałem programy napisane w dowolnym języku, ale wspierałem tylko jedno środowisko, zwykle bezpłatnie dostępne w laboratoriach uniwersyteckich (system operacyjny, edytor, powłoka, tłumacz itp.)

Quizy

Naprawdę lubię krótkie 10-15 minutowe quizy w klasie raz w tygodniu lub co drugi tydzień. Jest to dobra dwukierunkowa informacja zwrotna: uczniowie widzą, jak sobie radzą wbrew moim oczekiwaniom i wbrew sobie nawzajem, i widzę, które koncepcje uderzają i których brakuje. Ten styl oceny nie jest powszechnie stosowany w Europie i myślę, że to wstyd.

Egzaminy

Egzaminy obejmują ołówek i papier, z analizą algorytmów, fragmentów kodu i technik matematycznych. Nigdy nie uczestniczyłem w komputerowym egzaminie laboratoryjnym ani jako student, ani instruktor / ewaluator. Myślę, że najbliższą rzeczą, jaką widziałem, jest wymaganie od studenta zadawania pracy domowej lub projektu, a także odpowiadania na pytania dotyczące projektu lub realizacji.

Ograniczenie nieuczciwości

Zarówno jako student, jak i jako instruktor widziałem dość nieuczciwości w systemie akademickim, aby uniknąć polegania na honorze przez ponad 50% oceny studenta. Oznacza to, że oceny, takie jak projekty i prace domowe, w których dostęp do zasobów zewnętrznych może prowadzić do nieuczciwości akademickiej, nie przyczyniają się do więcej niż 50% oceny z przedmiotu.


Myślę, że ostatni punkt jest szczególnie ważny - nadal będę miał pisemny egzamin w klasie obejmujący punkty, które można przetestować w tym formacie. Myślę, że będzie to co najmniej dwie trzecie oceny. Dopilnuję również, aby do projektu poza klasą dołączono opis, aby studenci spędzili przynajmniej trochę czasu na pracy z materiałem. Mógłbym także dokonać randomizacji danych wejściowych i zmiany problemu, aby zmniejszyć pokusę i umiejętność oszukiwania.
aeismail

@AronAhmadia: Cotygodniowe quizy są standardem na uniwersytetach niemieckich we wszystkich wydziałach, pomimo ich całkowitej niezależności.
Deathbreath,

@aeismail: Amerykanie mają bardzo wąskie (w niektórych przypadkach granice absurdalne) rozumienie plagiatu. W pierwszym roku możesz być w stanie powstrzymać studentów od współpracy, ale w następnych latach Fachschaft skataloguje twoje zadania i będzie coraz trudniej stawiać problemy, które nie zostały w znacznym stopniu rozwiązane w poprzednich latach.
Deathbreath,

@Deathbreath: (do Arona) Cotygodniowe quizy nie są tutaj standardem w Aachen - przynajmniej nie w inżynierii mechanicznej. Nie wiem nawet, czy wolno mi je dać. (Nie to, że chciałbym.)
aeismail

@Deathbreath: (do mnie) Jeśli studenci korzystają z poprzednich egzaminów, aby poznać metodologię, cieszę się, że mogę ich użyć. Bardziej martwi mnie to, że uczą się korzystać z narzędzi. To powiedziawszy, zmieniam treść kursu z roku na rok, więc każdy, kto dostaje perfekcyjny wynik w starych materiałach i gęsie jajo w nowych materiałach, jest prawdopodobnie nieco podejrzany o zbyt silne poleganie na Fachschaft .
aeismail

5

Niektóre inne odpowiedzi sugerują zindywidualizowane projekty. Robię to w mojej klasie oprogramowania do elementów skończonych i jest to świetna zabawa; Uważam, że jest to również bardzo pouczające dla studentów. Jednocześnie jest to niezwykle czasochłonne: ostatnim razem miałem 18 studentów i nadzorowanie tych projektów było praktycznie pracą w pełnym wymiarze godzin przez cały semestr. Trzeba więc mieć wystarczająco małą klasę, aby działała z powodzeniem.



2

Moim szczerym zdaniem, moim zdaniem ostatecznym sprawdzianem jest zastosowanie twojej wiedzy na nieznanym terytorium. Proponuję zastosowane projekty mające na celu przetestowanie umiejętności uczniów w zakresie wyboru skutecznych modeli, dyskretyzacji, metod aproksymacyjnych / solvera, możliwej do wykorzystania równoległości, szacunków błędów i analizy numerycznej, a także metod wizualizacji opisujących konkretne zjawisko fizyczne o znaczeniu obliczeniowym. Chciałbym pójść dalej, aby poprosić uczniów o uzasadnienie każdego wyboru na podstawie wielkości problemu / oczekiwanej dokładności. Kluczem do sukcesu jest wiedzieć, które metody są odpowiednie w kontekście badanych zjawisk. Studenci mogą wybrać wybrane przez siebie zjawisko. Ale jeśli chcesz uczynić to jeszcze trudniejszym, przydziel każdemu uczniowi projekt obliczeniowy w niezwiązanej dziedzinie do jego badań doktorskich.


Moi studenci są studentami drugiego roku, więc daleko im do badań nad pracą doktorską. :-) Ale ta myśl jest zdecydowanie doceniana.
aeismail
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.