CircuitVerse-Projekt

Diese Seite enthält die Details zu einem Projekt für technisches Schreiben, das für die Google-Produktsaison von Google Docs akzeptiert wurde.

Projektzusammenfassung

Open-Source-Organisation:
CircuitVerse
Technischer Redakteur:
DVLs
Projektname:
CircuitVerse Interactive Book – Konsolidierung und Verbesserungen
Projektdauer:
Standarddauer (3 Monate)

Projektbeschreibung

1 Zusammenfassung

CircuitVerse ist ein Open-Source-Projekt mit dem Ziel, eine Plattform bereitzustellen, auf der Schaltungen mithilfe einer webbasierten grafischen Benutzeroberfläche entworfen und simuliert werden können. Der Logiksimulator kann für die Entwicklung von CPU-Implementierungen verwendet werden. Er wurde jedoch hauptsächlich für den Bildungsbereich entwickelt. Abgesehen von der technischen Dokumentation für die Software wird den Nutzern in einem interaktiven Onlinebuch erklärt, wie man die digitale Logik erlernt. Mit dem Buch können Nutzer Schaltungen direkt aus dem Buch heraus ausprobieren und erhalten so eine interaktive Erfahrung.

Das Buch befindet sich in einem frühen Entwicklungsstadium und es fehlen derzeit einige relevante Abschnitte. Die allgemeine Struktur ist in Bezug auf einen Fluss, der die verschiedenen Abschnitte verbindet, lose und erfordert detailliertere Inhalte. Darüber hinaus gibt es laut Organisation weder Richtlinien, die Mitwirkenden bei der Zusammenarbeit am Projekt helfen können, noch gibt es einen Plan oder eine Roadmap für Beiträge dazu, welche Inhalte erforderlich sind und welche Priorität haben.

Ziel dieses Vorschlags ist es, gemeinsam mit den Mentoren Richtlinien für Beiträge zu erstellen, einen Entwicklungsplan für Themen zu erstellen und zur Verbesserung aktueller Inhalte beizutragen sowie neue Inhalte gemäß dem Entwicklungsplan zu erstellen.

2 Der aktuelle Stand des interaktiven Buchs

Seit dem Start des Projekts im Google Summer of Code 2019 hat es mithilfe der Studenten-Community ein „unverwaltetes Wachstum“ gezeigt. Die Projektorganisation selbst wird hauptsächlich von Entwicklern gegründet. Daher haben sie einen Teil der GSoD in Anspruch genommen, um externe Hilfe zur Verbesserung des interaktiven Buches in Anspruch zu nehmen. Die Entwickler des Projekts haben festgestellt, dass das Buch derzeit einige Abschnitte umgeschrieben, neue Inhalte hinzugefügt und das Buch detaillierter und umfassender gestaltet werden muss. Außerdem geht das Team davon aus, nach der GSoD Richtlinien für neue Beiträge sowie einen allgemeinen Hauptplan für die Entwicklung von Inhalten zu haben.

3 Welchen Beitrag leistet dieses Angebot?

Dieser Vorschlag wird zur Miterarbeitung einer ersten Version der Beitragsrichtlinien beitragen, um eine harmonischere Zusammenarbeit für Beitragende zu ermöglichen und so die Inhalte einheitlicher zu gestalten. Außerdem wird ein Entwicklungsplan für die Themen des Buches aufgestellt. Auch die dringendsten Ergänzungen und Änderungen gemäß dem neuen Entwicklungsplan werden berücksichtigt.

4 Analyse der verfügbaren Alternativen

Für mehrere ausgereifte Open-Source-Projekte mit ähnlichen Merkmalen wurden bereits Beitragsrichtlinien für die Dokumentation entwickelt, z. B. Wikibooks ([Help:Contributing], [Wikibooks:Policies and Guidelines]), OpenStreetMap ([Organised Editing Guidelines]) oder das Linux Documentation Project ([LDP Author Guide]). Diese Beispiele können verwendet werden, um die Richtlinien des Projekts zu erstellen, die auf der Erfahrung mit erfolgreichen Open-Source-Projekten beruhen.

Für den Entwicklungsplan des Themas ist es möglich, Lehrpläne offener Kurse (z.B. [MIT Open Courseware]) und Nachschlagewerke über digitale Logikschaltungen zu vergleichen, einschließlich offener Bücher wie [Lessons In Electric Circuits -- Volume IV -Digital], [Wikibooks: Digital Circuits] und [Wikibooks: Digital Electronics].

[Help:Contributing] https://de.wikibooks.org/wiki/Help:Contributing

[Wikibooks:Richtlinien und Richtlinien] https://de.wikibooks.org/wiki/Wikibooks:Policies_and_guidelines

[Organised Editing Guidelines] https://wiki.osmfoundation.org/wiki/Organised_Editing_Guidelines

[LDP Author Guide] https://www.tldp.org/LDP/LDP-Author-Guide/html/index.html

[MIT Open-Kursware] https://ocw.mit.edu/

[Lessons In Electric Circuits – Volume IV – Digital] https://www.ibiblio.org/kuphaldt/electricCircuits/Digital/index.html

[Wikibooks: Digitale Schaltkreise] https://de.wikibooks.org/wiki/Digital_Circuits

[Wikibooks: Digital Electronics] https://de.wikibooks.org/wiki/Digital_Electronics

5 Struktur der vorgeschlagenen Dokumentation

Das interaktive Buch kann für ein breites Publikum interessant sein – von Hobby- und Sekundarstudenten bis hin zu Studierenden im Hochschulbereich und Berufstätigen, die ihre Fähigkeiten im Umgang mit digitalen Schaltkreisen auffrischen oder erweitern möchten.

Um der Heterogenität der Buchnutzer gerecht zu werden, wird eine mehrschichtige Struktur vorgeschlagen, bei der jede Schicht dem zunehmenden Komplexitätsgrad und der theoretischen Tiefe des Inhalts entspricht.

Daher wächst die Struktur der Dokumentation in zwei Dimensionen. Die erste Dimension entspricht der logischen oder traditionellen Themensequenz in digitalen Logiksystemen, während die zweite Dimension die Ebene darstellt.

In der folgenden strukturierten Liste wird die vorgeschlagene zweidimensionale Struktur dargestellt. Die standardmäßige Themenreihenfolge wird auf der obersten Ebene dargestellt. Der Einfachheit halber werden für jedes Thema nur drei Komplexitätsebenen definiert, die der einfachen, mittleren und höheren Stufe entsprechen. Für jede Stufe werden die Inhalte zum jeweiligen allgemeinen Thema aufgeführt.

  • Darstellung mit Binärzahlen:
    • Grundebene: Binärzahlen, negative Mengen, andere Basen, Codierung
    • Mittlere Stufe: [kein bestimmter Inhalt]
    • Fortgeschrittene: Module und Ringe
  • Mathematische Operationen mit Binärzahlen:
    • Grundstufe: Addition, Subtraktion, Multiplikation, Division
    • Mittlere Stufe: boolesche Algebra, boolesche Funktionen
    • Fortgeschrittenes Niveau: Andere Algebras, Shannon-Zersetzung
  • Kombinationale SSI-Komponenten:
    • Grundstufe: Symbole, Logikgatter, Wahrheitstabellen
    • Mittlere Ebene: Logikfamilien, Universalgatter
    • Erweiterte Ebene: Zeitverhalten (Timing-Modelle, Gefahren)
  • Kombinationales Logikdesign:
    • Grundstufe: Funktionsbeschreibung, Implementierung
    • Mittlere Stufe: Kanonische Funktionen, k-Maps
    • Fortgeschrittene Stufe: auf der Karte eingegebene Variablen, Quine McCluskey, Darstellung von binären Würfeln
  • Kombinationale MSI-Komponenten:
    • Grundstufe: MUX, DEMUX, Encoder, Decoder, Half-Adder, Full Adder
    • Mittlere Stufe: MUX-basierte Funktionen
    • Fortgeschrittener Level: [kein bestimmter Inhalt]
  • Kombinationale LSI-Komponenten:
    • Basislevel: ROM, ALU
    • Mittlere Ebene: PLDs (PLA, PAL, GAL)
    • Fortgeschrittener Level: [kein bestimmter Inhalt]
  • Sequenzielle SSI-Komponenten:
    • Grundstufe: Latches, Flip-Flops, Uhrsignale, Zeitdiagramme
    • Mittlere Stufe: Memory-Feedback, synchrone Systeme, asynchrone Systeme
    • Fortgeschrittener Level: [kein bestimmter Inhalt]
  • Sequenzielle MSI-Komponenten:
    • Grundstufe: Register, Zähler
    • Mittlere Stufe: [kein bestimmter Inhalt]
    • Fortgeschrittener Level: [kein bestimmter Inhalt]
  • Sequenzielles Design:

    • Grundstufe: [kein bestimmter Inhalt]
    • Mittlere Ebene: sequentielle Synthese, FSM (Mealy, Moore), Zustandsdiagramme, Zustandsminimierung, Zustandszuweisung, ethnische Zugehörigkeit
    • Fortgeschrittene Stufe: MSI-basiertes Design, LSI-basiertes Design, Flussdiagramme, Budgetmanager-Diagramme

    Die Nutzer sollten auch ohne höhere Mathematikkenntnisse verstehen können, wie digitale Schaltkreise funktionieren und wie sie verwendet werden. Daher könnte es für Hobbystudenten und Schüler der Sekundarstufe geeignet sein. Wenn diese Nutzer über die erforderlichen Fähigkeiten verfügen und ein tieferes Verständnis aufbauen möchten, können sie mit einigen oder allen Inhalten der mittleren Stufe arbeiten.

    Die mittlere Stufe sollte in Bezug auf Inhalt und Anforderungen einem Einführungskurs für die tertiäre Bildung in Bezug auf digitale Logik entsprechen.

    Schließlich umfasst die Fortgeschrittenenstufe Inhalte, die in der Regel in ergänzenden oder optionalen Kursen digitaler Systeme an Universitäten zu finden sind.

    Diese vorgeschlagene Struktur wird in der Anfangsphase des Projekts (Woche 3) mit den Mentoren besprochen und dient dann als Grundlage für die Entwicklung eines langfristigen Themenentwicklungsplans.

    In der vorgeschlagenen Struktur kann der größte, wenn nicht alle aktuelle Inhalt der Dokumentation verwendet werden. Dieser wird bei Bedarf entsprechend überarbeitet und erweitert bzw. korrigiert. Darüber hinaus werden für Inhalte, die noch nicht durch die vorhandene Dokumentation abgedeckt sind, neue Abschnitte geschrieben.

6 Ziele

  1. Erstellen Sie einen ersten Entwurf von Beitragsrichtlinien für das Interactive Book-Projekt.
  2. Eine Entwicklung für die Themen des Buches skizzieren.
  3. Aktuelle Inhalte überarbeiten und umstrukturieren
  4. Erstelle neue Inhalte gemäß dem Entwicklungsplan.

7 Zeitachse

Woche 1: (14. bis 20. September) Analysieren und diskutieren Sie mit den Mentoren die besten Richtlinien, basierend auf Beispielen anderer Projekte und der bisherigen Erfahrungen aus dem Projekt. Woche 2: (21. September bis 27. September) Entwurf der Richtlinien verfassen Woche 3: (28. September bis 4. Oktober) Den Entwurf des Themenentwicklungsplans mit den Mentoren besprechen. Woche 4: (5. Oktober bis 11. Oktober) Entwicklungsplan schreiben. Woche 5 bis 11: (12. Oktober bis 29. November) Schreibe die Beiträge mit neu strukturierten Inhalten und neuen Themen. Woche 12: (30. November bis 5. Dezember) Projektbericht einreichen. Projektbewertung: (3. Dezember bis 10. Dezember) – Bewertung des technischen Redakteurs – Einreichung der Bewertung durch Mentoren.

8 Das interaktive Buch „Warum das CircuitVerse“

Aufgrund der globalen COVID-19-Krise begann ich, nach Online-Ressourcen zu suchen, die meinen Studenten eines Bachelor-Kurses zu digitalen Logiksystemen nützlich waren. Ich setze mich bereits seit mehreren Jahrzehnten für Free-Libre-Open-Source-Technologien ein, daher gebe ich dieser Art von Projekten Vorrang. Ich fand den CircuitVerse-Simulator und beschloss, dass er ein großartiges Tool ist, um den Mangel an Laboraktivitäten aufgrund der COVID-19-Eindämmungsmaßnahmen unserer Universität zu vermeiden. Beim Testen des Simulators habe ich auch das Interactive Book gefunden. Obwohl der Inhalt noch nicht als Hauptreferenz für einen vollständigen Kurs über digitale Logiksysteme ausreichte, waren seine aktuellen Inhalte korrekt und leicht verständlich, also habe ich ihn den Lernressourcen hinzugefügt.

Da ich den Simulator und das Buch intensiv verwendet habe, wurde ich von der Organisation kontaktiert, um mir über die GSoD zu erzählen. Ich sah darin die Möglichkeit, mich direkt aus meinem Fachgebiet mit zum Projekt zu retten.

9 Referenzen

  • [Wikibooks Help:Contributing],
  • [Wikibooks:Richtlinien und Richtlinien]
  • [Richtlinien für organisiertes Bearbeiten von OpenStreetMap]
  • [Das Linux Documentation Project (LDP)-Autorenhandbuch]
  • [Lehrplan für das MIT Open Courseware-Einführungs-Digital Systems-Labor]
  • [Lessons In Electric Circuits – Volume IV – Digital]
  • [Wikibooks: Digitale Schaltkreise]
  • [Wikibooks: Digitale Elektronik]
  • [Das Linux-Broschürprojekt]

    [Wikibooks Help:Contributing] https://de.wikibooks.org/wiki/Help:Contributing

    [Wikibooks:Policies and Guidelines] https://de.wikibooks.org/wiki/Wikibooks:Policies_and_guidelines

    [OpenStreetMap-Richtlinien für organisiertes Bearbeiten] https://wiki.osmfoundation.org/wiki/Organised_Editing_Guidelines

    [Das Linux Documentation Project (LDP) Author Guide] https://www.tldp.org/LDP/LDP-Author-Guide/html/index.html

    [MIT Open Courseware Introductory Digital Systems Laboratory Syllabus] https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-111- starting-digital-systems-laboratory-spring-2006/syllabus/

    [Lessons In Electric Circuits – Volume IV – Digital] https://www.ibiblio.org/kuphaldt/electricCircuits/Digital/index.html

    [Wikibooks: Digitale Schaltkreise] https://de.wikibooks.org/wiki/Digital_Circuits

    [Wikibooks: Digital Electronics] https://de.wikibooks.org/wiki/Digital_Electronics

    [Das Linux-Broschürprojekt] http://lbproject.sourceforge.net/