Innovative, inclusive higher education

My work spans two connected areas: pedagogical research and technology that make learning more effective, accessible, and evidence-based, and decision support systems that combine optimization with expert reasoning to help people decide well under uncertainty. In practice, this includes course-aware AI support, interactive, parallel coursework, gamified learning, and academic planning and allocation tools.

“Education is the kindling of a flame, not the filling of a vessel.” - Socrates

Dr. Abdallah Mohamed

I hold a Ph.D. in Software Engineering from the University of Calgary, where my work concerned decision support systems for component-based software development. I am currently an Associate Professor of Teaching in Computer Science at the University of British Columbia, Okanagan campus.

More about me: SoTL Spotlight · Faculty of Science article

COSC 101Digital Citizenship
COSC 211Machine Architecture
COSC 111Computer Programming I
COSC 304Introduction to Database Systems
COSC 122Computer Fluency
COSC 445Computer Vision
Directed studies and honours supervision

COSC 447 · 448 · 449, topics include:

  • Equity, diversity, inclusion: gender disparity in CS
  • AI in education: generative AI to support learning, collaborative filtering, spaced repetition, intelligent tutoring systems
  • Decision support: course planning, TA allocation
  • Flexible learning: personalized, domain-oriented learning
  • Gamified learning: motivation stimulation, gamified learning
  • Computer vision: image querying, cell biology, whiteboard transcription
  • Navigation: indoor positioning using iBeacon
  • Other AI: identifying dangerous online behaviour

Directed studies application form Honours application form

My research concerns decision support systems: the study and development of methodologies that integrate concepts and techniques such as optimization methods and expert systems in order to support informed decision-making. These methodologies are intended for decisions taken in complex, uncertain, or dynamic environments.

My current interest is the use of such systems to foster quality and creativity in higher education. I have taken part in several initiatives investigating techniques and technologies that improve current practice in post-secondary learning; see, for example, this article and LearnCoding. The aim throughout is to improve the learning experience of students.

Projects that interest me include tools that help students understand and analyze complex concepts such as algorithms and data structures, and games or applications that improve student motivation and success. Further ideas are collected here. If you have an idea for improving teaching and learning practice at UBC Okanagan or elsewhere, I would be glad to discuss it and to investigate ways of securing the resources to implement it.

Earlier in my career I developed decision support techniques for software engineering: an approach integrating expert systems with optimization to analyze the impact of software component mismatches across different systems, and a technique for generating diversified solution alternatives for optimization-based decision support.

EduAI Lab

Course-aware AI support built on your own class materials.

eduai.ok.ubc.ca
my.eduai.ok.ubc.ca (via UBC VPN)

Read more

A research and development initiative focused on using AI to improve teaching and learning. It builds course-aware AI systems that connect generative AI models with actual course materials through retrieval-augmented generation, so students and instructors receive context-specific academic support rather than generic chatbot responses. The lab develops tools for tutoring, question generation, grading assistance, and study support, within a secure UBCO-hosted environment designed to be accessible, pedagogically aligned, and integrated into university courses.

LearnCoding with Parallel Coursework

Instantly switch a lesson’s content between languages to compare and learn.

learncoding.ok.ubc.ca

Read more

A learning platform whose content can be personalized to a learner’s needs. Learners switch the customization settings to compare and contrast content: syntax such as Java against Python, or discipline such as mathematics against physics.

Course Planner

Visual degree planner with conflict-free scheduling and up-to-date course insights.

courseplanner.ok.ubc.ca · pilot

Read more

A visual, web-based degree-planning platform. Students drag and drop courses across planned years and terms, see missing pre- and co-requisites immediately, and receive soft off-term warnings with recency-weighted offering forecasts. Multiple plans can be explored and saved through what-if analysis. Once a term is ready, its courses export to the Term Scheduler, where a visual section picker, seat-alert tracking, auto-optimized timetables, and side-by-side comparison make building a conflict-free week straightforward. The Course Insights pane adds prerequisite graphs, historical offering heatmaps, and multi-year grade-distribution charts, so decisions are informed before registration in Workday.

Future work includes optimization-based recommendation: suggesting courses for the coming term from a student’s progress and degree requirements, and suggesting sections from their schedule preferences and the term’s offerings.

Refer to the official calendar to verify degree requirements and course prerequisites.

TA Management System

Streamlines TA hiring and allocation for UBCO departments.

tams.ok.ubc.ca · pilot

Read more

TAMS streamlines the TA allocation process at UBCO, guiding each role through its core tasks. Administrators define terms and discipline scopes; coordinators create sessions and manage assignments; instructors submit TA preferences and post-term reviews; students apply for positions, keep their schedules current, and handle post-acceptance changes. The system enforces strong password security, offers secure account recovery, syncs course data from Workday, checks schedule conflicts automatically, and records audit, security, and system events for oversight. Interactive help provides role-specific guidance on workflows, permissions, and post-accept processes.

Future work includes an optimization-based decision support system allocating TAs to courses and labs using linear integer programming under soft and hard constraints.

Still experimental; not an official process.

Yellowknife Makerspace
Membership and training system for a northern community makerspace, with income-sensitive membership tiers and Universal Design features to support equitable STEM access (Mitacs, 2024-2026).
NuTeach Learning
A Canvas-integrated platform using gamification and reward mechanics to stimulate learners’ intrinsic motivation. nuteach.ok.ubc.ca
Data Playground
Data-structures learning through gamification and visual aids: four structures, programming challenges, and animations of structures as programs execute. dataplayground.ok.ubc.ca (via UBC VPN)
ULearn
Machine learning and adaptive techniques producing quizzes shaped by collaborative student performance. ulearn.ok.ubc.ca (via UBC VPN)
Generative AI in Education
Studies of generative AI in support of learning: current trends, AI as tutor, AI for generating and answering questions. Some results published; further tools to follow.
Equity, Diversity, and Inclusion
Studies identifying and addressing equity, diversity, and inclusion issues in Computer Science at UBC Okanagan and elsewhere. Published articles available soon.

I have also coached ACM ICPC teams since 2016, including UBCO’s first advancement to the North American finals (2020) and a 2nd-place national ranking (2025), and serve as faculty advisor for the Coding Club.

Also nominated four times for the Golden Apple Award: Safe Classroom Environment, I AM Accessible, Delivering Material Effectively, and Supporting Learning Outside Classroom.