diff --git a/embedded-system-design/acm-guidelines/README.md b/embedded-system-design/acm-guidelines/README.md new file mode 100644 index 0000000..c44bd1e --- /dev/null +++ b/embedded-system-design/acm-guidelines/README.md @@ -0,0 +1,59 @@ +# ACM Guidelines RoadMaps + +This project is deemed for dissociating the [ACM-Guidelines for CS and CE Curricula]() into +more manageable _entities_ to learn, such that each entity is composed of multiple sets of +related _components_ known as _the modules_, and each component can be further decomposed into +subjects, the smallest building blocks in this learning scheme. + +## Learning Scheme Model _"EMCSO Model"_ +> E = Entities +> > M = Modules +> > > C = Components +> > > > S = Subjects +> > > > > O = Objects + +## Example: Embedded Systems RoadMap using the _"EMCSO Model"_ +> E = {Embedded Systems} +> > M = {Theory of Electronics, Practical Electronics, Digital Logic Design, Microcontroller Interfacing, Embedded Software Engineering, ...} +> > > C of Electronics = {General Electronics, Digital Electronics, Analog Electronics, Circuit Design, Circuit testing, ...} + +> > > C of Microcontroller interfacing = {} +> > > > S of General Electronics = {Circuitry, Ohm's Law, Kirchhoff's Laws, Superposition Theorem, Thevenin's Theorem, ...} +> > > > > O of Circuitry = {Open Circuits, Closed Circuits, Short Circuits, ...} + +## Terminology +* An _Entity_ is a universe set that holds groups sets of similar modular subjects together, those groups +propose similar goals, and their presence together magnifies the target knowledge to the full capacity (e.g., Embedded Systems). +* A _Module_ is a set that groups related components together in a specific entity. +* A _Component_ is the logical unit of the learning modules, and represents the mental +subjects that maps the literal scientific subjects under a generic or umbrella term (e.g., Problem Solving Fundamentals, +Software Engineering Fundamentals, Embedded Systems Fundamentals). +* A _Subject_ is the building unit of the learning modules, and represents the +actual scientific subjects (e.g., Discrete Mathematics - Data Structures & Algorithms). +* An _Object_ is a very specific part (could be chapter or conceptualization) inside +a designated subject (e.g., Switching Algebra in Discrete Mathematics). +* An _Entity-Entity_ relationship. +* A _Entity-Module_ relationship. +* A _Module-Module_ relationship. +* A _Module-Component_ relationship. +* A _Module-Subject_ relationship. +* A _Component-Subject_ relationship. +* A _Component-Component_ relationship. +* A _Subject-Subject_ relationship. + +## Generalized RoadMaps for the famous domains + +## Study Materials + +## Study Maneuvers + +## Introduction to Scientific Modelling + +## References +* [ACM CS Curricula Guidelines](https://www.acm.org/binaries/content/assets/education/cs2013_web_final.pdf) +* [ACM CE Curricula Guidelines](https://www.acm.org/binaries/content/assets/education/ce2016-final-report.pdf) +* [ACM SE Curricula Guidelines](https://www.acm.org/binaries/content/assets/education/se2014.pdf) +* [Embedded Systems Engineering Springer](https://link.springer.com/book/10.1007/978-3-319-10680-9) +* [Software Engineering Fundamentals Pearson International]() +* [The Art of Computer Programming by Donald K. Knuth]() +* [Practical Electronics for Inventors McGrawHill Education]() \ No newline at end of file diff --git a/circuit-design/README.md b/embedded-system-design/circuit-design/README.md similarity index 100% rename from circuit-design/README.md rename to embedded-system-design/circuit-design/README.md diff --git a/diy-guide/README.md b/embedded-system-design/diy-guide/README.md similarity index 100% rename from diy-guide/README.md rename to embedded-system-design/diy-guide/README.md