This document provides an introduction to graphics programming and algorithms for modeling and drawing 2D and 3D objects on screen. It summarizes basic algorithms for drawing line segments, polygons, and transforming shapes. The algorithms are implemented in C++ code available on GitHub. It then discusses representing continuous lines and polygons on discrete screens, and introduces the Digital Differential Analyzer (DDA) algorithm for drawing line segments by incrementally moving across pixel columns based on the line's slope. An example of applying DDA to a line segment is shown step-by-step.