Artificial Intelligence – Python Programming – Train the Trainers Workshop

A 4-days workshop crafted for academicians from Polytechnics Malaysia.

I recently conducted a comprehensive 4-day workshop to introduce participants (among academicians from Polytechnics in Malaysia) to both fundamental and advanced topics, offering hands-on activities that showcased the powerful applications of AI, electronics, and programming.

Thank you Pn Azlyn for coordinating the communication and facilitating the process :).

Below is a summary of the activities we conducted over the course of this workshop.

Day 1  Foundations of AI, Python, and Raspberry Pi
The workshop kicked off with an introduction to AI and the Raspberry Pi microprocessor. We started with a fun ice-breaker activity, Introduction BINGO, where participants got to know each other. Afterward, we delved into the fundamental concepts of hardware and electronic components, ensuring everyone was comfortable with the physical aspects of working with a Raspberry Pi.

Key Topics Covered –

  1. Hardware & Electronic Components – Understanding the basics of the Raspberry Pi, GPIO pins, and essential sensors.
  2. Raspberry Pi Microprocessor – Overview of how Raspberry Pi works and its applications in AI.
    This foundational day set the stage for the deeper dives into programming and hardware control that were to follow.

Day 2 Control Statements, Communication, and Sensors

We began Day 2 by introducing participants to Python control statements, providing the backbone for controlling the hardware components with Python scripts. This session included practical activities focused on various communication protocols like I2C and SPI, commonly used for sensor integration.

Key Activities and Topics –

  1. Python Control Statement – Introducing loops, conditions, and their use in hardware control.
  2. Communication Protocols – Learning how Raspberry Pi communicates with sensors using I2C and SPI.

Hands-on Activities –

  1. Act 1, 2 – LED ON and OFF Control – Participants learned to turn LEDs on and off using Python.
  2. Act 3 – LED Blinking – Adding logic to make LEDs blink at intervals.
  3. Act 4 – Keyboard Control – Using the keyboard to interact with hardware components like LEDs.
  4. Act 5 – OLED Display -We explored controlling an OLED display using Python libraries and the I2C protocol. This included displaying text and graphics, which captivated participants, demonstrating the versatility of the Raspberry Pi as an interface device.

Day 3 Exploring Sensors and Camera Controls

On Day 3, we moved into more complex sensor and camera integration. Participants worked hands-on with various sensors to collect and process real-world data.

Key Sensors Covered –

  1. Act 6 – I2C Accelerometer: Using accelerometers to measure movement and tilt.
  2. Act 7 – Ultrasonic Sensor: Measuring distances using ultrasonic waves.
    We also explored using the camera with the Raspberry Pi
  3. Act 8 – Camera / Image: Capturing still images and processing them.
  4. Act 9 – Video Streaming: Streaming live video using the Raspberry Pi camera, giving participants a look at real-time image processing.
    We ended the day by learning how to remotely control the Raspberry Pi using SSH Scripting for headless setups.
    Day 4: Advanced Camera Control and Project Development
    The final day was packed with creative development. Participants were introduced to more advanced concepts of camera control using Python and integrating this control into group projects.

Key Highlights

  1. Camera Control & Geany – Using Geany, a lightweight integrated development environment (IDE), to control cameras with custom scripts.
  2. Project Development – Each group was tasked with designing and developing a project, incorporating the skills learned over the past three days. The projects ranged from simple security systems to advanced sensor networks.
    1. Participants also learned how to set up their Raspberry Pi in Headless Mode, using SSH to control it without a dedicated monitor or keyboard.
    2. Project Presentation and Way Forward
    3. After completing their group projects, participants presented their creations, showcasing the applications of Python programming, sensors, and AI-based hardware control. The final session was a recap of the key concepts, where participants were encouraged to continue exploring AI and Raspberry Pi on their own. They also completed a Post-Test to measure their progress throughout the course.

Looking Forward
This workshop is just the beginning. The potential of Raspberry Pi combined with Python programming offers limitless possibilities, from creating AI-powered projects to building real-world applications. Participants left equipped with the skills and confidence to continue their journey in AI and embedded systems development.

Conclusion
In just four days, participants transitioned from having no experience with Raspberry Pi or Python to developing their own AI-based projects. This course laid a strong foundation for understanding hardware, software, and AI in a hands-on, engaging way. The combination of sensors, control statements, and camera-based projects showcased the immense power of integrating AI and Python with Raspberry Pi.

Stay tuned for more workshops that push the boundaries of AI and embedded programming!

I hope everyone had enjoyed the course as much as I did in facilitating it.

Nurul (Oct 3rd, 2024)

Day 4

Day 3

 

Day 2

Day 1

Misc

 

 

Research and Education in Mechatronics Engineering (REM 2024) – Day 1

Today I had the opportunity to present UMPSA STEM Lab’s work on – Exploring the Impact of Arduino Robotics Instruction on Physical Computing and Programming Skills, at the 2024 Research and Education in Mechatronics (REM) Conference. This paper highlights the role of Arduino-based robotics education in enhancing engineering students’ programming, physical computing, and problem-solving abilities.

In the study, we found significant improvements in students’ performance after participating in the Arduino Robotics Module.

By comparing pre-test and post-test assessments, students demonstrated an average improvement of 23.24 percentage points in areas like coding proficiency, electronics, and robotics. This shift highlights how hands-on, project-based learning enhances not only theoretical knowledge but also practical skills, which are crucial in engineering education.

The results were further validated through paired T-test analysis, which showed statistically significant improvements (p-value < 0.001), confirming that the Arduino module had a substantial impact on students’ learning outcomes. This analysis is important in educational research settings as it provides a rigorous method of assessing whether the changes observed are truly due to the educational intervention and not just random variation.

The study employed a mixed-methods approach, combining both quantitative (pre-test/post-test assessments) and qualitative (focus group discussions, surveys) data. In educational research setting, using mixed methods is essential as it allows for a more comprehensive understanding of the students’ learning experiences.

  1. Quantitative Data – The pre- and post-tests provided measurable insights into the knowledge gained by students. The use of a paired T-test helped in statistically validating the learning improvements.
  2. Qualitative Data – Focus group discussions offered deeper insights into students’ perceptions and challenges faced during the module. This data helped contextualize the numbers by revealing students’ experiences, confidence levels, and the areas they found most beneficial or difficult.

Using a mixed-methods approach is especially valuable in the context of engineering education. It combines the objectivity of numerical data with the richness of personal feedback, ensuring that both learning outcomes and student experiences are thoroughly evaluated. This method offers a holistic view of the educational intervention’s effectiveness, making it ideal for complex subjects like robotics education.

As part of this research, students engaged in a series of structured activities that spanned programming, electronics, and embedded systems with robotics. These activities were designed to develop essential skills in each domain:-

A. Programming – Students wrote and debugged code for various tasks using the Arduino platform.

Key programming activities included:

    1. Lighting up LEDs – Basic digital and analog I/O programming.
    2. Traffic light simulation – Students programmed an automated traffic light using conditional statements and timers.
    3. OLED display and sensor integration – Students coded Arduino to interact with sensors and display outputs on OLED screens.

Programming is foundational for engineering students, especially in mechatronics. Mastery of programming helps students understand the logic behind automation and control systems, making them capable of designing software solutions for embedded systems.

B. Electronics and Embedded Systems – Students explored physical computing by connecting and controlling electronic components such as photoresistors, ultrasonic sensors, and servos with Arduino.

Activities included:

  1. Photoresistor experiments – Students measured light intensity and converted it into electrical signals.
  2. Ultrasonic sensor integration – Students used sensors to detect object distance and trigger actions like LED or motor control.

Electronics form the backbone of physical computing. Understanding circuits and sensors empowers students to design systems that interact with the real world, crucial for embedded systems development. These skills are indispensable for engineers working with IoT and smart devices.

C. Robotics – In the final phase, students applied their programming and electronics knowledge to design and build autonomous robots.

Key activities included:

  1. Line-following robots -Students programmed robots to follow a path autonomously using sensors.
  2. Obstacle avoidance – Robots were equipped with ultrasonic sensors to detect and avoid obstacles during movement.

Robotics brings together various engineering disciplines—mechanical, electrical, and software—allowing students to see how theory translates into practice. It also enhances critical thinking and problem-solving skills, which are vital for engineering graduates facing real-world challenges.

 

This marks the second article on engineering education from the UMPSA STEM Lab in 2024, continuing the mission to enhance engineering education. I strongly believe that being involved in research in engineering education is essential, as it helps to continuously improve teaching methodologies, ensuring that students are equipped with both theoretical and practical skills needed in today’s rapidly evolving technological landscape. With industries increasingly leaning on automation, robotics, and embedded systems, educational interventions like the Arduino Robotics Module bridge the gap between academia and industry requirements.

Educational research also allows educators to measure the effectiveness of new pedagogical approaches, providing insights into how students learn best. In this study, not only the improvements in technical skills are observed but also a marked increase in student confidence, engagement, and interest in the subject are seen.

Figure of Merit T-Test

In doing this research, I learned about the T-test. As discussed in the paper, the T-test revealed a mean improvement of -23.24 in students’ test scores, with a confidence interval confirming that the improvement was statistically significant and not due to random variation.

The T-test is a critical tool in educational research because it provides an objective way to measure the effectiveness of an intervention—in this case, the Arduino Robotics Module. By comparing pre- and post-test results, the T-test demonstrates with statistical certainty that the module genuinely enhanced students’ knowledge and skills. This method not only quantifies the improvement but also provides educators and researchers with concrete evidence of the program’s impact, enabling them to make informed decisions about refining or expanding similar educational initiatives in the future.

A T-test is a statistical method used to determine if there is a significant difference between two sets of data, like students’ scores before and after an educational intervention. To calculate a T-test, you first find the difference between each student’s pre-test and post-test scores. Then, you calculate the average of these differences and determine how much the differences vary (this is called the standard deviation). Using these values, the T-test formula calculates a t-value that shows how large the improvement is compared to random variation. The T-test also considers the sample size (number of students, in this case 463 students) to assess how reliable the result is.

Another important parameter in the T-test is the p-value, which indicates whether the improvement is statistically significant—meaning it likely didn’t happen by chance. In educational research, a low p-value (usually less than 0.05) means the intervention, such as a new teaching method or tool, genuinely improved students’ learning. This helps educators understand the real impact of their teaching strategies and make decisions about future programs.

The findings from this study have far-reaching implications for the engineering education community. As technology advances, it’s becoming increasingly important to equip students with not just theoretical knowledge but also practical, hands-on experience. The Arduino Robotics Module bridges this gap by providing an interactive platform where students can apply engineering concepts in real-world contexts.

Integrating robotics and physical computing into the curriculum enhances student engagement, fosters creativity, and improves problem-solving skills. These attributes are essential in preparing future engineers to tackle the challenges of a rapidly evolving technological landscape.

I’m honored to present this work at the 2024 REM Conference and to contribute to the growing body of research in engineering education. I look forward incorporating more hands-on, interactive modules in my teaching, and to leverage the power of robotics in developing critical engineering skills, InSyaAllah

Illaliqa’ 🙂

Nurul – Jordan Sept 24th

 

Best Practices in General Studies and STEM (BIGS 2024)

Had the opportunity to present  a topic on Digital Making Skills Learning Experience with UMP STEM Cube. This project is listed as one of the finalist for 2024 Best Practices in General Studies and STEM, organized by Bhg Kurikulum, Jabatan Pendidikan Politeknik & Kolej Komuniti, Kementerian Pengajian Tinggi (MoHE).

https://www.facebook.com/bigsjppkk2019/videos/760044096134488/ 

https://www.facebook.com/bigsjppkk2019/videos/961405232338364

Kolb’s Experiential Learning Theory outlines a four-stage cycle: Concrete Experience, Reflective Observation, Abstract Conceptualization, and Active Experimentation. When applied to programming education with the UMP STEM Cube, tiered scaffolding supports students as they progress through each stage of this cycle.

  1. Concrete Experience (Starting with the Basics) – By engaging directly with the UMP STEM Cube, students gain immediate, tangible experience with coding and hardware.
  2. Reflective Observation (Understanding and Analyzing) – Students can observe the effects of their code in real-time, reflecting on how their inputs directly influence the Cube’s behavior.
  3. Abstract Conceptualization (Building on Knowledge) – Through more advanced projects, students conceptualize how different components work together, deepening their understanding.
  4. Active Experimentation (Independent Exploration) – Students take ownership of their learning by actively experimenting with the Cube, solidifying their understanding through trial and error.

Tiered scaffolding is a teaching strategy that provides structured support to students, gradually removing that support as they become more proficient. When applied to programming education using the UMP STEM Cube, this method offers a clear pathway for novices to develop their skills in a supportive and encouraging environment.

Effective Strategies for Tiered Scaffolding

  1. Starting with the Basics –We begin with simple tasks like making an LED blink. This introduces students to basic concepts without overwhelming them, allowing them to get hands-on experience with coding and hardware interaction.
  2. Introducing Incremental Complexity –As students become more comfortable, we introduce slightly more complex tasks, such as controlling multiple LEDs or reading sensor data. These tasks are designed to build on what they’ve already learned, ensuring a smooth transition to more advanced topics.
  3. Providing Scaffolding Resources – To reduce the intimidation of writing code from scratch, we offer code templates and a system of hints. These resources guide students through challenges while encouraging independent problem-solving.
  4. Encouraging Independent Exploration – Once students have a solid grasp of the basics, we encourage them to design their own projects. Open-ended assignments foster creativity and allow students to apply their knowledge in new and innovative ways.
  5. Fostering Peer Support and Collaboration – Group activities and peer review sessions play a crucial role in this approach. They not only help students learn from one another but also build confidence through collaboration.
  6. Gradual Removal of Scaffolding – As students progress, we gradually remove the scaffolding, encouraging them to tackle problems independently. This step is crucial for developing resilience and preparing them for more advanced challenges.

 

The tiered scaffolding approach, combined with the UMP STEM Cube, has shown great promise in addressing the common challenges faced by novice programmers. By providing structured support and gradually increasing complexity, students can build their skills at a pace that suits their learning needs.

Among the findings are:-

The feedback from the BiGS 2024 presentation was overwhelmingly positive, with many educators expressing interest in adopting this approach in their own classrooms. The UMP STEM Cube, with its hands-on capabilities, paired with a structured learning framework, offers a powerful tool for educators looking to enhance programming education.

As we continue to refine and expand these practices, I am excited to see how they will further empower students to embrace the world of programming and STEM.

 

Publication 2024/2 – Assessing Information Literacy Levels Among Underprivileged Communities

SCImago Journal & Country Rank

Today digital literacy is crucial for personal and professional growth, understanding and improving Media and Information Literacy (MIL) among underprivileged communities is more important than ever. I’m excited to share my recently published study 🙂 in the Journal of Media Literacy Education (Vol. 16, Iss. 2, 2024 Q2). This journal documented the work with regards to the levels of MIL within the underprivileged/underrepresented communities, uncovering both strengths and areas needing improvement.

This work is inspired by the experiences gained through the Celik Digital @ UMP STEM Lab project, in collaboration with the UNESCO Information for All Programme (IFAP) back in 2020, where the four dimensions of MIL were explored: access, evaluate, create, and awareness. This foundation laid the groundwork for this research, focusing on underprivileged communities in Pahang, Malaysia, during 2021-2022. Understanding the unique challenges faced by these communities, the study sought to break the cycle of poverty by enhancing information and media literacy.

Motivated by the previous work and need to provide targeted interventions, this study aimed to assess the MIL levels among 366 participants from underprivileged backgrounds. Rooted in the UNESCO MIL framework, we concentrated on evaluating the participants’ abilities to retrieve, critically evaluate, and manage information, as well as their awareness of data privacy.

The findings revealed several critical insights:

  1. Digital Literacy and online behavior, where it highlighted varying levels of digital literacy among the participants. While some showed proficiency in basic digital tasks, there were significant gaps in higher-order skills such as critical evaluation and ethical content creation.
  2. Awareness of data privacy was another crucial aspect assessed in this study. It became evident that while some participants were aware of basic privacy practices, there was a need for more comprehensive education on protecting personal information online.
  3. The findings emphasized the importance of targeted interventions tailored to the specific needs of underprivileged communities. Enhancing critical thinking skills, promoting effective online communication strategies, and fostering a deeper understanding of digital security were identified as key areas for improvement.

I believe this study offer some input for policymakers, educators, and community organizations. By understanding the unique challenges faced by underprivileged communities, targeted interventions can be developed to narrow the digital divide. Enhancing MIL within these communities is not just about providing access to technology but also about equipping individuals with the skills needed to navigate the digital world responsibly and effectively.

By focusing on enhancing digital literacy among underprivileged communities, individuals (including the vulnerable segment of underprivileged communities) are empowered to make informed decisions, protect their privacy, and engage meaningfully in the digital society.