BTE1522 DRE2213 – Week 4 AI Assisted Learning

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.

4. Coding for AI and with AI

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 =)

 

 

BTE1522 DRE2213 – Week 4 Assignments

Hi BTE-ian & DRE-ian,

Before proceed with your assignment, please make sure to complete the following:-

        1. flowchart of your project – Step 7 (together with required troubleshooting in Week 3 – count down timer and scoring system)
        2. upload in TINTA Ch 5

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:

  1. Select a Game Modification
    1. Out of 20 different modification options, each group chooses one that they’ll use to enhance a basic game written in Python.
    2. Modifications can range from adding new features, changing game mechanics, enhancing visuals, to incorporating user-friendly elements.
  2. Implement the Code Changes
    1. Using Python, students will modify the codebase to create the enhancement they selected. As they work through these changes, they’ll encounter new programming concepts, which they can build upon for future projects.
    2. This assignment offers students a chance to solidify their coding skills while adding their creative touch.
  3. Submit the Project Components

Each group will submit:

    1. The modified Python code, clearly commented to explain the changes made.
    2. A written report detailing the modifications, gameplay instructions, and the coding process.
    3. A 3-minute video demonstrating the game, explaining the code changes, and showcasing the impact of the modifications.

Reporting

To complete this assignment, please:

  1. Review the Game’s Base Code
    1. Understand the game’s original code before making any changes.
    2. Each student in the group should be familiar with how the code works to effectively contribute to the modification.
  2. Plan the Modification
    1. After selecting a modification, map out the changes needed.
    2. This could include adding new variables, adjusting functions, or integrating additional modules. Using flowcharts or pseudocode can be especially helpful to visualize how the new feature will work within the existing game structure.
  3. Divide and Conquer
    1. With three members in each group, teamwork will be key!
    2. Students should divide tasks based on each member’s strengths and collaborate to implement the modification efficiently.
  4. Test the Changes
    1. Test the game thoroughly to ensure that the new feature or modification works as intended and doesn’t disrupt existing functionality.
    2. Debugging is an important skill in programming, so encountering and fixing errors will be a valuable part of this process.

Upload these in KALAM (https://kalam.ump.edu.my/)

Showcase and Reflect

As part of the final submission, you are encouraged to be creative with their 3-minute video, which should highlight –

  1. Gameplay
    • Show the modification in action and explain how it enhances the game.
  2. Code Explanation
    • Walk viewers through the code changes made, highlighting key additions and adjustments.
  3. Reflection
    • Share insights into the challenges and learning experiences encountered during the project.

Good luck to all the groups, and I look forward to seeing your creativity come to life in your games!

 

DRE2213/BTE1522 – Week 3 – Python Programming – Game Completion

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:

      1. Variables – for storing and updating game data such as player score and positions.

      2. Libraries – importing and using external Python modules to enhance functionality.

      3. Boolean Functions – determining game conditions like collisions or winning states.

      4. Mathematical Functions – calculating movement, limits, and speed.

      5. def Functions – structuring reusable code blocks to organize game logic.

      6. Control Statements – using for loops, if–else conditions, and input controls for smooth gameplay.

      7. 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:

      1. Submit your .py file and a snapshot of your game result on TINTA.

      2. 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!


2025 Book :) Physical Computing with Raspberry Pi: A Hands-On Guide to Pico-Satellite Systems and Operations

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.

and this book

complements the Python and Raspberry Pi microCredential series below:-

BTE1522 – Week 13 – Project Development

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:

      1. A UMPSA STEM Cube

      2. Raspberry Pi 4

      3. Camera Module

      4. GPS Sensor

      5. BME280 (temperature, humidity, pressure)

      6. 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:

      1. Sensor Integration: Establish working connections between Raspberry Pi and the sensors.

      2. Data Storage: Build a working database—either local (e.g., SQLite) or cloud-based (e.g., Firebase, Google Sheets).

      3. 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:

      1. Debugging wiring errors

      2. Fixing Python runtime bugs

      3. Reading sensor data accurately

      4. Sending and retrieving data from a database

      5. 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:

      1. Python functions and loops

      2. Conditional logic

      3. File and data handling

      4. Sensor reading and real-time feedback

      5. 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:

      1. A complete lab report

      2. A 3-minute walkthrough video, demonstrating the system and explaining their code

      3. 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!

 

 

 

BTE1522 – Innovation – Week 10 – Camera Module

Today’s class in BTE1522 was packed with hands-on activities that introduced students to real-world applications of Raspberry Pi 4, focusing on camera integration and project development. The session was divided into two key sections, each playing an important role in reinforcing both technical knowledge and project-based learning.

Section 1: Raspberry Pi Camera Module – From Capture to Streaming

The first half of the class focused on working with the Raspberry Pi camera module, a fundamental tool in the world of image processing and artificial intelligence. Students learned:

  1. How to capture still images using Python and Raspberry Pi’s built-in libraries.

  2. How to initiate video streaming using the PiCamera and OpenCV, preparing them for real-time image processing applications.

These activities are not just about capturing visuals—they serve as a gateway to advanced applications like image classification, object detection, and AI-based recognition systems.

This reminded me to a project from a previous semester, where one of our students successfully developed an image detection system using the same setup. The project was able to identify a variety of items like books, pencils, and even human figures—an impressive feat for a class-based project!

Today’s session laid the groundwork for such possibilities, and we’re excited to see how current students might push the boundaries even further.

Section 2: Project Development Begins

The second part of the session shifted focus toward the students’ individual and group projects. This semester, we’ve offered 9 project titles, each designed to challenge students to apply what they’ve learned across programming, electronics, and embedded systems.

During this session, students –

  • Began structuring their project workflow.

  • Identified the core components and sensors required.

  • Discussed functional requirements and potential integration challenges.

  • Started early-stage coding and circuit prototyping.

This segment highlighted the importance of hands-on learning, collaborative teamwork, and practical application of theory.

Today’s class was not just about technical instruction—it was about igniting curiosity and innovation. Whether it’s capturing a simple image or streaming live video, each activity builds toward something bigger. Combined with project-based learning, students are not just coding—they’re creating, solving problems, and applying technology in meaningful ways.

Looking forward to seeing how each of the nine projects evolve over the coming weeks. As always, proud of the effort and enthusiasm shown by everyone in class today.