Mohammed Qasem, PhD, MSc, BSc

ATS Assistant Lecturer, Augustana - Sciences
Directory

Fall Term 2026 (1970)

AUCSC 111 - Introduction to Computational Thinking and Problem Solving

3 units (fi 6)(EITHER, 3-0-3)

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).

LAB D01 (57291)

2026-09-01 - 2026-12-08
R 14:00 - 16:50



AUCSC 218 - Web Design, Development and Scripting

3 units (fi 6)(EITHER, 3-0-1.5)

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.

LECTURE A01 (57293)

2026-09-01 - 2026-12-08
TR 08:00 - 09:20

LAB D01 (57294)

2026-09-01 - 2026-12-08
T 14:00 - 15:20

LAB D02 (57295)

2026-09-01 - 2026-12-08
T 15:30 - 16:50



AUCSC 310 - Algorithm Design and Analysis

3 units (fi 6)(EITHER, 3-0-1.5)

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.

LECTURE A01 (57296)

2026-09-01 - 2026-12-08
TR 09:30 - 10:50

LAB D01 (57297)

2026-09-01 - 2026-12-08
R 11:00 - 12:20

Winter Term 2027 (1980)

AUCSC 450 - Parallel and Distributed Computing

3 units (fi 6)(EITHER, 3-0-1.5)

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.

LECTURE B02 (83244)

2027-01-04 - 2027-04-09
MWF 13:00 - 13:50

LAB H03 (83245)

2027-01-04 - 2027-04-09
F 09:00 - 10:20

LAB H04 (83246)

2027-01-04 - 2027-04-09
M 16:00 - 17:20



AUCSC 480 - Operating Systems Concepts

3 units (fi 6)(SECOND, 3-0-1.5)

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).

LECTURE B01 (82297)

2027-01-04 - 2027-04-09
MWF 08:00 - 08:50

LAB H01 (82298)

2027-01-04 - 2027-04-09
M 09:00 - 10:20

LAB H02 (82299)

2027-01-04 - 2027-04-09
W 09:00 - 10:20