| # CPS Files Repository | |
| Comprehensive archive for Cyber-Physical Systems (CPS) and Distributed Systems coursework, projects, lecture material, and generated study deliverables. | |
| ## 1) Repository Scope | |
| This is a multi-project academic workspace (not a single application). It includes: | |
| - CPS lecture slides and hardware lectures | |
| - Assignment sample solutions (embedded, Qt, QML) | |
| - Distributed systems projects (Go, Python, Java) | |
| - Generated LaTeX study deliverables | |
| - Verification and maintenance automation | |
| ## 2) Top-Level Structure | |
| | Path | Purpose | | |
| |---|---| | |
| | `CAs/` | Current-term assignment workspace (empty in this snapshot). | | |
| | `CPS Slides/` | Main lecture deck sources (PDF/PPTX). | | |
| | `last_terms/` | Archived previous-term assignments and sample solutions. | | |
| | `OtherUniversitiesLectures/` | Distributed systems project collections. | | |
| | `Cyber-Physical-Systems-Course/` | Cloned external CPS assignment reference repository. | | |
| | `reports/` | Verification and improvement reports. | | |
| | `output/` | Generated output artifacts (compiled PDFs, etc.). | | |
| | `scripts/` | Verification and automation scripts. | | |
| | `tmp/` | Temporary extraction/render files. | | |
| ## 3) Slide Deck Inventory (Complete) | |
| ### Core CPS PDFs | |
| 1. `CPS Slides/00_Introduction.pdf` | |
| 2. `CPS Slides/01-Embedded Systems (Overview).pdf` | |
| 3. `CPS Slides/02-Sensors and Actuators.pdf` | |
| 4. `CPS Slides/03,04-Interrupts Memory Addressing.pdf` | |
| 5. `CPS Slides/05-Execution Time Analysis.pdf` | |
| 6. `CPS Slides/06-Towards Higher Level Models.pdf` | |
| 7. `CPS Slides/07-Programming Paradigms and Operating Systems.pdf` | |
| 8. `CPS Slides/08-Scheduling.pdf` | |
| 9. `CPS Slides/09-MARTE.pdf` | |
| ### Embedded Hardware PPTX Decks | |
| 10. `CPS Slides/Embedded Hardware-L0-intro.pptx` | |
| 11. `CPS Slides/Embedded Hardware-L1-Hardware intro.pptx` | |
| 12. `CPS Slides/Embedded Hardware-L2- AVR.pptx` | |
| 13. `CPS Slides/Embedded Hardware-L4- ADC and Timer.pptx` | |
| 14. `CPS Slides/Embedded Hardware-L5-AVR peripherals.pptx` | |
| 15. `CPS Slides/Embedded Hardware-L6-interrupt.pptx` | |
| 16. `CPS Slides/Embedded-Hardware-L7-Memory.pptx` | |
| ## 4) Generated Q&A Deliverables | |
| ### Standard bank | |
| - Source: `output/pdf/cps_slides_question_bank.tex` | |
| - PDF: `output/pdf/cps_slides_question_bank.pdf` | |
| ### Extended bank (50 Q&A per deck) | |
| - Source: `output/pdf/cps_slides_question_bank_50q.tex` | |
| - PDF: `output/pdf/cps_slides_question_bank_50q.pdf` | |
| - Coverage: 16 decks x 50 Q&A = 800 Q&A total | |
| ## 5) Assignment Improvements Using External Reference Repo | |
| External source cloned and used: | |
| - URL: <https://github.com/Hadi-loo/Cyber-Physical-Systems-Course> | |
| - Local clone: `Cyber-Physical-Systems-Course/` | |
| - Initialized submodules: | |
| - `IOT-Entrance-Control-System` | |
| - `Motion-Based-Authentication` | |
| Imported into local assignment packages: | |
| ### CA1 imports | |
| - `last_terms/CAs/CA1 - Access Control Management Over IOT/Sample Solution/docs/Reference-CPS-HW1.pdf` | |
| - `last_terms/CAs/CA1 - Access Control Management Over IOT/Sample Solution/REFERENCE_ANSWERS.md` | |
| ### CA2 imports | |
| - `last_terms/CAs/CA2 - Motion Based Authentication/Sample Solution/docs/Reference-Motion-Based-Authentication.pdf` | |
| - `last_terms/CAs/CA2 - Motion Based Authentication/Sample Solution/REFERENCE_ANSWERS.md` | |
| Assignment index added: | |
| - `last_terms/CAs/README.md` | |
| ## 6) Verification Scripts | |
| ### A) Repository-wide project checks | |
| ```bash | |
| scripts/verify_projects.sh | |
| ``` | |
| Current recorded status: `PASS: 4`, `SKIP: 2`, `FAIL: 0` | |
| Details: `reports/verification_summary.md` | |
| ### B) Assignment-specific checks | |
| ```bash | |
| scripts/verify_assignments.sh | |
| ``` | |
| Current recorded status: `PASS: 4`, `SKIP: 3`, `FAIL: 0` | |
| Details: `reports/assignments_improvement_summary.md` | |
| ## 7) Build/Rebuild Commands | |
| ### Rebuild question-bank PDFs | |
| ```bash | |
| cd output/pdf | |
| latexmk -pdf -interaction=nonstopmode -halt-on-error cps_slides_question_bank.tex | |
| latexmk -pdf -interaction=nonstopmode -halt-on-error cps_slides_question_bank_50q.tex | |
| ``` | |
| ### Optional visual render check | |
| ```bash | |
| mkdir -p tmp/pdfs | |
| pdftoppm -png output/pdf/cps_slides_question_bank_50q.pdf tmp/pdfs/cps_slides_question_bank_50q_page | |
| ``` | |
| ## 8) Main Project Run Guide | |
| ### CA02 - Concurrent Ticket Reservation (Go) | |
| ```bash | |
| cd "OtherUniversitiesLectures/Distributed-Systems-Course-Projects-main/CA02 - Concurrent ticket reservation system" | |
| GOTOOLCHAIN=local GOCACHE=/tmp/go-cache GOPATH=/tmp/go-path go test ./... | |
| GOTOOLCHAIN=local GOCACHE=/tmp/go-cache GOPATH=/tmp/go-path go run . | |
| ``` | |
| ### CA01 - Distributed Ordering System Using gRPC (Go) | |
| ```bash | |
| cd "OtherUniversitiesLectures/Distributed-Systems-Course-Projects-main/CA01 - Distributed Ordering System Using gRPC" | |
| go test ./... | |
| ``` | |
| ### UCSB Python projects syntax checks | |
| ```bash | |
| python3 -m py_compile OtherUniversitiesLectures/ucsb-cs271-distributed-systems-master/project1/src/*.py | |
| python3 -m py_compile OtherUniversitiesLectures/ucsb-cs271-distributed-systems-master/project2/src/*.py | |
| python3 -m py_compile OtherUniversitiesLectures/ucsb-cs271-distributed-systems-master/project-final/src/*.py | |
| ``` | |
| ### Java multi-module project | |
| ```bash | |
| cd OtherUniversitiesLectures/distributed-systems-project-master | |
| ./gradlew tasks --all --no-daemon | |
| ``` | |
| ## 9) Reports and Key Outputs | |
| - `reports/verification_summary.md` | |
| - `reports/assignments_improvement_summary.md` | |
| - `output/pdf/cps_slides_question_bank.pdf` | |
| - `output/pdf/cps_slides_question_bank_50q.pdf` | |
| - `reports/CPS_UT_01.pdf` | |
| - `reports/CPS_UT_02.pdf` | |
| - `reports/CPS_UT_03.pdf` | |
| - `reports/CPS_UT_07.pdf` | |
| ## 10) Prerequisites | |
| Typical tools required for full workflows: | |
| - `python3` | |
| - `go` | |
| - `java` | |
| - `cmake` | |
| - `latexmk` / `pdflatex` | |
| - `pdftoppm` (optional for render verification) | |
| ## 11) Environment Constraints | |
| In restricted/offline environments, some checks are expected to skip: | |
| - Go module downloads from `proxy.golang.org` | |
| - Gradle wrapper distribution from `services.gradle.org` | |
| - Qt-based CMake configure checks if Qt toolchain is not installed | |
| These are reported explicitly by verification scripts. | |
| ## 12) Maintenance Checklist | |
| 1. Run `scripts/verify_projects.sh` | |
| 2. Run `scripts/verify_assignments.sh` | |
| 3. Update reports in `reports/` when results change | |
| 4. Rebuild `output/pdf/` artifacts after LaTeX source changes | |
| 5. Keep this README aligned with current repository state | |
| ## 13) License and Usage | |
| This repository aggregates materials from multiple courses and sources. Licensing may differ by subproject. | |
| - Check each subproject for its own license terms | |
| - Treat contents as educational/coursework material unless stated otherwise | |
Xet Storage Details
- Size:
- 6.49 kB
- Xet hash:
- 7e8a9fb606c0e6ea59d37b1fda16de4b1457ba10afab049aaa86a5efc1fb12e8
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.