COMPSCI 345
Graphics Software Architecture
Michael Roland Reed
Description from DukeHub
Learn the fundamentals of modern 2D software graphics, and how these can be efficiently implemented in C/C++. Core topics include color, geometric primitives, scan conversion, clipping, transformations, alpha blending, sampling. Advanced topics may include gradients, parametric curves, and triangle meshes. Students will develop their own graphics engine, evolving it over the course of the semester as new principles and techniques are introduced. At each milestone, their work will be evaluated for functionality, clarity, and performance. Students will learn firsthand how to evaluate implementation tradeoffs. Prerequisite: Computer Science 201; and Computer Science 210 or 250; and Mathematics 216, 218, or 221.
Skills
- programmingdescription: "software" and 3 more
- designAI review: "fundamentals of modern 2D software graphics"
AI-resilient: 0 of 5
- No: Physical, lab or field work
- No: Live work with people
- No: Judgment someone is accountable for
- No: A craft you practice with your hands or body
- No: Small, in-person format
The checks lean on Microsoft Research, Working with AI (2025), which found generative AI applies least to physical work and hands-on work with people. A signal, not a promise. How the score works
More in COMPSCI
- Introduction to Computer Science COMPSCI 101L
- Data Structures and Algorithms COMPSCI 201
- Introduction to Computer Systems COMPSCI 210D
- Everything Data COMPSCI 216
- Discrete Math for Computer Science COMPSCI 230
- Computer Architecture COMPSCI 250D