Verwendung von Tools zur Quellcodeverwaltung, damit Kursteilnehmer Aufgaben zuweisen können

8

In diesem Semester unterrichte ich einen Kurs an einer lokalen Universität. Bisher habe ich die Studenten ihre Programmieraufgaben per E-Mail an mich senden lassen. Aber es gibt eine Menge Ärger, wenn man 20 Lösungen aus E-Mails herauszieht.

Hat jemand jemals ein Tool zur Quellcodeverwaltung verwendet, damit die Schüler Projekte einreichen? Was hast du benutzt und wie war es aufgebaut?

    
epotter 12.02.2009, 22:29
quelle

5 Antworten

5

An meiner Universität betreibt die Schule für Computer- und Informationswissenschaften einen Studenten-CVS-Server. Jedes Subjekt (das sich für die Verwendung entscheidet) erhält ein Repository, in dem jeder Student, der sich für das Thema eingeschrieben hat, einen Ordner erhält. Die Admin Accounts erhalten natürlich Zugriff auf die gesamte Menge, während jeder Student nur seinen eigenen Ordner auschecken kann.

Nehmen Sie zum Beispiel das Betriebssystem-Thema (ich habe in der Vergangenheit gelehrt):

%Vor%

In den Aufgabenspezifikationen geben wir Anweisungen für die Abgabe von Aufgaben.

Ich mag das CVS-Einreichungssystem besser als E-Mails und das Web-Submission-System, das in anderen Bereichen der Uni verwendet wird. Es lehrt die Studenten, wie man ein Versionskontrollsystem benutzt. Sie können die "my usb flash drive war verloren / kaputt / gestohlen" -Entschuldigung für Schüler, die keine Aufträge abgeben, fast vollständig abschrubben, da die Schüler regelmäßige Commits für das Repository durchführen sollten (in einigen Fächern sind Markierungen für die korrekte Verwendung von CVS).

Der Nachteil ist, dass Sie nicht davon ausgehen können, dass Studenten zu Beginn des Semesters wissen, wie CVS / SVN zu verwenden ist. Die meisten Themen hier widmen das erste Woche-Praktikum einem CVS-Lernprogramm, damit die Leute sicherstellen können, dass a) die Systemadministratoren ihre Konten korrekt eingerichtet haben und b) Dateien korrekt hinzufügen und festschreiben können. Es bedeutet auch, dass Sie für die Einreichung der ersten Aufgabe etwas nachsichtig sein müssen.

Alles, was Sie zum Markieren tun müssen, ist das Auschecken des Repositorys, so wie es zum Fälligkeitsdatum / Zeitpunkt der Zuweisung existierte. Wenn Sie Skripte zum teilweisen Automatisieren der Markierung ausführen, ist das Repository sehr einfach. Sie wissen genau, wie die Ordnerstruktur aussehen soll und wo alle Dateien liegen sollen. In den Fächern, die ich unterrichtet habe, haben wir eine Markenakte mit einem Überblick über die Studentenmarken und Kommentare, warum Marken abgezogen wurden. Wir überprüfen diese Datei im Repository und Studenten können ihre Markierungen sofort durch ein cvs-Update erhalten.

    
MichaelM 12.02.2009, 22:59
quelle
1

Ich denke, ein gängiger Weg ist das Erstellen von Verzeichnissen für FTP-Uploads. Einige Cron-Jobs können nach Einreichungen suchen und automatisch make-Tests ausführen.

Die Verwendung der Quellensteuerung klingt nach viel Arbeit, aber es kann getan werden.

Als ich einem Berkeley CS Unergraduate Podcast für einen Kurs zuhörte, den sie benutzten, nannte man einen "Autograder" = höchstwahrscheinlich eine Inhouse-Sache, die Einreichungen erlaubt und dann Builds und Tests ausführt.

Wie wäre es hier:

Ссылка

Ссылка

    
Tim 12.02.2009 22:36
quelle
1

Da Google-Code jetzt Mercurial unterstützt, sollte dies mit google code oder mit Ссылка etwas machbar sein, um den Code auf eine Open-Source-Art zu hosten. Ich denke, das wäre ein großartiges Werkzeug für jeden zu lernen, ein verteiltes Versionskontroll-Tool ist so wichtig, um die Entwicklung zu erleichtern.

Ich würde git empfehlen, aber es ist nur ein bisschen kopflastig in der Lernkurvenabteilung.

    
Kzqai 20.11.2009 23:33
quelle
1

Ich habe es in keinem Kurs probiert (ich unterrichte diese Tage nicht), aber ich habe ein SC-Setup verwendet, während ich Studenten, die ihr Jahresgeschäft bei der Arbeit machen, ähnlich betreute.

Subversion wäre meine Wahl; CVS ist zutiefst fehlerhaft und Git hat eine fiese Lernkurve für den Anfänger. Wir sind ein Win-Shop, damit die Schüler TortoiseSVN / AnkhSVN für die GUI-Integration verwenden können; offensichtlich ist das in deinem Fall nicht wahr.

Ich habe ein einzelnes Repository pro Kurs eingerichtet, mit einem Ordner auf der Basisebene für jeden Studenten und der üblichen Repo-Anordnung darin. Es ist sehr einfach in SVN, pro-Ordner Zugriffsberechtigungen in der Repo-Konfiguration einzurichten, so Studenten können nur zu ihrem eigenen Verzeichnis r / w, aber Sie können alles sehen.

    
Tynam 11.08.2010 17:29
quelle
0

Ich werde dieses Jahr versuchen, Google Docs in meinem AP Computer Science-Kurs zu verwenden. Es sieht so aus, als würde es wirklich gut funktionieren.

Ich möchte, dass sich jeder Schüler für ein Google-Konto anmeldet, damit er & amp; Fügen Sie ihren Quellcode in ein neues Google-Dokument ein und stellen Sie sicher, dass sie eine Schriftart mit einem festen Abstand verwenden. Dann teilen sie das Dokument einfach mit dem Google-Konto, das ich für mich eingerichtet habe.

Mit Google Text & Tabellen können Sie Kommentare direkt in ihre Dokumente schreiben, die sie bei der nächsten Anmeldung sehen können. Ich erstelle für jede Aufgabe einen anderen Ordner, um die Dinge zu organisieren.

Ich bin mir nicht sicher, ob das die BESTE Lösung ist, aber es ist kostenlos und viel besser, als wenn der Student alles ausdruckt, wie ich es letztes Jahr gemacht habe.

    
bestattendance 11.08.2010 17:21
quelle

Tags und Links