Skip to main content

Command Palette

Search for a command to run...

Graphics Programming - CM2030

Updated
2 min read
Graphics Programming - CM2030
P

Working as an online tutor for the Bachelor of Computer Science Degree from Goldsmiths, University of London on the Coursera platform. This is the first undergraduate degree programme available on Coursera, one of the world’s leading online education providers.

The programme has been designed to equip students to access careers in emerging technologies, providing opportunities for students to study machine learning, data science, virtual reality, game development and web programming to meet the needs of career changers in industry as well as those taking their first steps into the innovative computer science field.

Computer graphics is a critical application area in computer science. Displaying, processing and generating still and moving images using computational systems is necessary for video games, digital photography and computational art. We interact with computer graphics systems every day. This module builds on some of the programming and mathematical techniques you have seen earlier in the programme and will prepare you for more advanced areas such as virtual reality and image signal processing seen later in the programme.

This module aims to show you how to work with images in a variety of ways. You will learn how to synthesise graphics and how to process visual signals. You will learn about the mathematical ideas that underpin digital representations of graphics; how digital media files represent graphics, and how to handle and manipulate them; and the basics of working with simulated physics and 3D graphics.


Topics covered will be:

  • Introduction to Graphics
  • Vectors and animation
  • Forces and Physics
  • Physics with Matter.js
  • Generative techniques: randomness and noise
    • apply randomness and noise to create simple generative systems
  • Generative techniques: sine and fractals
    • implement generative systems using additive synthesis
    • implement recursive systems to make fractals
  • 3D graphics
    • use 3D primitives, lights and materials to program simple animations
    • implement 3D animations by manipulating the camera parameters
  • Colours, images, pixels
    • access and manipulate pixels directly
  • Image processing
    • use convolution to apply advanced filters on images
    • implement an Instagram-type image processing filter
  • Computer vision
    • explain what computer vision is and what its applications and challenges
    • describe what colour tracking and background subtraction is
    • use frame differencing to track movement
    • describe some advanced computer vision algorithms

Resources

"The module will draw on a number of different, largely web-based, public resources as well as the resources produced as bespoke material for this module."

Essential reading

"The standard text book(s) for the module will be:"

  • 3D Math Primer for Graphics and Game Development, Fletcher Dunn, A K Peters/CRC Press, ISBN-10: 1568817231, 2011

  • Mathematics for Computer Graphics (Undergraduate Topics in Computer Science), John Vince, Springer, ISBN-10: 1447162897, 2014


Pedram Badakhchani Useful links:

My p5 sketches:

https://editor.p5js.org/pedbad/collections

My codepen:

https://codepen.io/pedbad

W

Did this course Sept 2020 to Mar 2021 as part of the BSc in Computer Science at Goldsmiths,UoL. The best course so far, not only interesting and engaging lecturer and fun assignments to do but excellent tutor support. One of the gems in this degree

1

More from this blog

pedbad

39 posts

Head of eLearning at the University of Cambridge Language Centre & Online Tutor for the BSc Computer Science, Goldsmiths, University of London.