[home]
Guest Lectures
- [Game] Programming I Didn't Learn in School
Interviews with Niklas Lundberg, John Romero, Ivan-Assen Ivanov,
for games programme seminars, Blekinge Tekniska Högskola, Karlskrona, Sweden, 11 Nov 2015.
slides with notes and further remarks from interviewees [pdf]
presentation slides [pdf]
- webGL, 18 Feb 2015, Dublin University Internet Society [pdf]
- HTML5 + JavaScript = Graphics, 31 Oct 2014, [pdf]
- Project Tips-Starting a Server, 27 Nov 2013, [html]
- Easy Start to WebGL (Three.js), 25 Nov 2013, [html]
- Wrestling with JavaScript, 25 Nov 2013, [html]
- Fancy Web Graphics, 20 Nov 2013, [html] [html] (shrunk images)
- HTML5 Video and Audio, 20 Mar 2013, [html slides]
- JavaScript Debugging, 13 Mar 2013, [html slides]
- Morph Target Animation and Quaternions, 12 Nov 2012, [html slides]
- Introduction to WebGL, Oct 2012, [html slides]
Trinity College Dublin, Ireland
CS3D5A Data Structures and Algorithms, 2016
This new a course I was asked to make from scratch for the School of Engineering third year students. There are therefore some bugs. This was a very intense (1 hour per day) practical work heavy course based on a typical Algorithms format.
- Lecture slides:
Intro,
C Programming,
First Assignment,
Complexity Analysis,
Reverse a Linked List on the Whiteboard (and other lamentable interview questions),
Hash Tables,
Makefiles,
Technical Writing,
Sorting Algorithms Part 1,
Sorting Algorithms Part 2,
Binary Space Partitioning,
Quicksort,
Abstract Data Types,
Search Algorithms Part 1,
Heaps,
Sets, Bags, Graphs,
Graphs Case Study,
Graph Search, demo code,
Dijkstras Algorithm,
Greedy Best-First Search,
A-Star, demo code,
Exam Review,
Libraries,
Graphics Intro,
Revision Lecture,
- Tutorials:
Debugging,
Profilers,
Bitwise Operators, Binary Files, and Hex Editing,
Hexedit Hacking Demo and Static Analysis,
LaTeX,
Things I didn't collect and upload (maybe later) - exam scripts, assignments, hacking demo videos (for good reason), live-coding, valgrind tutorial.
CS7029 Animation Project, 2016
CS4052 Computer Graphics, 2014-15
- Lecture slides:
Computer Graphics,
3d Programming I,
Transformation,
Virtual Cameras and the Transformation Pipeline,
Catmull's Texturing, 1974, but with shaders,
Bui Tuong Phong's Lighting, University of Utah, 1973, but with shaders,
Illuminating,
Animated,
Game Project,
Tim's Blender Cheat Sheet,
Multi-Pass,
Optimised,
{curves},
exam revision,
end,
slides mistakes,
lecture_improvements
- Assignments: Assignment 0 |
Assignment 1 |
Assignment 2 |
Assignment 3 |
Assignment 4 |
Assignment 5
-
Optional helper code: Anton's maths header |
Visual Studio 2012 project starter |
lab2 starter code [zip] |
Anton's .obj mesh loader [zip] |
Tim's minimal Assimp mesh loader [.cpp] |
stb [url] - Sean Barrett's libraries (where stb_image lives) |
- Exam scripts: ...not sure where they are, may upload if found!
Blekinge Tekniska Högskola, Sweden
- DV1212, DV1222 Graphics I (3d Programming I)
- DV1415, DV1416 Graphics II (3d Programming II)
-
DV1413 Visualisering (Visualisation)
Data Representation [html],
Data Processing [html],
LaTeX Lab [html],
GnuPlot Lab [pdf],
Assignment: Publishing Results [pdf],
"Artificial Unlife" source code [zip]
- DV1121 Programmering, datastrukturer och algoritmer (Programming, datastructures, and algorithms)
- DV1429, DV1436: Modulär mjukvaruarkitektur och design (Modular software architecture and design)
Massey University, New Zealand
- iOS Device Development (Final Years' Project)
- Artificial Intelligence (Tutorials)
- Object Oriented Programming (Tutorials)
Reference Sheets
- Cheat Sheet: Vector and Matrix Maths, [pdf]
- Table: Encoding Greek Characters, 25 Jan 2013, [pdf]