Mar 28, 2024  
2017-2018 Undergraduate Academic Catalog 
    
2017-2018 Undergraduate Academic Catalog [ARCHIVED CATALOG]

Add to Portfolio (opens a new window)

CS 3210 - Computer Graphics

3 lecture hours 2 lab hours 4 credits
Course Description
This course introduces computer graphics with implementation in C++ on the Linux platform, reinforcing the object-oriented programming concepts of inheritance and polymorphism. Algorithms, data structures, graphics primitives and graphics standards are discussed in addition to hardware aspects of computer graphics. Topics such as 2-D and 3-D transformations, graphics libraries and clipping algorithms are presented. Laboratory exercises provide opportunities for students to develop graphics algorithms and interactive applications. (prereq: CS 3841  or SE 2040 )
Course Learning Outcomes
Upon successful completion of this course, the student will be able to:
  • Give examples of and discuss computer graphics hardware
  • Define and use two-dimensional and three-dimensional graphic object representations
  • Apply and appraise several scan-conversion algorithms
  • Understand and apply two-dimension and three-dimension transformations
  • Discuss and apply concepts of object-oriented programming, inheritance, polymorphism, and event-driven systems
  • Describe C++ and STL concepts, including classes and constructors, operator overloading, STL vector class, dynamic memory with new and delete
  • Apply data structures to the management of computer graphics entities
  • Compile and execute C++ programs on the Linux platform

Prerequisites by Topic
  • Familiar with the advantages, disadvantages, and proficient in the usage of data structures.
  • Familiar with the advanced programming concepts of event driven systems, inheritance, and polymorphism.
  • Familiar with Linux command-line interface and gcc compiler

Course Topics
  • Overview of computer graphics
  • Computer graphics input and output hardware
  • Mathematical background
  • Lines and line generation
  • Polygons and filling
  • Two-dimensional transformations
  • Windowing and clipping
  • Three-dimensional objects
  • Three-dimensional transformations
  • Projections and depth
  • Graphical user interfaces
  • Examinations and reviews

Laboratory Topics
  • C++ classes
  • STL containers
  • Scan-conversion
  • Event-driven programming
  • 2-D Graphics
  • 3-D Graphics

Coordinator
Darrin Rothe



Add to Portfolio (opens a new window)