Laborhefte für Computerwissenschaften
Viele Stipendien erfordern eine offizielle Aufzeichnung der täglichen Forschungsaktivitäten. Für experimentelle Forschungsgruppen wird dies häufig mit einem gebundenen Notizbuch aus Papier erreicht, in das die experimentellen Details, Probleme und möglicherweise einige wichtige Ergebnisse geschrieben (oder manchmal sogar ausgedruckt und abgeklebt) werden können.
Es gibt einige elektronische Labor-Notebook-Optionen, die möglicherweise besser für Arbeiten am Computer geeignet sind (oder vielleicht auch nicht!), Aber diese sind immer noch seltener. Nur-Text-Dateien erfüllen möglicherweise nicht die Anforderung unveränderlicher Einträge. Darüber hinaus können einige Institutionen und Gruppen mit einer Tradition experimenteller Arbeit überhaupt kein elektronisches Format annehmen.
Mit welchen Methoden haben Sie versucht, ein offizielles Protokoll Ihrer rechnergestützten Forschungsaktivitäten zu führen?
Antworten
Wie Paul in seinem Kommentar erwähnt hat, sind Git- und öffentliche Hosting-Sites wie Github und Gitlab von unschätzbarem Wert, um die Entwicklungsgeschichte von Computerprojekten zu verfolgen. Einige konkrete Beispiele dafür, wo ich diese Geschichte nützlich fand:
- Bei US-Bundeszuschüssen müssen Sie jährliche Fortschrittsberichte ausfüllen, und ich kann mich nie genau erinnern, was ich getan habe, aber ich kann immer die Commit-Historie durchsehen.
- Finden Sie genau, wo sich Fehler in den Code eingeschlichen haben, den ich schreibe, manchmal manuell und manchmal automatisch mit
git bisect. - Ich möchte die Schüler, mit denen ich zusammenarbeite, daran erinnern, dass es in Ordnung ist, Fehler zu machen. Der wichtige Teil ist das umsichtige Testen. Deshalb gehe ich die Commit-Historie der Projekte durch, an denen ich gearbeitet habe, um ihnen einige meiner idiotischeren Fehler zu zeigen.
Sie haben auch elektronische Notizbücher erwähnt. Ich vermute, Sie sind damals bereits mit Jupyter-Notizbüchern vertraut . Ich benutze diese häufig für Computerexperimente, insbesondere wenn ich mit neuen Methoden herumspiele, die ich noch nicht ganz verstehe. Normalerweise gingen die experimentellen Notebooks irgendwo auf meiner Festplatte verloren. Was ich in letzter Zeit begonnen habe, ist, diese Notizbücher in einem Git-Repository zu speichern und sie online mit dem statischen Site-Generator Nikola zu veröffentlichen, die Beiträge aus Jupyter-Notizbüchern generieren können. Neben dem Code füge ich auch Erklärungen der Mathematik mit Verweisen auf andere nützliche Quellen hinzu. Dies ist hilfreich für die Zukunft, um mich genau daran zu erinnern, was ich getan habe, und um Kollegen und Studenten Dinge zeigen zu können. Sowohl github als auch gitlab bieten kostenloses statisches Site-Hosting an. Sie können fortlaufende Integrationstools verwenden, um Notizbücher automatisch auszuführen (damit Sie sie in ihrer viel kleineren rein textuellen Vorausführungsform in der Versionskontrolle behalten können) und mit ihnen eine Website zu erstellen. Dieselben Tools sind auch beim Hosten von Dokumentation für Softwareprojekte hilfreich.
Ihre Nutzung / Laufleistung kann variieren, nur aus persönlicher Erfahrung hier.