Webinar schedule
All sessions in the UiTM × CvSU webinar series.
Friday, 13 November 2026
Human Computer InteractionHuman-Computer Interaction Fundamentals
Design Thinking: Designing for People
Behind every design challenge is a human experience waiting to be understood. And every gr...
Dr. Afdallyna Fathiyah Harun
FSKM, UiTM Shah Alam
Moderator: Ts. Dr. Lucyantie Mazalan
Design Thinking: Designing for People
Behind every design challenge is a human experience waiting to be understood. And every great solutions began with understanding the people who will use them. But how do we move from noticing a problem to creating something that makes a meaningful difference? This seminar introduces design thinking as a human-centered approach that connects creative exploration with practical problem-solving. Participants will discover how understanding people’s needs and circumstances can reveal opportunities that technical assumptions alone may overlook. The session also explores “probortunity”—seeing opportunity within a problem—and introduces five design thinking modes: Empathize, Define, Ideate, Prototype and Test. Accessible to all with or without design background, the seminar encourages participants to question assumptions, consider different perspectives and make ideas tangible before refining them through feedback. Participants will leave with a practical starting point for approaching projects: understand people, frame a meaningful challenge, explore possibilities and learn through user engagement.
Evaluating User Satisfaction Through Usability Testing
Neuroinclusive HCI in Higher Education
Friday, 20 November 2026
Algorithm Analysis and OptimizationCommon Algorithm Design Strategies
Measuring Algorithm Performance and Efficiency & Optimizing Code for Better Performance
Code that runs correctly is not necessarily code that runs well. As input sizes grow, poor...
Dr. Shuria Saaidin
FKE, UiTM Shah Alam
Moderator: Mohd Azman Hanif bin Sulaiman
Measuring Algorithm Performance and Efficiency & Optimizing Code for Better Performance
Code that runs correctly is not necessarily code that runs well. As input sizes grow, poor algorithmic choices quickly turn into slow applications, wasted computing resources, and systems that fail to scale. This talk covers two connected skills: measuring performance objectively, and improving it systematically. The first part introduces time and space complexity using Big-O, Big-Ω, and Big-Θ notation, and shows how to compare algorithms by their growth rates rather than by intuition. It also covers empirical measurement through benchmarking and profiling, and explains why theoretical analysis and real-world timing can disagree because of caching, memory access patterns, and compiler behaviour. The second part turns to optimization: choosing appropriate data structures, removing redundant computation, reducing nested loops, applying memoization, and knowing when an optimization is premature. Worked examples show a "before-and-after" process of measuring first, locating the bottleneck, optimizing it, and measuring again to confirm the gain. Participants will leave with a practical, evidence-based workflow for writing code that is correct, efficient, and scalable.
Performance Real-World Applications of Algorithms in Everyday Technology
Graph Algorithms for Network Optimization: Theory and Applications
Friday, 27 November 2026
Object Oriented ProgrammingThe DNA of Software: Classes and Objects
Data Security Starts Here: The Power of Encapsulation
Code Reuse Made Easy: Exploring Inheritance in OOP
Writing reusable, organized, and maintainable code is an essential skill in software devel...
Norakmar Arbain @ Sulaiman
FKE, UiTM Shah Alam
Moderator: Assoc. Prof. Ts. Dr. Roslina binti Mohamad
Code Reuse Made Easy: Exploring Inheritance in OOP
Writing reusable, organized, and maintainable code is an essential skill in software development. Object-Oriented Programming (OOP) provides several fundamental principles to achieve these goals, with inheritance serving as a powerful mechanism for reusing existing code and establishing relationships between classes. This session, Code Reuse Made Easy: Exploring Inheritance in OOP, introduces the concept of inheritance through practical examples using C++ programming. Participants will explore how inheritance allows new classes to be developed from existing ones, enabling shared attributes and methods to be reused without unnecessary code duplication. Through step-by-step explanations and live coding demonstrations, participants will learn how to define base and derived classes, apply access specifiers, and implement different inheritance structures, including single, multilevel, hierarchical, and multiple inheritance. Real-world programming examples will illustrate how inheritance simplifies code organization, supports software extensibility, and improves maintainability. The session will also highlight common design mistakes and best practices for creating effective class hierarchies, including understanding when inheritance is appropriate and when alternative approaches may be preferable. By the end of the session, participants will be able to identify suitable inheritance relationships, implement inheritance in C++, and apply code reuse techniques to develop more structured, efficient, and maintainable software applications.