IoT Small Project Guide for Undergraduate Algorithms and Computer Programming Course
IoT Small Project Guide for Undergraduate Algorithms and Computer Programming Course
The integration of Internet of Things (IoT) with algorithms and programming represents one
of the most dynamic intersections in modern technology. This project guide is designed to
bridge theoretical knowledge with practical application, allowing students to implement their
Python programming skills, object-oriented design principles, and machine learning concepts
in developing a functional IoT solution. Working in pairs, students will experience the
complete development lifecycle—from conceptualization to final presentation—mirroring
real-world engineering processes. This approach not only reinforces technical competencies
but also cultivates essential soft skills such as teamwork, project management, and technical
communication that are highly valued in industrial settings. The time span will be starting
March and terminate in May. Each team will report both written and orally in two weeks basis
during the session of laboratory practice.
Learning Outcomes
Project Framework
Phase Activities Deliverables Assessment Resources & Tools
Criteria
Phase 1: • Team formation and • Project proposal • Clarity and • Raspberry Pi or
Project role definition • document (3-5 significance of Arduino kits •
Initiation & Problem identification pages) • Problem problem statement Python libraries:
Ideation (Week and analysis • IoT statement • • Innovation and PySerial, GPIO •
1) solution brainstorming Solution overview feasibility of IoT platforms:
• Literature review of • proposed solution ThingSpeak, AWS
existing solutions • Hardware/software • Appropriate IoT • Sensor
Selection of sensors, requirements list selection of datasheets • Project
microcontrollers, and • Initial system technologies • management tools:
communication architecture Technical depth Trello, GitHub
protocols • Initial diagram • Project and understanding Projects • Academic
project planning and timeline with • Completeness of papers and case
timeline creation milestones project planning studies
Phase 2: Design • Detailed system • Detailed • Comprehensive • Draw.io for
& requirements requirements coverage of diagrams •
Requirements specification • specification functional and Figma/Sketch for UI
Engineering Algorithm design and document • non-functional mockups • UML
(Week 2) flowcharting • System requirements • modeling tools •
Database schema architecture Clarity and Python libraries:
design • User interface diagram • Class efficiency of NumPy, Pandas,
mockups • API diagrams for OOP algorithm designs Matplotlib •
integration planning • implementation • • Appropriateness Database design tools:
Test case development Algorithm of data structures MySQL Workbench
• Risk assessment and pseudocode • • Quality of OOP • Version control:
mitigation strategies UI/UX wireframes design • Git/GitHub •
• Test plan • Risk Testability of Requirements
register requirements management tools
Phase 3: • Hardware setup and • Working • Code quality and • IDE: PyCharm, VS
Implementation configuration • Sensor prototype • adherence to PEP Code • ML libraries:
& Data calibration • Source code with 8 • Scikit-learn,
Collection Development of core documentation • Implementation of TensorFlow •
(Week 3) algorithms • Data collection OOP principles • Database: SQLite,
Implementation of data results • Database Functionality of PostgreSQL • IoT
processing pipelines • implementation • prototype • protocols: MQTT,
Database setup • API ML model Quality of HTTP • API
integration • ML performance collected data • development: Flask,
model training (if metrics • Unit Test coverage • FastAPI • Testing
applicable) • Initial test results • Documentation frameworks: pytest •
unit testing Progress report quality Documentation:
Sphinx
Phase 4: • System integration • • Fully integrated • System reliability • Debugging tools •
Testing & End-to-end testing • system • Test and robustness • Performance profiling
Integration Performance results and Performance under tools • Data
(Early Week 4) optimization • Bug analysis • various conditions visualization:
fixing • User testing Performance • Quality of data Matplotlib, Seaborn •
• Data analysis and metrics • Data analysis • Dashboard creation:
visualization • visualizations and Completeness of Dash, Streamlit •
Preparation of final insights • Final testing • Clarity CI/CD tools: GitHub
documentation technical and completeness Actions •
documentation • of documentation Documentation
U ser manual generators
Phase 5: Final • Preparation of • Final • Clarity and • Presentation
Presentation & presentation materials presentation slides organization of software • Video
Evaluation • Creation of demo • Live presentation • editing tools •
(Late Week 4) video • Rehearsal of demonstration • Quality of GitHub for final code
presentation • Final Demo video (3-5 demonstration • submission • Peer
project showcase • minutes) • Technical review forms •
Peer evaluation • Project portfolio accuracy • Ability Portfolio templates
Reflection on learning • Source code to answer
outcomes repository • questions •
Reflection Reflection depth •
document Overall project
achievement
Weekly Schedule
Week 1: Project Initiation & Ideation
Assessment Breakdown
• Project Proposal: 15%
• Design Documentation: 20%
• Implementation and Code Quality: 25%
• Testing and Data Analysis: 15%
• Final Presentation and Demonstration: 20%
• Teamwork and Project Management: 5%
Submission Guidelines
1. All code must be submitted via GitHub with appropriate documentation
2. Technical reports must follow IEEE format
3. Presentations should be 15 minutes (10 minutes presentation + 5 minutes Q&A)
4. Include a README.md with clear instructions for setting up and running your project
5. Submit a project demo video (3-5 minutes) showcasing your solution
Technical Requirements
1. Use Python as the primary programming language
2. Implement proper OOP principles with well-defined classes and inheritance
3. Include at least one machine learning component (classification, regression,
clustering, etc.)
4. Utilize at least one external API integration
5. Implement proper exception handling and logging
6. Include comprehensive testing (unit tests, integration tests)
7. Create a user interface (web-based, mobile app, or dashboard)
8. Store and process data using appropriate data structures and algorithms
Implementation Guidance
To successfully complete this project:
Effective Teamwork
Technology Selection
Choose technologies that align with your project goals while being mindful of the four-week
timeframe. For hardware, consider:
Practical Considerations
Remember that a well-executed simple project is better than an ambitious but incomplete one.
Focus on creating a functional core system before adding advanced features.