BTE1522 DRE2213 – Week 6 MicroPython Digital Input and Output

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:

    1. How to define and use variables to store pin numbers and LED states

    2. How data types like integers and booleans control hardware behavior

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

      1. Lists ([]) to store LED pins in a sequence

      2. Tuples (()) for fixed sets of pins

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

for led in leds:
led.on()
time.sleep(1)
led.off()

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:

      1. Read input values (0 or 1)

      2. Use conditional statements (if/else) to make the LED respond to user actions

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

STEM Lab Workshop on Structured Literature Review

The UMPSA STEM Lab conducted a Structured Literature Review (SLR) Workshop today aimed at helping final-year students strengthen their understanding and writing of Chapter 2 for their senior design projects. Recognizing that the literature review is the foundation of any research, this session focused on introducing students to a systematic way of collecting, analyzing, and presenting existing research, ensuring their work is both comprehensive and credible.

In research writing, there are generally four main types of reviews: narrative review, systematic review, scoping review, and structured literature review (SLR). Among these, the SLR approach is particularly valuable for engineering and technology-based projects, as it enables researchers to identify research gaps and establish a clear direction for their study based on evidence.

During the workshop, students were guided through several key stages of the SLR process, starting from identifying the right keywords, searching for relevant articles across reputable databases, to clustering and categorizing the collected literature according to research themes. Through hands-on practice, participants learned how to use digital tools to organize their sources efficiently, while maintaining critical analysis throughout their writing.

The session not only strengthened students’ academic writing skills but also encouraged research discipline and analytical thinking, both essential for producing high-quality theses.

The UMPSA STEM Lab remains committed to supporting students through capacity-building workshops like this, ensuring that each research project reflects both academic rigor and innovative spirit.

 

Congratulations Dr Nurulfadzilah Hasan :)

Congratulations Dr. Nurulfadzilah Hasan for successfully completing her PhD at the Universiti Malaysia Pahang Al-Sultan Abdullah. Her unique journey stands as a persona of perseverance, dedication, and passion for knowledge.

Her research focused on formulating a novel material, barium titanate, for microstrip patch antenna applications. Through her innovative approach, she successfully achieved a high dielectric constant, contributing to the miniaturization technique of antenna design. This advancement not only demonstrates scientific excellence but also opens new possibilities in the field of wireless communication.

Balancing the demanding roles of a mother, lecturer, and researcher is no easy feat. Yet, Dr. Nurulfadzilah has managed to navigate each with grace and resilience, setting a powerful example for aspiring researchers and working mothers alike.

As her supervisor, it has been an honor and privilege to guide and learn alongside her. This project has enriched my own understanding, particularly in the chemical, electrical, and mechanical characterization of materials for antenna design.

The antenna is the heart of wireless communication, the bridge that connects people, ideas, and technologies. By pushing its boundaries through material innovation, we move closer to improving the way humans live, communicate, and interact.

Once again, congratulations Dr. Nurulfadzilah on your outstanding achievement. Your hard work and determination truly embody the spirit of scientific discovery and lifelong learning :).

BTE1522 DRE2213 – Week 5 Group Work Slider Game Modifications

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

    1. Python Code

      • Submit your final Python code with clear comments explaining all modifications made to the original version.

    2. Report

      • Include a report that consists of:

        1. A README file with instructions on how to play your game.

        2. An overview of your modifications and their impact on gameplay

        3. (Optional) Flowcharts or pseudocode illustrating your game logic.

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

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!