Photo for Mohammed Qasem

Mohammed Qasem, PhD, MSc, BSc

ATS Assistant Lecturer, Augustana - Sciences

Contact

ATS Assistant Lecturer, Augustana - Sciences
Email
mqasem@ualberta.ca
Phone
(780) 679-1116
Address
2 - 331 Faith & Life Centre
4901-46 Ave
Camrose AB
T4V 2R3

Overview

Area of Study / Keywords

Program: Computing Science and Mathematics


About

Mohammed Qasem is an assistant lecturer at the department of computing science. He started working at Augustana in July of 2019. Prior to arriving at Augustana, he has taught introductory programming courses, visual programming, logic design, computer architecture, and operating systems. He also worked at Manitoba Hydro International as a Software Developer. His research centers mostly on three areas: (i) ant-inspired clustering models and their applications to dynamic real-world clustering problems; (ii) semi-supervised classification and clustering; (iii) aspect-based sentiment analysis. 


Research

A swarm of organisms, following simple rules, can achieve incredible intelligent tasks. This natural behaviour is called Swarm Intelligence (SI) and is pervasive through diverse ecological systems. An individual ant, for instance, can perform minimal functions, but an ant colony can perform complicated, intelligent tasks such as building bridges, creating superhighways, collecting and sorting piles of food and waging war. More interestingly, such tasks are achieved without central control and beyond the comprehension of any single ant. A colony of ants is self-organized by a process called stigmergy, a small action by individual ant stimulates others to behave differently, leading to a new pattern of behaviour — likewise, flocks of birds, herds of animals, schools of fish and beehives. Very generally, Dr. Qasem primary field of research interest is SI. Within SI, he focused on ant-inspired algorithms with their applications to data analytics. His doctoral research centers on developing two clustering algorithms, inspired by how real ants sort their nests, and their application to classifying large-scale dynamic data. Dr. Qasem current research work focuses on swarm intelligence for social network mining.




Teaching

Teaching philosophy in a nutshell

“All students can learn and succeed, but not in the same way and not in the same day”.

– William G. Spady

 My role as a facilitator (rather than a traditional instructor) is central to my teaching philosophy. I perceive myself as a facilitator in the sense that I take responsibility for the learning environment: it is my responsibility to find out the best approach for teaching computing science in different classes.


Fall 2019

AUCSC 450 Parallel and Distributed Systems

AUCSC 310 Algorithm Design and Analysis 

Past Courses

Digital Logic Design

Computer Architecture and Organization 

Operating System Concepts

Visual Programming 

C/C++ Programming

Data Structures

Computer Science Fundamentals


Courses

AUCSC 111 - Introduction to Computational Thinking and Problem Solving

An introduction to computational thinking, problem solving, and the fundamental ideas of computing. Topics include algorithms, abstraction, and modelling; the syntax and semantics of a high-level language (e.g. Python); fundamental programming concepts and data structures, including simple containers (variables, arrays, lists, strings, dictionaries); sequencing, conditionals and repetition; documentation and style; object-oriented programming; exceptions and error handling; graphical user interfaces and event-driven programming; recursion; simple algorithm analysis and run- time efficiency. Prerequisite: Mathematics 30-1. Note: Credit may be obtained for only one of AUCSC 111 or AUCSC 113 (2023).


AUCSC 218 - Web Design, Development and Scripting

Introduction to modern web architectures and technologies. Web platforms and standards. Client-side/server-side programming and web languages (e.g. HTML, JavaScript, PHP, CSS, Node.js). Introduction to internet security. Design and implementation of a simple web application. Prerequisite: one of AUCSC 113 (2023) or AUSCI 135, or AUCSC 111.


AUCSC 310 - Algorithm Design and Analysis

Algorithm design techniques (divide-and-conquer, dynamic programming, the greedy method). Merge-sort and the analysis of divide-and-conquer algorithms with recurrence relations; bucket-sort, radix-sort, and the lower bound on sorting; comparison of sorting algorithms. Trees, binary trees, search trees, their implementation, traversal, and search and update operations. Introduction to graph theory; data structures for the representation of graphs, digraphs, and networks, and their associated algorithms (traversal, connected components, topological sorting, minimum- spanning trees, shortest paths, transitive closure). Dynamic equivalence relations and union-find sets; amortized analysis. String matching. Prerequisites: AUCSC 112, or AUCSC 211 and AUSCI 235; and AUMAT 250.


AUCSC 450 - Parallel and Distributed Computing

Parallel architectures, programming language constructs for parallel computing, parallel algorithms and complexity. Message-passing, remote procedure call, and shared-memory models. Synchronization and data coherence. Load balancing and scheduling. Appropriate applications. Prerequisites: AUCSC 250 and AUCSC 370.


AUCSC 480 - Operating Systems Concepts

Operating system functions, concurrent process coordination, scheduling and deadlocks, memory management and virtual memory, secondary storage management and file systems, protection. Prerequisites: AUCSC 250 and AUCSC 370. Note: Credit may be obtained for only one of AUCSC 480 and AUCSC 380 (2022).


Browse more courses taught by Mohammed Qasem