CircuitVerse 프로젝트

이 페이지에는 Google Season of Docs에서 승인된 테크니컬 라이팅 프로젝트의 세부정보가 포함되어 있습니다.

프로젝트 요약

오픈소스 조직:
CircuitVerse
테크니컬 라이터:
dvl
프로젝트 이름:
CircuitVerse 대화형 도서 통합 및 개선
프로젝트 기간:
표준 기간 (3개월)

Project description

초록 1개

CircuitVerse는 웹 기반 그래픽 사용자 인터페이스를 사용하여 회로를 설계하고 시뮬레이션할 수 있는 플랫폼을 제공하는 오픈소스 프로젝트입니다. 로직 시뮬레이터는 CPU 구현을 완료하기 위해 설계할 수 있지만, 주로 교육용으로 설계되었습니다. 소프트웨어 기술 문서 외에도 온라인 대화형 도서는 사용자가 디지털 로직 설계를 학습하는 방법을 안내합니다. 이 도서를 통해 사용자는 대화형 환경을 위해 도서 내에서 직접 회로를 사용해 볼 수 있습니다.

이 도서는 아직 개발 초기 상태이며 현재 일부 관련 섹션이 없습니다. 전반적인 구조는 여러 섹션을 연결하는 흐름 측면에서 느슨하며 더 자세한 콘텐츠가 필요합니다. 또한 조직에 따르면 참여자의 프로젝트 공동작업에 도움이 되는 가이드라인도 없고, 필요한 콘텐츠와 우선순위에 대한 기여를 안내하는 계획이나 로드맵도 없다고 합니다.

이 제안서의 목표는 멘토와 협력하여 참여 가이드라인을 만들고, 주제 개발 계획을 세우고, 현재 콘텐츠를 개선하는 데 기여하며, 개발 계획에 따라 새로운 콘텐츠를 만드는 것입니다.

2 대화형 도서의 현재 상태

Google 프로그래밍 경진대회(Summer of Code) 2019에서 시작된 이 프로젝트는 학생 커뮤니티의 도움으로 '관리되지 않는 성장'을 보여주었습니다. 프로젝트 조직 자체는 주로 개발자가 형성했기 때문에 대화형 도서를 개선하기 위해 외부 도움을 받기 위해 GSoD에 참여했습니다. 프로젝트 개발자는 현재 책의 일부 섹션을 다시 작성하고 새로운 콘텐츠를 추가해야 한다는 사실을 확인하고 더 자세하고 포괄적으로 만들었습니다. 또한 GSoD 이후 새로운 기여에 관한 가이드라인과 콘텐츠 개발을 위한 일반적인 '마스터 계획'이 마련될 것으로 예상합니다.

3 이 제안의 기여도

이 제안서는 참여자들이 더욱 조화로운 협업 과정을 이룰 수 있도록 하기 위해 참여 가이드라인의 첫 번째 버전을 공동으로 작성하는 데 기여함으로써 보다 일관된 콘텐츠를 제공할 것입니다. 도서 주제와 관련된 개발 계획도 간략하게 다룹니다. 새로운 개발 계획에 따른 가장 긴급한 추가 및 변경사항도 제공됩니다.

4 사용 가능한 대안 분석

이미 Wikibooks ([Help:Contributing], [Wikibooks:정책 및 가이드라인]), OpenStreetMap ([조직 편집 가이드라인]) 또는 The Linux Documentation Project ([LDP 작성자 가이드])와 같은 유사한 특성을 가진 성숙한 여러 오픈소스 프로젝트에서 이미 문서 참여 가이드라인을 개발했습니다. 이러한 예시를 통해 성공적인 오픈소스 프로젝트의 경험을 바탕으로 프로젝트 가이드라인을 작성할 수 있습니다.

주제의 개발 계획의 경우 공개 과정 (예: [MIT Open Courseware])의 강의 계획서와 [강의 4: 전기 회로 - 볼륨 - 디지털], [위키북: 디지털 회로], [위키북: 디지털 일렉트로닉]과 같은 공개 도서 등 디지털 논리 회로에 관한 참고 도서를 비교할 수 있습니다.

[도움말:참여] https://ko.wikibooks.org/wiki/Help:기여

[Wikibooks:정책 및 가이드라인] https://ko.wikibooks.org/wiki/Wikibooks:Policies_and_guidelines

[정리된 편집 가이드라인] https://wiki.osmfoundation.org/wiki/Organged_Editing_Guidelines

[LDP 작성자 가이드] https://www.tldp.org/LDP/LDP-Author-Guide/html/index.html

[MIT 오픈 코스웨어] https://ocw.mit.edu/

[전기 회로 강의 -- 볼륨 IV -디지털] https://www.ibiblio.org/kuphaldt/electricCircuits/Digital/index.html

[Wikibooks: Digital Circuits] https://ko.wikibooks.org/wiki/Digital_Circuits

[Wikibooks: 디지털 전자제품] https://ko.wikibooks.org/wiki/Digital_Electronics

5 제안된 문서의 구조

이 대화형 도서는 아마추어 전자 취미로 하는 취미와 중등 교육 학생부터 디지털 논리 회로에 관한 실력을 쌓거나 강화해야 하는 고등 교육 학생 및 전문가에 이르기까지 광범위한 잠재고객에게 유용할 수 있습니다.

도서 사용자의 이질성을 해결하기 위해 '멀티 레이어' 구조가 제안됩니다. 멀티 레이어 구조에서는 각 레이어의 복잡성 수준과 콘텐츠의 이론적 깊이가 증가합니다.

따라서 문서의 구조는 2차원으로 확장됩니다. 첫 번째 측정기준은 디지털 논리 시스템에서 논리적 또는 전통적인 주제 순서에 해당하며 두 번째 측정기준은 수준을 나타냅니다.

아래의 구조화된 목록에는 제안된 2차원 구조가 나와 있습니다. 표준 주제 순서는 최상위 수준에 표시됩니다. 편의상 각 주제에 기본, 중급, 고급 수준에 해당하는 3가지 복잡성 레이어만 정의했습니다. 수준별로 특정 일반 주제와 관련된 콘텐츠가 나열됩니다.

  • 이진수를 사용한 표현:
    • 기본 수준: 바이너리, 음수, 기타 염기, 코드화
    • 중간 수준: [특정 콘텐츠 없음]
    • 고급 수준: 모듈 및 링
  • 이진수를 사용한 수학 연산:
    • 기본 수준: 덧셈, 뺄셈, 곱셈, 나눗셈
    • 중간 수준: 부울 대수, 부울 함수
    • 고급: 기타 대수학, 섀넌 분해
  • 조합 SSI 구성요소:
    • 기본 수준: 기호, 로직 게이트, Truth 테이블
    • 중간 수준: 로직 패밀리, 범용 게이트
    • 고급 수준: 시간 행동 (타이밍 모델, 위험)
  • 조합 논리 설계:
    • 기본 수준: 기능 설명, 구현
    • 중간 수준: 표준 함수, k-맵
    • 고급 수준: 맵 입력 변수, Quine McCluskey, 바이너리 큐브 표현
  • 조합 MSI 구성요소:
    • 기본 수준: MUX, DEMUX, 인코더, 디코더, 하프 가산기, 전체 가산기
    • 중간 수준: MUX 기반 함수
    • 고급: [특정 콘텐츠 없음]
  • 조합 LSI 구성요소:
    • 기본 수준: ROM, ALU
    • 중간 수준: PLD (PLA, PAL, GAL)
    • 고급: [특정 콘텐츠 없음]
  • 순차적 SSI 구성요소:
    • 기본 수준: 래치, 플립플롭, 시계 신호, 시간 다이어그램
    • 중간 수준: 메모리 피드백, 동기 시스템, 비동기 시스템
    • 고급: [특정 콘텐츠 없음]
  • 순차적 MSI 구성요소:
    • 기본 수준: 레지스터, 카운터
    • 중간 수준: [특정 콘텐츠 없음]
    • 고급: [특정 콘텐츠 없음]
  • 순차적 설계:

    • 기본 수준: [특정 콘텐츠 없음]
    • 중간 수준: 순차 합성, FSM (Mealy, Moore), 상태 다이어그램, 상태 최소화, 상태 할당, 경합 상태
    • 고급 수준: MSI 기반 설계, LSI 기반 디자인, 흐름도, MDS 다이어그램

    기본 수준을 통해 사용자는 고급 수학에 대한 지식 없이도 디지털 논리 회로의 작동 방식과 사용 방법을 이해할 수 있어야 합니다. 따라서 아마추어 취미로 하는 학생과 중등 교육생에게 적합할 수 있습니다. 이러한 사용자가 필요한 기술을 갖추고 있으며 더 깊은 이해를 쌓으려는 경우 중간 수준의 콘텐츠 일부 또는 전부를 다룰 수 있습니다.

    중급은 콘텐츠와 요구사항 면에서 디지털 논리 시스템의 고등 교육 수준 입문 과정과 동일해야 합니다.

    마지막으로 고급 수준에는 대개 대학교 디지털 시스템의 보충 과정 또는 선택적 고급 과정에서 찾을 수 있는 콘텐츠가 포함됩니다.

    제안된 구조는 프로젝트 초기 단계 (3주 차)에서 멘토와 논의되며, 이후 장기적인 주제 개발 계획의 개요를 작성하는 입력으로 사용됩니다.

    제안된 구조는 문서의 현재 내용을 대부분 활용할 수 있으며 필요에 따라 수정, 확장 또는 수정됩니다. 또한 기존 문서에서 아직 다루지 않은 콘텐츠를 위해 새로운 섹션이 작성됩니다.

6개 목표

  1. 대화형 도서 프로젝트를 위한 참여 가이드라인의 첫 번째 초안을 작성합니다.
  2. 책 주제 진행 상황을 간략히 서술하세요.
  3. 현재 콘텐츠 재구성 및 재구성
  4. 개발 계획에 따라 새로운 콘텐츠를 제작합니다.

7 타임라인

1주 차: (9월 14일~9월 20일) 다른 프로젝트의 사례와 프로젝트에서 지금까지 얻은 경험을 바탕으로 최상의 가이드라인을 분석하고 멘토와 논의합니다. 2주 차: (9월 21일~9월 27일) 가이드라인 초안 작성 3주 차: (9월 28일~10월 4일) 멘토와 주제 개발 계획 초안에 대해 논의합니다. 4주 차: (10월 5일~10월 11일) 개발 계획을 작성합니다. 5~11주 차: (10월 12일~11월 29일) 재구성된 콘텐츠와 새로운 주제로 구성된 기여를 작성합니다. 12주 차: (11월 30일~12월 5일) 프로젝트 보고서 제출 프로젝트 평가: (12월 3일~12월 10일) - 테크니컬 라이터의 평가 제출 - 멘토 평가 제출

8 CircuitVerse 대화형 도서가 필요한 이유

코로나19가 전 세계에 불러온 코로나19 위기 상황으로 인해 저는 디지털 논리 시스템에 관한 학부 과정을 수강하는 학생들에게 도움이 될 온라인 리소스를 찾기 시작했습니다. 저는 수십 년 동안 Free-Libre 오픈소스 기술을 옹호해 왔으며, 이러한 프로젝트를 우선시합니다. 그래서 CircuitVerse 시뮬레이터를 찾았고 대학교의 코로나19 방역 조치로 인해 부족한 실험실 활동을 보완할 수 있는 훌륭한 도구라는 결론을 내렸습니다. 시뮬레이터를 테스트하면서 대화형 도서도 찾았습니다. 디지털 논리 시스템에 관한 전체 과정의 주요 참고 자료로는 아직 충분하지 않은 콘텐츠임에도 현재 내용은 정확하고 이해하기 쉬우므로 학습 리소스에 포함했습니다.

시뮬레이터를 사용하고 책을 집약적으로 사용하고 있었기 때문에 조직에서 GSoD에 대해 알려달라는 연락을 받았습니다. 이를 통해 제 전문 분야에서 바로 프로젝트에 다시 기여할 수 있는 기회를 확인했습니다.

참고 자료 9개

  • [Wikibooks 도움말:도움],
  • [Wikibooks:정책 및 가이드라인]
  • [OpenStreetMap 조직 수정 가이드라인]
  • [Linux 문서 프로젝트 (LDP) 작성자 가이드]
  • [MIT Open Courseware Introductory Digital Systems Laboratory Syllabus]
  • [전기 회로 강의 -- 볼륨 IV -디지털]
  • [위키북: 디지털 회로]
  • [위키북: 디지털 전자기기]
  • [Linux 브로슈어 프로젝트]

    [Wikibooks 도움말:기여] https://ko.wikibooks.org/wiki/Help:Contributing

    [Wikibooks:정책 및 가이드라인] https://ko.wikibooks.org/wiki/Wikibooks:Policies_and_guidelines

    [OpenStreetMap 조직 편집 가이드라인] https://wiki.osmfoundation.org/wiki/Organged_Editing_Guidelines

    [Linux Documentation Project (LDP) 작성자 가이드] https://www.tldp.org/LDP/LDP-Author-Guide/html/index.html

    [MIT Open Courseware 소개 디지털 시스템 실험실 강의 계획서] https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-111-introductory-digital-systems-laboratory-spring-2006/syllabus/

    [전기 회로 강의 -- 볼륨 IV -디지털] https://www.ibiblio.org/kuphaldt/electricCircuits/Digital/index.html

    [위키북: 디지털 회로] https://ko.wikibooks.org/wiki/Digital_Circuits

    [Wikibooks: 디지털 일렉트로닉스] https://ko.wikibooks.org/wiki/Digital_Electronics

    [Linux 브로슈어 프로젝트] http://lbproject.sourceforge.net/