ITCS 6145/8145 Parallel Computing
Spring 2026
ITCS 6145/8145 Parallel Computing
Spring 2026
This page might be updated without prior notice. Please look out for notifications on Canvas and check this page frequently.
Last updated on 01/12/2026
Course Information
Lectures: 10 am - 1pm Tues, Room 601@Dubois Center at UNC Charlotte Center City
Office hours: 4pm - 5pm Wed or by appointment
Instructor: Jinzhen Wang, jwang96@charlotte.edu
TA: Kunal Shah, kshah65@charlotte.edu
Course Description
This course provides an in-depth exploration of parallel computing, with a primary focus on single-node architectures. It examines the why, what, and how of parallel computing, introducing the fundamental principles and practical techniques required to design, implement, and evaluate parallel programs on modern computers.
Students will study shared-memory programming models and GPU parallelism, gaining hands-on experience in developing and optimizing parallel algorithms for multi-core CPUs and many-core GPUs. The course integrates theoretical foundations with practical programming approaches and performance optimization strategies.
Learning Objectives
By the end of the course, you will:
Understand key concepts in parallel computing, including parallel architectures, concurrency, synchronization, communication, and performance analysis.
Develop scalable parallel applications while critically evaluating trade-offs among performance, correctness, and portability.
Prerequisites
There is no prerequisite needed to take the course. However, you probably need the following skill sets and knowledge.
A solid foundation in computer architecture.
Intermediate proficiency in C/C++.
Basic understanding of algorithms and data structures.
Basic familiarity with operating systems and concurrency concepts.
Basic proficiency with Linux environment, git, ssh/scp, and build systems.
Learning Resources
Primary Resource: lecture slides
Assignments
Practice questions prior to exams
Various external resources
No required textbook
Some reading materials listed in syllabus and appended in lecture slides.
Grading
5% x 10 Homework assignments
20% Midterm exam
20% Final exam
10% Class participation (attendance)
Lectures
Lecture 8 - Concurrent Data Structures
Lecture 9 - GPU Architecture and Programming Model
Lecture 10 -Â Multi-GPU programming
Assignments
10 homework assignments (written and coding) where students practice the conceptual understanding of parallel computing, and hands-on techniques of building large-scale compute/data-intensive applications.
Late Days Policy
5 late days total for the semester
Maximum 2 late days per assignment
After late days are exhausted, no submissions accepted
In general, we do not grant extensions on assignments. There are several exceptions:
Medical Emergencies
Family/Personal Emergencies
University-Approved Travel
Dr. Jinzhen Wang
Department of Computer Science
College of Computing and Informatics
University of North Carolina at Charlotte
9201 University City Blvd.
Charlotte, NC 28223