Projet CircuitVerse

Cette page contient les détails d'un projet de rédaction technique accepté pour Google Season of Docs.

Résumé du projet

Organisation Open Source:
CircuitVerse
Rédacteur technique:
DVL
Nom du projet:
Consolidation et améliorations interactives des livres CircuitVerse
Durée du projet:
Durée standard (3 mois)

Project description

1 extrait

CircuitVerse est un projet Open Source visant à fournir une plate-forme dans laquelle des circuits peuvent être conçus et simulés à l'aide d'une interface utilisateur graphique Web. Le simulateur logique peut être utilisé pour concevoir des implémentations de processeur complètes, bien qu'il soit principalement conçu à des fins éducatives. Outre la documentation technique du logiciel, un livre interactif en ligne guide l'utilisateur dans l'apprentissage de la conception de logique numérique. Ce livre permet à l'utilisateur d'essayer des circuits directement depuis le livre pour une expérience interactive.

Le livre est à un stade précoce de développement et il manque actuellement certaines sections pertinentes. La structure générale est vague en termes de flux reliant les différentes sections, et nécessite un contenu plus détaillé. De plus, selon l'organisation, il n'existe pas de consignes pour aider les contributeurs à collaborer au projet, ni de plan ou de feuille de route pour guider les contributions en fonction des contenus nécessaires et avec quelle priorité.

L'objectif de cette proposition est de collaborer avec les mentors pour élaborer des consignes de contribution, élaborer un plan de développement d'un sujet, contribuer à l'amélioration du contenu actuel et créer de nouveaux contenus conformes au plan de développement.

2 : L'état actuel du livre interactif

Depuis son lancement à Google Summer of Code 2019, le projet connaît une "croissance non gérée ", avec l'aide de la communauté étudiante. L'organisation du projet elle-même est principalement constituée de développeurs. Ils ont donc fait partie du GSoD pour rechercher une aide externe afin d'améliorer le Livre interactif. Les développeurs du projet ont constaté que le livre nécessite actuellement la réécriture de certaines sections et l'ajout de nouveaux contenus, afin de le rendre plus détaillé et complet. En outre, l'équipe s'attend à disposer, après la GSoD, des consignes concernant les nouvelles contributions ainsi qu'un "plan de référence" général pour le développement du contenu.

3 Quelle est la contribution de cette proposition

Cette proposition contribuera à la cocréation d'une première version des consignes de contribution, visant à garantir un processus de collaboration plus harmonieux pour les contributeurs, conduisant ainsi à des contenus plus cohérents. Un plan de développement pour les sujets abordés dans le livre sera également décrit. Les ajouts et modifications les plus urgents dans le cadre du nouveau plan de développement seront également pris en compte.

4 Analyse des alternatives disponibles

Plusieurs projets Open Source éprouvés de caractéristiques similaires ont déjà élaboré des consignes de contribution pour la documentation, comme les Wikibooks ([Help:Contributing], [Wikibooks:Policies and Guidelines]), OpenStreetMap ([Organised Edit Guidelines]) ou le Linux Documentation Project ([LDP Author Guide]). Ces exemples peuvent être utilisés pour créer les directives du projet en fonction de l'expérience de projets Open Source réussis.

Concernant le plan de développement du sujet, il est possible de comparer les programmes des cours ouverts (par exemple, [MIT Open Courseware]) ainsi que des ouvrages de référence sur les circuits logiques numériques, y compris des livres ouverts tels que [Lessons In Electric Circuits -- Volume IV -Digital], [Wikibooks: Digital Circuits] et [Wikibooks: Digital Electronics].

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

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

[Consignes relatives à l'édition] https://wiki.osmfoundation.org/wiki/Organised_Editing_Guidelines

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

[MIT Open Courseware] https://ocw.mit.edu/

[Lessons In Electric Circuits -- Volume IV -Digital] https://www.iBibliothèque.org/kuphaldt/electricCircuits/Digital/index.html

[Wikibooks: Circuits numériques] https://fr.wikibooks.org/wiki/Circuits_numériques

[Wikibooks: Appareils électroniques numériques] https://fr.wikibooks.org/wiki/Digital_Electronics

5 Structure de la documentation proposée

Ce livre interactif peut s'avérer utile pour un large public, des étudiants amateurs amateurs de musique électronique et de l'enseignement secondaire aux étudiants et professionnels de l'enseignement supérieur qui ont besoin de se rafraîchir ou de renforcer leurs compétences en matière de circuits de logique numériques.

Afin de remédier à l'hétérogénéité chez les utilisateurs du livre, une structure "à plusieurs couches" est proposée, dans laquelle chaque couche correspond à un niveau croissant de complexité et de profondeur théorique du contenu.

Par conséquent, la structure de la documentation se développe en deux dimensions : la première dimension correspond à la séquence logique ou traditionnelle des sujets dans les systèmes de logique numériques, tandis que la deuxième dimension représente le niveau.

Dans la liste structurée suivante, la structure en deux dimensions proposée est représentée. L'ordre des thèmes standard est présenté au niveau le plus élevé. Pour des raisons de simplicité, seules trois couches de complexité sont définies pour chaque sujet, correspondant aux niveaux de base, moyen et avancé. Pour chaque niveau, le contenu lié à un thème général spécifique est listé.

  • Représentation à l'aide de nombres de binarty :
    • Niveau de base: nombres binaires, quantités négatives, autres bases, codification.
    • Niveau intermédiaire: [aucun contenu spécifique]
    • Niveau avancé: modules et anneaux
  • Opérations mathématiques avec des nombres binaires :
    • Niveau de base: addition, soustraction, multiplication, division
    • Niveau moyen: algèbre de Boole, fonctions booléennes
    • Niveau avancé: autres algèbres, décomposition de Shannon
  • Composants SSI combinés :
    • Niveau de base: symboles, portes logiques, tables de vérité
    • Niveau moyen: familles de logiques, portes universelles
    • Niveau avancé: comportement dans le temps (modèles de gestion du temps, dangers)
  • Conception de logique combinée :
    • Niveau de base: description fonctionnelle, implémentation
    • Niveau intermédiaire: fonctions canoniques, k-Maps
    • Niveau avancé: variables saisies dans le mappage, Quine McCluskey, représentation des cubes binaires
  • Composants MSI combinés :
    • Niveau de base: MUX, DEMUX, Encodeur, Décodeur, Demi-addition, Adder complet
    • Niveau intermédiaire: fonctions basées sur MUX
    • Niveau avancé: [aucun contenu spécifique]
  • Composants LSI combinés :
    • Niveau de base: ROM, ALU
    • Niveau moyen: PLD (PLA, PAL, GAL)
    • Niveau avancé: [aucun contenu spécifique]
  • Composants SSI séquentiels :
    • Niveau de base: loquets, tongs, signaux de l'horloge, diagrammes de temps
    • Niveau intermédiaire: commentaires sur la mémoire, systèmes synchrones, systèmes asynchrones
    • Niveau avancé: [aucun contenu spécifique]
  • Composants MSI séquentiels :
    • Niveau de base: registres, compteurs
    • Niveau intermédiaire: [aucun contenu spécifique]
    • Niveau avancé: [aucun contenu spécifique]
  • Conception séquentielle:

    • Niveau de base: [aucun contenu spécifique]
    • Niveau intermédiaire: synthèse séquentielle, FSM (Mealy, Moore), diagrammes d'état, minimisation des états, attribution des états, conditions de concurrence
    • Niveau avancé: conception basée sur MSI, conception basée sur LSI, diagrammes de flux, diagrammes MDS

    Le niveau de base doit permettre aux utilisateurs de comprendre le fonctionnement des circuits de logique numérique et leur utilisation, sans avoir besoin de connaissances en mathématiques supérieures. Il pourrait donc convenir aux étudiants amateurs et amateurs, ainsi qu'aux étudiants de l'enseignement secondaire. Si ces utilisateurs possèdent les compétences nécessaires et souhaitent approfondir leur compréhension, ils peuvent travailler tout ou partie du contenu du niveau moyen.

    Le contenu et les exigences du niveau intermédiaire doivent correspondre à un cours d'introduction au système de logique numérique de l'enseignement supérieur.

    Enfin, le niveau avancé comprend des contenus généralement disponibles dans des cours complémentaires ou facultatifs sur les systèmes numériques proposés dans les universités.

    Cette proposition de structure sera discutée avec les mentors au début du projet (semaine 3), qui servira ensuite d'entrée pour élaborer un plan de développement à long terme du sujet.

    La structure proposée peut utiliser la plupart, voire la totalité, du contenu actuel de la documentation, qui sera révisé, étendu ou corrigé en conséquence, si nécessaire. De plus, de nouvelles sections seront écrites pour les contenus qui ne sont pas encore couverts par la documentation existante.

6 objectifs

  1. Créez une première ébauche de consignes de contribution pour le projet de livre interactif.
  2. Les grandes lignes d'un développement pour les sujets du livre.
  3. Réécrire et restructurer le contenu actuel
  4. Créer du contenu en fonction du plan de développement.

7 chronologie

Semaine 1: (du 14 septembre au 20 septembre) Analysez les bonnes pratiques et discutez avec les mentors des bonnes pratiques en vous basant sur des exemples d'autres projets et sur l'expérience acquise jusqu'à présent dans le projet. Semaine 2: (21 septembre – 27 septembre) Rédiger le brouillon des consignes Semaine 3: (28 septembre - 4 octobre) Discuter du brouillon du plan de développement thématique avec les mentors Semaine 4 : (5 octobre – 11 octobre) : Rédiger un plan de développement. Semaines 5 à 11 : (du 12 octobre au 29 novembre) : rédigez vos contributions, sous la forme de contenus restructurés et de nouveaux sujets. Semaine 12 : (du 30 novembre au 5 décembre) : Envoi du rapport de projet. Évaluation de projet: (3 décembre – 10 décembre) - Envoi d'une évaluation du rédacteur technique - Envoi d'évaluation par les mentors.

8 Pourquoi le livre interactif CircuitVerse

En raison de la crise mondiale de la COVID-19, j'ai commencé à chercher des ressources en ligne pour aider mes étudiants dans un cours de premier cycle sur les systèmes de logique numérique. Je défend les technologies Open Source de libre-libre depuis plusieurs décennies maintenant, et je donne la priorité à ce type de projets. J'ai trouvé le simulateur CircuitVerse et j'ai décidé qu'il s'agissait d'un excellent outil pour compenser le manque d'activités de laboratoire en raison des mesures de confinement de la COVID-19 mises en place par notre université. En testant le simulateur, j'ai également trouvé le livre interactif, et même si le contenu n'était pas encore suffisant comme référence principale pour un cours complet sur les systèmes de logique numériques, son contenu actuel était correct et facile à comprendre. Je l'ai donc inclus dans les ressources d'apprentissage.

Comme j'utilisais le simulateur et que j'effectuais de façon intensive, j'ai été contacté par l'organisation pour me parler du GSoD. J'y ai vu l'opportunité de contribuer en retour au projet directement dans mon domaine d'expertise.

9 références

  • [Aide Wikibooks:Contributing],
  • [Wikibooks:Règles et consignes]
  • [Directives pour la modification organisée d'OpenStreetMap]
  • [Guide du projet de documentation Linux (LDP) pour les auteurs]
  • [Programme du MIT Open Courseware Introductory Digital Systems Laboratory]
  • [Leçons sur les circuits électriques – Volume IV – Numérique]
  • [Wikibooks: Circuits numériques]
  • [Wikibooks: Appareils électroniques numériques]
  • [Linux Brochure Project]

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

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

    [Consignes pour l'édition organisée d'OpenStreetMap] https://wiki.osmfoundation.org/wiki/Organised_Editing_Guidelines

    [Guide du projet de documentation Linux (LDP)] https://www.tldp.org/LDP/LDP-Author-Guide/html/index.html

    [Programme d'introduction au laboratoire de systèmes numériques du MIT Open]

    [Lessons In Electric Circuits -- Volume IV -Digital] https://www.iBibliothèque.org/kuphaldt/electricCircuits/Digital/index.html

    [Wikibooks: Circuits numériques] https://fr.wikibooks.org/wiki/Circuits_numériques

    [Wikibooks: Appareils électroniques numériques] https://fr.wikibooks.org/wiki/Digital_Electronics

    [The Linux Brochure Project] http://lbproject.sourceforge.net/