Als jemand, der Kurse in Computerwissenschaften unterrichten muss, werde ich mit der uralten Frage konfrontiert: Wie bewerte ich die Fähigkeit der Schüler, ein Fach zu lernen, das von Anwendungen abhängt, die mit "Standard" -Testmethoden schwer zu testen sind ( schriftliche oder mündliche Prüfungen)? Ein Teil des Kurses hängt vom Verständnis der Theorie und der Methoden auf abstrakter Ebene ab. Dafür möchte ich weiterhin einen schriftlichen Test für diese Konzepte verwenden. Das Testen des Verständnisses der praktischen Anwendung dieser Methoden erfordert jedoch einen anderen Ansatz
Angesichts der natürlichen Herausforderungen, die nicht nur mit der Verbreitung verschiedener Plattformen (für MATLAB, Modelica, Mathematica und andere Sprachen) verbunden sind, sondern auch mit der Internetverbindung und der Testsicherheit, würde mich neue oder originelle Methoden zur praktischen Bewertung des Verständnisses der Schüler interessieren numerische Methoden. (Merkmale, die die Testsicherheit fördern, sind besonders wünschenswert.)
EDIT: Ich sollte auch erwähnen, dass die Klasse, die ich unterrichte, ein Einführungskurs ist, so dass die Schüler eine relativ kleine Wissensbasis haben, aus der sie arbeiten können.
Antworten:
Folgendes habe ich als Schüler und Lehrassistent gesehen:
Betrug geben, ich meine, Zusammenarbeit. Sie können die Codierung mit Bleistift und Papier auch in Tests testen, was für grundlegende Konzepte gut, für fortgeschrittene Konzepte jedoch wahrscheinlich unfair ist, oder für alles, was sehr spezielle Befehle erfordert, da die Schüler Zugriff auf die Dokumentation hätten, wenn sie auf einem Computer codieren würden.quelle
Ich habe in verschiedenen Kursen zu numerischen und rechnerischen Methoden Vorlesungen gehalten, unterrichtet oder assistiert, vom Grundstudium bis zum Fortgeschrittenen. Hier sind die Elemente, die ich als Ausbilder als hilfreich empfunden habe:
Forschungsprojekte
Für fortgeschrittene Klassen ist ein Forschungsprojekt (das numerische Forschung, normalerweise Softwareentwicklung und eine Zusammenfassung umfasst) eine sehr gute Möglichkeit für Studenten, ihre Forschung mit ihren akademischen Studienleistungen zu verknüpfen. Ich denke, dass ein Projekt in Kursen für Hochschulabsolventen obligatorisch sein sollte, aber für Studenten werden sie besser durch gezieltere Arbeit ersetzt.
Programmieren von Hausaufgaben
Der Kern eines jeden rechnerwissenschaftlichen Kurses sind zugängliche Programmieraufgaben. Für Studenten ohne Programmiererfahrung müssen Sie Ihre Aufgaben mit einigen Einführungssitzungen in die Programmierumgebung und im Idealfall mit einer Art "Hilfesaal" sichern, der entweder von Ihrer Abteilung oder einer Studentenorganisation wie SIAM angeboten wird. Mehrere Frameworks erlauben und Programmiersprachen kann schwierig sein, nahm ich Programme in jeder Sprache geschrieben , sondern unterstützt nur eine Umgebung, in der Regel frei verfügbar in den Universitätscomputerlabore (Betriebssystem, Editor, Shell, Dolmetscher, etc ...)
Quiz
Ich mag kurze 10-15-minütige Tests im Unterricht einmal pro Woche oder jede zweite Woche. Es ist ein gutes wechselseitiges Feedback: Die Schüler sehen, wie sie sich gegen meine Erwartungen und gegeneinander verhalten, und ich sehe, welche Konzepte sie treffen und vermissen. Dieser Bewertungsstil wird in Europa nicht sehr häufig verwendet, und ich finde das schade.
Prüfungen
Die Untersuchungen bestehen aus Bleistift und Papier mit Analyse von Algorithmen, Codefragmenten und mathematischen Techniken. Ich habe weder als Student noch als Ausbilder / Bewerter an einer Computerlaborprüfung teilgenommen. Ich denke, das Nächste, was ich gesehen habe, ist, dass ein Schüler seine Hausaufgaben oder sein Projekt vorführt und Fragen zu Design oder Implementierung beantwortet.
Die Unehrlichkeitsbeschränkung
Sowohl als Student als auch als Ausbilder habe ich genug Unehrlichkeit im akademischen System gesehen, um zu vermeiden, dass mehr als 50% der Note eines Studenten auf Ehre angewiesen sind. Dies bedeutet, dass Bewertungen wie Projekte und Hausaufgaben, bei denen der Zugang zu externen Ressourcen zu akademischer Unehrlichkeit führen kann, nicht zu mehr als 50% der Kursnote beitragen.
quelle
Einige der anderen Antworten schlagen individuelle Projekte vor. Ich mache das in meiner Finite-Elemente-Software-Klasse und es macht viel Spaß. Ich glaube, es ist auch sehr lehrreich für Studenten. Gleichzeitig ist es auch sehr zeitintensiv: Das letzte Mal hatte ich 18 Studenten und es war praktisch eine Vollzeitbeschäftigung für das gesamte Semester, diese Projekte zu betreuen. Man muss also eine Klasse haben, die klein genug ist, damit das erfolgreich funktioniert.
quelle
Meiner ehrlichen Meinung nach besteht der ultimative Test darin, Ihr Wissen auf unbekanntem Gebiet anzuwenden. Ich würde angewandte Projekte vorschlagen, um die Fähigkeit eines Schülers zu testen, effektive Modelle, Diskretisierungs-, Approximations- / Lösungsmethoden, ausnutzbare Parallelität, Fehlerschätzungen und numerische Analysen sowie Visualisierungsmethoden zur Beschreibung eines bestimmten physikalischen Phänomens von rechnerischem Interesse auszuwählen. Ich würde noch weiter gehen und die Schüler bitten, jede Wahl anhand der Problemgröße / erwarteten Genauigkeit zu rechtfertigen. Der Schlüssel ist zu wissen, welche Methoden unter den Bedingungen der untersuchten Phänomene geeignet sind. Die Schüler können sich dafür entscheiden, ein Phänomen ihrer Wahl auszuwählen. Wenn Sie es jedoch noch herausfordernder gestalten möchten, weisen Sie jedem Studenten ein Computerprojekt in einem nicht verwandten Bereich für seine Dissertationsforschung zu.
quelle