Instructor Guide¶
Teaching Hours and Number of Participants¶
This module is developed for one instructor and two teaching assistants during teaching for 40 students. The teaching can be delivered online, onsite, or in a hybrid format, providing flexibility to accommodate different learning preferences and circumstances. Whether students attend in person or remotely, the course materials and exercises are designed to ensure a consistent and engaging learning experience. Instructors can leverage virtual tools such as video conferencing and shared coding environments alongside traditional classroom setups to support all modes of delivery effectively.
Students are expected to dedicate 3-6 hours in total. This estimate combines contact hours, such as lectures or exercises (2-4 hours), with independent learning time (1-2 hours), which include self-study, assignments, and revision. Balancing these components ensures students have sufficient guided instruction while allowing ample time for personal engagement with the material.
Mode of Teaching and Exercising/Discussion¶
This modular lesson does not include hands-on programming exercises. Therefore, learners are not required to install or configure a dedicated programming environment before participating in the lesson. The module is designed to focus on conceptual understanding, discussions, and demonstrations rather than practical coding activities.
However, instructors are encouraged to prepare an appropriate programming environment if they plan to incorporate live coding demonstrations, code walkthroughs, or type-along activities during the session. Depending on the topics covered, this may include installing the necessary software, development tools, programming languages, GPU drivers, SDKs, libraries, or frameworks (e.g., CUDA, ROCm, or oneAPI).
In addition to the technical preparation, instructors should allocate sufficient time for interactive discussions, encouraging learners to explore the concepts presented in the module. Discussions may include comparing different GPU architectures and programming platforms, examining real-world applications, analyzing current trends in parallel computing, and reflecting on the advantages and limitations of GPU computing across various domains. These discussions can help reinforce learners’ understanding and promote critical thinking beyond the theoretical content.