All the best in your test everyone!



The world is digital, but life is analog..
All the best in your test everyone!



Dear DRE-BTE-ians,
This week we move forward to explored how data structures and programming concepts come to life through the Raspberry Pi Pico. We completed Activity 1 (Digital Output), Activity 2 (Traffic Light), and Activity 3 (Digital Input), each introducing a new layer of understanding in Python programming and physical computing.
Activity 1 – Digital Output: Lighting Up with Variables
We began with the most fundamental task, turning an LED ON and OFF.
Through this, students learned:
How to define and use variables to store pin numbers and LED states
How data types like integers and booleans control hardware behavior
How to send output signals using the Pin() function and .on()/.off() commands
This activity established the foundation for understanding how code interacts with physical devices. Also, we make use of Wokwi online simulator, which is good especially in learning the basic concepts.









Activity 2 – Traffic Light Simulation: Learning Data Structures
Next, we built a traffic light simulation using three LEDs (Red, Yellow, Green).
Here, students experimented with different data structures to organize and control multiple outputs:
Lists ([]) to store LED pins in a sequence
Tuples (()) for fixed sets of pins
Dictionaries ({}) to label LEDs for clarity ("R": 14, "Y": 13, "G": 12)
They also explored how to simplify code using loops and sleep statements to manage timing:
This hands-on activity demonstrated how data organization directly impacts code simplicity and readability.
Activity 3 – Digital Input: Reading from Buttons and Switches
The third activity introduced digital input, connecting push buttons and slider switches to the Raspberry Pi Pico.
Students learned to:
Read input values (0 or 1)
Use conditional statements (if/else) to make the LED respond to user actions
Understand Boolean logic and how it drives interactivity in real-world systems
This activity tied together input → process → output, emphasizing the logic flow that underpins all embedded systems.




Through these activities, you’ve not only focued on the essential coding techniques but also explored core data structures that make programs efficient and scalable. Understanding how lists, tuples, and dictionaries manage data sets the stage for more complex IoT and sensor-based applications in upcoming sessions.
Next week, we’re having Midterm Test =).
We’ll continue building upon these concepts as we move toward conditional programming and sensor integration, after the midterm break. Great work everyone — keep experimenting, debugging, and learning by doing!

Well done everyone!
This week is a milestone for our BTE/DRE class as every group proudly presented their Slider Game project progress. It was inspiring and proud to see how each team creatively modified and improved their game based on the previous week’s work.
From new features to refined gameplay mechanics, the modifications were innovative, functional, and well-executed — truly showcasing your growing confidence in Python programming. Well done, everyone!
Embodiment of the Slider Game in Learning Programming Concepts
The Slider Game has served as more than just a fun project — it’s a powerful learning embodiment of key Python programming concepts. As you troubleshoot, refine, and enhance your code, you’re reinforcing the very foundation of computational thinking.
Here’s how the game connects to core programming elements:
Variables – Used to store and update game data such as player position, speed, and score.
Libraries – Imported Python modules that expand functionality (for example, pygame for game design).
Boolean Functions – Used to determine logical game conditions such as collisions, game over, or win states.
Mathematical Functions – Handle calculations for movement, boundaries, and scoring mechanisms.
def Functions – Help organize your code into reusable blocks, making your program easier to manage.
Control Statements – for loops, if–else conditions, and input controls bring interactivity and flow to your game logic.
Limiting Factors – Define the movement boundaries and maintain balance in gameplay, preventing unintended behavior.
By understanding and applying these concepts, you’re not just building a game, you’re mastering the structure and logic of programming through hands-on experience.
Submission Requirements
To complete this stage of your assignment, please ensure the following are submitted:
Python Code
Submit your final Python code with clear comments explaining all modifications made to the original version.
Report
Include a report that consists of:
A README file with instructions on how to play your game.
An overview of your modifications and their impact on gameplay
(Optional) Flowcharts or pseudocode illustrating your game logic.
3-Minute Video
Record a short 3-minute demo video showcasing your game.
Explain the gameplay, code modifications, and the rationale behind your changes.
Upload the video to YouTube and share the link in your submission.
The progress you’ve shown so far demonstrates a strong grasp of Python programming, logical reasoning, and creative thinking. Each group has successfully transformed theory into an interactive digital experience, a reflection of project-based learning.
Keep up the excellent work, and don’t forget to complete your submissions on time.
Next week, we’ll continue to refine our understanding as we move toward hardware integration and sensor-based projects — bringing your code to life beyond the screen!































Dear BTE & DRE-ians,
First of all, congratulations on completing Step 7 of your Slider Game project! You’ve successfully created your own Python game — an achievement that shows how far you’ve come in learning to code.
Now, let’s take a step forward into an exciting new experience — learning to code with AI.
In this session, we explored how Artificial Intelligence can support us as a learning partner — not to code for us, but to help us think, debug, and create better. Throughout today’s activity, we focused on four different roles of AI in programming.
1. AI for Flowchart Generation and Code Understanding
We began by revisiting the completed Step 7 of the Slider Game. Using GPT-based tools, students explored how to comprehend the logic behind their Python code and then derive a flowchart from it.
Flowcharting is a crucial part of computational thinking — it helps us visualize abstract logic and understand the sequence of decisions and actions within our program. By having AI explain the code flow, students learned how to map their code into structured diagrams that represent real-world logic.
2. AI for Troubleshooting and Debugging
Next, students explored how AI can assist in debugging. In Step 7, we noticed two common issues:
The score counter was upcounting continuously.
The collision detection was adding multiple scores at once.
By prompting AI for guidance, students learned how to correct the logic — ensuring the game counts down properly and increases the score by only one per collision.
This activity demonstrated how AI can serve as a learning buddy, guiding students to identify, understand, and fix programming errors while reinforcing their knowledge of conditional statements, loops, and Boolean flags.
3. AI for Code Generation and Modification
In the third task, students practiced AI-assisted code generation. They were challenged to modify their existing Slider Game without changing its core gameplay mechanics.
By using AI to suggest new features — such as different movement behaviors, boundary limits, or score displays — students learned how to prompt effectively, evaluate the AI-generated code, and integrate improvements meaningfully.
This step emphasized creativity with control — learning how to enhance existing code while maintaining logical integrity.
The key takeaway from today’s activity is to encourage you to learn to code with AI, not just getting codes by AI.
While AI can generate code, meaningful learning happens when students engage with the logic — understanding why and how it works. AI becomes a partner in exploration, enabling students to think critically, problem-solve, and apply what they learn to real-world challenges.
Today’s session introduced a new dimension of programming — blending Python logic with AI literacy. Students discovered that AI isn’t just a shortcut; it’s a tool for concept reinforcement, debugging, and idea expansion.
As we move forward, remember: the goal isn’t just to write code — it’s to understand it, modify it, and make it better. And with AI as your learning partner, that journey becomes even more exciting.
See you all next week =)












Hi BTE-ian & DRE-ian,
Before proceed with your assignment, please make sure to complete the following:-
Below is the assignment – modification:-



This week, students from the BTE 1522 and DRE 2213 courses are given assignment that are designed to develop their programming skills in Python. Each group of three students is tasked with choosing one of the 20 game modification options available and implementing it as a team project. This assignment is all about creativity, problem-solving, and teamwork as students work to modify an existing Python game and showcase their programming concepts.
In this assignment, each group will:
Each group will submit:

To complete this assignment, please:
Upload these in KALAM (https://kalam.ump.edu.my/)
As part of the final submission, you are encouraged to be creative with their 3-minute video, which should highlight –
Good luck to all the groups, and I look forward to seeing your creativity come to life in your games!

Hi DRE-ian and BTE-ian.
Well done, this week we have completed Step 7 of the Slider Game Project. With this final step, the game is now fully functional — a reflection of the coding concepts and logical thinking you’ve developed over the past 3 weeks.
Recap – From Step 1 to Step 7
Throughout the development of the Slider Game, you have applied multiple core Python programming fundamentals, including:
Variables – for storing and updating game data such as player score and positions.
Libraries – importing and using external Python modules to enhance functionality.
Boolean Functions – determining game conditions like collisions or winning states.
Mathematical Functions – calculating movement, limits, and speed.
def Functions – structuring reusable code blocks to organize game logic.
Control Statements – using for loops, if–else conditions, and input controls for smooth gameplay.
Limiting Factors – defining boundaries to restrict player movements and maintain proper game flow.
These coding elements come together to form a dynamic and interactive Python game , a fun yet powerful way to learn how logical thinking and programming intersect.
Task Reminders
Before we move on, please make sure to complete the following:
Submit your .py file and a snapshot of your game result on TINTA.
Complete Quizzes 1, 2, 3, and 4 to reinforce your understanding of the Python concepts used.
Looking Ahead to Week 4
In Week 4, we’ll move into the next phase of our project — analyzing and modifying the Slider Game code. We’ll explore how small changes can create new gameplay dynamics, add scoring logic, and enhance interactivity.
Get ready to debug, modify, and take your Python game development skills to the next level!


















Well Done everyone!
The book is finally here!

This has been close to my heart for quite some time — thisnew book, Physical Computing with Raspberry Pi: A Hands-On Guide to Pico-Satellite Systems and Operations, is now out!
This book is written for beginners—students, teachers, and anyone curious about embedded systems. It focuses on the Raspberry Pi Pico and Raspberry Pi 4 as platforms for learning. Whether you’re just starting your journey into programming, or you’re ready to connect your code to the physical world, this book is here to guide you through that process.
The motivation came from a simple but powerful belief, we learn best by making 🙂.
Programming, to me, becomes much more meaningful when it’s tied to real-world projects. That’s why this book doesn’t just explain concepts—it walks you through building things. Some are software-based, like interactive games. Others are hardware-based, like functional pico-satellites. Both types of projects help learners connect abstract code to tangible outcomes.
The seed for this book was planted during the MYSA SiswaSAT Challenge back in 2020, a nationwide student satellite initiative. I had the chance to work with a brilliant group of six mentors from the UMP STEM Lab, led by Kamil and Phuah. Together, they built a full working model of a pico-satellite—complete with a parachute—and tested it using a drone. Watching that small satellite take flight was inspiring. But even more rewarding was witnessing how much they had learned – system design, coding, troubleshooting, teamwork, and resilience – and that was during MCO – with lockdown, online discussions era!
That experience stayed with me.
A satellite, even a simulated one, offers so many layers of learning. From designing the onboard computer (OBC), to setting up communications, managing power with batteries, and designing payloads—it’s a beautiful mix of challenges. Once the system collects data, there’s a whole new task: visualizing it, in real time or offline. These aren’t just engineering problems—they’re opportunities to teach programming, electronics, critical thinking, and creativity.
Research in Engineering Education Mechatronics – REM 2024
The book is designed around tiered scaffolding principles—starting with the basics, building confidence, and gradually introducing more complex challenges. It begins with an introduction to physical computing, then explores how Raspberry Pi boards are used in satellite design. You’ll find hands-on projects, real-world examples, and guidance to build systems that actually work.
Few relevant articles on tiered scaffolding:-
IEEE Transactions on Education
Research in Engineering Education Mechatronics – REM 2024
It’s a learning journey that starts small and grows big—just like how learning should be.
This book is also a tribute to all the students, mentors, and teachers who’ve participated in UMPSA STEM Lab activities over the years. Your questions, ideas, and energy inspired this project. It’s my hope that this book will become a trusted reference for many others like you—those who are just beginning to explore the world of programming and physical computing. Thank you everyone =) .
I truly believe that building things—whether in software or hardware—deepens understanding and brings out the joy of learning. I hope this book helps you get started, and maybe even launch your own learning “satellite.”
Stay curious, keep building, and don’t be afraid to try.
complements the Python and Raspberry Pi microCredential series below:-
Over the past three weeks, our BTE1522 class transitioned into full project-based learning mode, where students were tasked to apply all they have learned throughout the semester—from Python programming basics to hardware interfacing with the Raspberry Pi 4. This phase was not just about completing an assignment—it was about creating functional, working solutions from scratch.
Each group (consisting of three students) was equipped with:
A UMPSA STEM Cube
Raspberry Pi 4
Camera Module
GPS Sensor
BME280 (temperature, humidity, pressure)
MPU6050 (accelerometer and gyroscope)
Students selected one topic from a set of project assignments, all of which required multidisciplinary skills. Each project had to include the following components:
Sensor Integration: Establish working connections between Raspberry Pi and the sensors.
Data Storage: Build a working database—either local (e.g., SQLite) or cloud-based (e.g., Firebase, Google Sheets).
Dashboard Development: Create a working user interface/dashboard using tools like Streamlit, Flask, Adafruit IO, or Blynk to visualize data and system status.
The Learning Process
This phase was entirely project-based, meaning students were expected to learn through experimentation, debugging, and problem-solving. Unlike guided tutorials, this process encouraged independent learning and collaboration:
Debugging wiring errors
Fixing Python runtime bugs
Reading sensor data accurately
Sending and retrieving data from a database
Building interactive visual dashboards
Learning programming—especially physical computing—is most effective when you’re actually doing it. The moment something doesn’t work, and you have to troubleshoot, is when you truly begin to understand what you’re building. the most important thing is NOT TO GIVE UP 🙂
This project based learning phase is aimed at solidifying concepts from earlier weeks, including:
Python functions and loops
Conditional logic
File and data handling
Sensor reading and real-time feedback
REST APIs and interface design
Final Submission Checklist
As the project phase concludes, students are required to submit their work via KALAM. Each group should prepare:
A complete lab report
A 3-minute walkthrough video, demonstrating the system and explaining their code
A zip folder with all Python source code files
This final submission will serve not only as a record of their accomplishment but also as a mini portfolio piece showcasing their ability to develop real-world solutions.
Each team faced unique challenges, but everyone succeeded in developing a working prototype with analytics. This hands-on, integrative experience truly brings the course’s learning outcomes to life.
Looking forward to your final presentations and submission in KALAM next week. Great job, everyone—keep building and keep learning!







