پروژه CircuitVerse

این صفحه حاوی جزئیات یک پروژه نگارش فنی است که برای فصل اسناد Google پذیرفته شده است.

خلاصه ی پروژه

سازمان منبع باز:
CircuitVerse
نویسنده فنی:
dvls
نام پروژه:
ادغام و بهبودهای کتاب تعاملی CircuitVerse
طول پروژه:
طول استاندارد (3 ماه)

شرح پروژه

1 چکیده

CircuitVerse یک پروژه متن باز است که هدف آن ارائه پلتفرمی است که در آن مدارها را می توان با استفاده از یک رابط کاربری گرافیکی مبتنی بر وب طراحی و شبیه سازی کرد. شبیه ساز منطقی را می توان برای طراحی تا اجرای کامل CPU مورد استفاده قرار داد، اگرچه در درجه اول برای استفاده آموزشی طراحی شده است. علاوه بر مستندات فنی نرم افزار، یک کتاب تعاملی آنلاین کاربر را در یادگیری طراحی منطق دیجیتال راهنمایی می کند. این کتاب به کاربر اجازه می دهد تا مدارها را مستقیماً از داخل کتاب برای یک تجربه تعاملی امتحان کند.

این کتاب در مراحل اولیه توسعه است و در حال حاضر فاقد برخی بخش‌های مرتبط است، ساختار کلی از نظر جریانی که بخش‌های مختلف را به هم متصل می‌کند، سست است و به محتوای دقیق‌تری نیاز دارد. علاوه بر این، طبق گفته این سازمان، هیچ دستورالعملی برای کمک به مشارکت کنندگان برای همکاری در پروژه وجود ندارد و همچنین یک طرح یا نقشه راه برای راهنمایی مشارکت در مورد محتوای مورد نیاز و با کدام اولویت وجود ندارد.

اهداف این پیشنهاد همکاری با مربیان برای ایجاد دستورالعمل های مشارکت، تولید طرح توسعه موضوع و کمک به بهبود محتوای فعلی و همچنین ایجاد محتوای جدید مطابق با برنامه توسعه است.

2 وضعیت فعلی کتاب تعاملی

از زمان شروع پروژه در Google Summer of Code 2019، با کمک جامعه دانشجویی، "رشد مدیریت نشده" را به نمایش گذاشته است. خود سازمان پروژه عمدتاً توسط توسعه دهندگان تشکیل شده است، بنابراین آنها بخشی از GSoD را برای جستجوی کمک خارجی برای بهبود کتاب تعاملی گرفته اند. توسعه دهندگان پروژه شناسایی کرده اند که کتاب در حال حاضر نیازمند بازنویسی برخی از بخش ها، افزودن محتوای جدید و جزئی تر و جامع تر کردن آن است. علاوه بر این، تیم انتظار دارد که پس از GSoD، دستورالعمل هایی برای مشارکت های جدید و همچنین یک "طرح اصلی" کلی برای توسعه محتوا داشته باشد.

3 سهم این پیشنهاد چیست؟

این پیشنهاد با ایجاد مشترک اولین نسخه از دستورالعمل‌های مشارکت، با هدف اطمینان از فرآیند هماهنگ‌تر همکاری برای مشارکت‌کنندگان، کمک می‌کند، بنابراین منجر به محتوای منسجم‌تر می‌شود. همچنین یک طرح توسعه برای موضوعات کتاب ارائه خواهد شد. فوری ترین اضافات و تغییرات طبق برنامه توسعه جدید نیز کمک خواهد شد.

4 تجزیه و تحلیل جایگزین های موجود

چندین پروژه متن‌باز بالغ با ویژگی‌های مشابه قبلاً دستورالعمل‌های مشارکتی را برای مستندات ایجاد کرده‌اند، مانند ویکی‌کتاب‌ها ([Help:Contributing]، [Wikibooks:Policies and Guidelines])، OpenStreetMap ([دستورالعمل‌های ویرایش سازمان‌یافته]) یا پروژه مستندسازی لینوکس ([ راهنمای نویسنده LDP]). از این مثال ها می توان برای ساخت دستورالعمل های پروژه بر اساس تجربه پروژه های منبع باز موفق استفاده کرد.

برای طرح توسعه موضوع، می‌توان برنامه‌های درسی دوره‌های آزاد (مثلا [MIT Open Courseware]) و همچنین کتاب‌های مرجع در مورد مدارهای منطق دیجیتال، از جمله کتاب‌های باز مانند [Lessons In Electric Circuits -- Volume IV - Digital] را با هم مقایسه کرد. [Wikibooks: Digital Circuits] و [Wikibooks: Digital Electronics].

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

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

[دستورالعمل‌های ویرایش سازمان‌یافته] https://wiki.osmfoundation.org/wiki/Organised_Editing_Guidelines

[راهنمای نویسنده LDP] https://www.tldp.org/LDP/LDP-Author-Guide/html/index.html

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

[درس در مدارهای الکتریکی -- جلد چهارم - دیجیتال] https://www.ibiblio.org/kuphaldt/electricCircuits/Digital/index.html

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

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

5 ساختار اسناد پیشنهادی

این کتاب تعاملی این پتانسیل را دارد که برای مخاطبان گسترده ای از دانش آموزان سرگرمی الکترونیک آماتور و دانش آموزان آموزش متوسطه گرفته تا دانش آموزان آموزش عالی و متخصصانی که نیاز به تجدید یا تقویت مهارت های خود در مدارهای منطق دیجیتال دارند مفید باشد.

به منظور پرداختن به ناهمگونی در کاربران کتاب، یک ساختار "چند لایه" پیشنهاد شده است، که در آن هر لایه با افزایش سطح پیچیدگی و عمق نظری مطالب مطابقت دارد.

بنابراین، ساختار مستندات در دو بعد رشد می کند، بعد اول مربوط به توالی منطقی یا سنتی موضوعات در سیستم های منطق دیجیتال است، در حالی که بعد دوم نشان دهنده سطح است.

در لیست ساختاری زیر ساختار دو بعدی پیشنهادی نشان داده شده است. توالی موضوع استاندارد در بالاترین سطح ارائه شده است. برای سادگی، تنها سه لایه پیچیدگی برای هر موضوع، مربوط به سطوح پایه، متوسط ​​و پیشرفته تعریف شده است. برای هر سطح مطالب مرتبط با موضوع کلی خاص ذکر شده است.

  • نمایش با استفاده از اعداد دودویی:
    • سطح پایه: اعداد باینری، کمیت های منفی، پایه های دیگر، کدگذاری.
    • سطح متوسط: [بدون محتوای خاصی]
    • سطح پیشرفته: ماژول ها و حلقه ها
  • عملیات ریاضی با اعداد باینری:
    • سطح پایه: جمع، تفریق، ضرب، تقسیم
    • سطح متوسط: جبر بولی، توابع بولی
    • سطح پیشرفته: جبرهای دیگر، تجزیه شانون
  • اجزای ترکیبی SSI:
    • سطح پایه: نمادها، دروازه های منطقی، جداول حقیقت
    • سطح متوسط: خانواده های منطقی، دروازه های جهانی
    • سطح پیشرفته: رفتار زمانی (مدل های زمان بندی، خطرات)
  • طراحی منطق ترکیبی:
    • سطح پایه: توصیف عملکردی، پیاده سازی
    • سطح متوسط: توابع متعارف، k-Maps
    • سطح پیشرفته: متغیرهای وارد شده در نقشه، 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: (14 سپتامبر - 20 سپتامبر) بهترین دستورالعمل ها را بر اساس نمونه های دیگر پروژه و همچنین تجربه به دست آمده تا کنون در پروژه تجزیه و تحلیل و با مربیان بحث کنید. هفته 2: (21 سپتامبر - 27 سپتامبر) پیش نویس دستورالعمل ها را بنویسید. هفته 3: (28 سپتامبر - 4 اکتبر) پیش نویس طرح توسعه موضوع را با مربیان بحث کنید. هفته چهارم: (5 اکتبر - 11 اکتبر) برنامه توسعه را بنویسید. هفته های 5 تا 11: (12 اکتبر - 29 نوامبر) مشارکت ها را بنویسید که شامل محتوای بازسازی شده و همچنین موضوعات جدید است. هفته 12: (30 نوامبر - 5 دسامبر) ارائه گزارش پروژه. ارزیابی پروژه: (3 دسامبر - 10 دسامبر) - ارسال ارزیابی نویسنده فنی. - ارسال ارزیابی مربیان.

8 چرا کتاب تعاملی CircuitVerse

با توجه به بحران جهانی COVID-19، من شروع به جستجوی منابع آنلاین کردم که به دانشجویانم در دوره کارشناسی در مورد سیستم های منطق دیجیتال کمک کند. من چندین دهه است که از فن آوری های منبع باز Free-Libre حمایت می کنم، بنابراین اولویت را به این نوع پروژه ها می دهم. من شبیه‌ساز CircuitVerse را پیدا کردم و به این نتیجه رسیدم که این ابزار عالی برای تکمیل کمبود فعالیت‌های آزمایشگاهی به دلیل اقدامات مهار COVID-19 دانشگاه ما است. در حین آزمایش شبیه ساز، کتاب تعاملی آنها را نیز پیدا کردم، و با وجود اینکه محتوا هنوز به عنوان مرجع اصلی برای یک دوره کامل در سیستم های منطق دیجیتال کافی نبود، محتوای فعلی آن صحیح و قابل درک بود، بنابراین آن را در منابع آموزشی قرار دادم. .

از آنجایی که من به شدت از شبیه ساز و کتاب آنها استفاده می کردم، سازمان با من تماس گرفت تا درباره GSoD به من بگوید. من در این فرصتی دیدم که مستقیماً از حوزه تخصصی خود به پروژه کمک کنم.

9 مراجع

  • [راهنمای ویکی‌کتاب‌ها: مشارکت]،
  • [ویکی‌کتاب: خط‌مشی‌ها و دستورالعمل‌ها]
  • [دستورالعمل‌های ویرایش سازمان‌یافته OpenStreetMap]
  • [راهنمای نویسنده پروژه مستندسازی لینوکس (LDP)]
  • [برنامه درسی آزمایشگاه سیستم های دیجیتال مقدماتی MIT Open Courseware]
  • [درس در مدارهای الکتریکی -- جلد چهارم - دیجیتال]
  • [Wikibooks: Digital Circuits]
  • [Wikibooks: Digital Electronics]
  • [پروژه بروشور لینوکس]

    [راهنمای ویکی‌کتاب‌ها: مشارکت] https://en.wikibooks.org/wiki/Help:Contributing

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

    [دستورالعمل‌های ویرایش سازمان‌یافته OpenStreetMap] https://wiki.osmfoundation.org/wiki/Organised_Editing_Guidelines

    [راهنمای نویسنده پروژه مستندسازی لینوکس (LDP)] https://www.tldp.org/LDP/LDP-Author-Guide/html/index.html

    [برنامه آموزشی آزمایشگاهی سیستم‌های دیجیتال مقدماتی مقدماتی نرم افزار MIT] https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-111-Introductory-digital-systems-laboratory-spring-2006/syllabus/

    [درس در مدارهای الکتریکی -- جلد چهارم - دیجیتال] https://www.ibiblio.org/kuphaldt/electricCircuits/Digital/index.html

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

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

    [پروژه بروشور لینوکس] http://lbproject.sourceforge.net/