programming-digital-twins / pdt-exercise-tasks

This repository houses the exercise tasks (issues) for the Programming Digital Twins course content.
Other
0 stars 0 forks source link

Programming Digital Twins - Lab Module Tasks Overview

This project captures the Lab Module exercises and associated requirements designed to be implemented sequentially - in order - from Lab Module 01 to Lab Module 10. Some of the content is derived from my O'Reilly Media book, Programming the Internet of Things, which is a useful reference for building the Edge Device Application and message-passing logic between it and the Digital Twin Application.

All Lab Module exercises can be found here:

What You'll Find In This Project

There are dozens of exercises listed, each part of building a basic, end-to-end Digital Twin solution - step by step. This content is based on the course I created for teaching introductory IoT and Digital Twins concepts in a lab-based University course.

There are three primary repositories that provide the core content for this project:

The combination of these repositories, coupled with the Programming Digital Twins Kanban Board I mentioned previously, comprise the lab module exercises and frameworks needed for implementation.

If you're a student in Building Digital Twins, you'll find a fourth repository containing document templates (README files) for each Lab Module in pdt-exercise-docs. These templates will help you document your technical approach for each Lab Module and the Semester Project.

Links, Exercises, Updates, Errata, and Clarifications

Please see the following links to access exercises for Programming Digital Twins and the Programming the Internet of Things book:

How Exercises are Organized

The requirements contained within this repository are captured as a simple list of dozens of tasks and activities - some are documentation-specific while most are programming-specific - and labeled according to activity category, chapter, and implementation order.

About Lab Modules, Milestones and Labels

Lab Modules are organized into 'parts', which are intended to represent categories of exercises that are related, yet are also designed to be implemented in sequence, as each part is intended to be implemented in sequence (e.g., Part 01 first, with each lab module implemented in order, followed by Part 02, etc.) Lab module details are currently under development and will be linked here when available. For now, the structure is as follows:

Each exercise within a given Lab Module has at least one label, intended to assist with categorizing the work to be done, as follows:

About Naming and Numbering Conventions

Exercises and notes are named according to the following convention:

{project name}-{category}-{lab module #}-{sequence #}

This naming convention is designed to help you navigate through the requirements in each Lab Module sequentially, building your solution in a step-by-step manner. The naming breakdown is as follows:

The structure of each chapter's notes and requirements are sequenced based on the ordered guidelines listed below:

NOTE: As alluded to previously, an exception to the numbering sequence scheme is made for build-specific tasks related to the EDA and DTA. The initial build requirement (check out a new branch) is numbered '000' for each component (e.g., PDT-EDA-02-000) and should be implemented before any other component-specific requirement, and '100' for the final build requirement (e.g., PDT-EDA-02-100), which should be implemented after all other component-specific requirements.

Other Things to Know

Pull Requests

PR's are currently disabled.

Updates

Much of the tasks and issues representing requirements within this repository will continue to evolve, so you may want to check back regularly for potential updates. Please note that this repository is still under active development - you'll likely find typos and other errata.

License

Please see LICENSE information in PDT-DOC-LIC for more information. In summary:

Documentation - Usage and License

This project's written instructions and non-source code documentation - all Notes, Instructions and Cards contained within this Kanban board - are available under the following license:

Source Code Solutions and Examples - Usage and License

This project contains embedded sample source codes representing examples and solutions. Unless otherwise represented, these embedded source codes (C# and Python) are available under the following license:

References

Tools and Specifications (subject to change)