Skip to content

Commit

Permalink
Fall 2018
Browse files Browse the repository at this point in the history
  • Loading branch information
alecjacobson committed Sep 4, 2018
1 parent d536d31 commit b5bad57
Showing 1 changed file with 61 additions and 105 deletions.
166 changes: 61 additions & 105 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,46 +1,53 @@
title: Computer Graphics Course
author: Alec Jacobson
html header: <link rel="stylesheet" href=style.css>

# Computer Graphics CSC418 _Fall 2017_

![](images/fields-cafe.jpg)
<link rel="stylesheet" href="github-markdown.css">
<style>
.markdown-body {
box-sizing: border-box;
min-width: 200px;
max-width: 980px;
margin: 0 auto;
padding: 45px;
}

@media (max-width: 767px) {
.markdown-body {
padding: 15px;
}
}
</style>
<article class="markdown-body">

# Computer Graphics CSC418 _Winter 2018_

![_image courtesy Gavin Barill (class of 2017)_](images/gavin-barill-snowglobe.jpg)

- [Sections](#sections)
- [News](#news)
- [Links](#links)
- [Course Overview](#courseoverview)
- [Required Textbook](#requiredtextbook)
- [Lecture Schedule](#lectureschedule)
- [Assignments](#assignments)
- [Recommended Textbook and References](#recommendedtextbookandreferences)
- [Grading](#grading)
- [Lateness Policy](#latenesspolicy)

## Sections

**LEC0101** Wednesdays 12:00-14:00 in GB 220
Prof. [Karan Singh](http://www.dgp.toronto.edu/~karan/)
[email protected]
+1 416-978-7201
Office hours Wednesdays 14:00-16:00 in BA 5258

**LEC0201** Tuesdays 15:00-17:00 in GB 220
**LEC0101** Wednesdays 15:00-17:00 in GB 244
Prof. [Alec Jacobson](http://www.cs.toronto.edu/~jacobson/)
[email protected]
+1 416-946-8630
Office hours Tuesdays 17:00-19:00 in BA 5266
Office hours Wednesdays 17:00-19:00 in BA 5266

**Tutorial** for both sections will be held _together_ on Mondays 12:00-13:00 in GB
220.

## News
**LEC0201** Tuesdays 15:00-17:00 in SF 3202
Prof. [Karan Singh](http://www.dgp.toronto.edu/~karan/)
[email protected]
+1 416-978-7201
Office hours _TBD_ in BA 5258

| Date Posted | Anouncement |
|-------------|-------------|
| 11/9/2017 | Welcome to CSC418 |
**Tutorial** for both sections will be held _together_ on Mondays 15:00-16:00 in
GB 244.

## Links

- [Bulletin Board](https://bb-2017-09.teach.cs.toronto.edu/c/csc418)
- _Course Information Sheet (coming soon...)_

## Course Overview

Expand All @@ -52,14 +59,30 @@ illumination and reflectance models, radiometry, energy transfer models,
parametric representations, curves and surfaces, texture mapping, graphics
hardware, ray tracing, graphics toolkits, animation systems.

**Prerequisites:** CSC336H1/CSC350H1/CSC351H1/CSC363H1/364H1/CSC365H1/CSC373H1/CSC375H1/378HI, MAT137Y1, CSC209H1/proficiency in C or C++ ; CGPA 3.0/enrolment in a CSC subject POSt.
**Prerequisites:** C/C++ Programming, Linear Algebra, Calculus, Numerical
Methods ([course
codes](http://calendar.artsci.utoronto.ca/crs_csc.htm#CSC418H1)).

The student is expected to read background material on the hardware and local
software, and should be comfortable with elementary linear algebra, geometry,
and vector calculus. It is also assumed that the student is comfortable
programming in basic C++.

**Recommended preparation:** MAT237Y1, MAT244H1.
**_(Strongly)_ Recommended preparation:** Multivariable Calculus

## Required Textbook

![The Book.](https://www.cs.cornell.edu/~srm/fcg4/K22616_cover-300.jpg)

This class involved **_required reading_** from:

[_Fundamentals of Computer Graphics, Fourth
Edition_](https://www.cs.cornell.edu/~srm/fcg4/), Steve Marschner, Pete Shirley,
et al. 2015.

Digital e-book are available at [CRC
Press](https://www.crcpress.com/Fundamentals-of-Computer-Graphics-Fourth-Edition/Marschner-Shirley/p/book/9781482229394).


## Lecture Schedule

Expand All @@ -75,95 +98,26 @@ readings._
<!-- Pressing OPT+[Space] will produce a non-breaking space. For example,
between "Tutorial" and "1" so these appear on the same line -->

| | Topics | Slides | [Shirley](#textbook) Chapters |
|:----------:|:--------------------|:-|:-|
| **Part I: Basic Graphics Primitives** ||||
| Tutorial 1 | _Hello, I'm your TA. There's no tutorial this week._ | | |
| Lecture 1 | **Introduction & raster operations** Line drawing, 2D [polygons](http://mathworld.wolfram.com/Polygon.html), parametric 2D curves (circle, [ellipse](http://mathworld.wolfram.com/Ellipse.html)) <br> [Introduction.pdf](notes/Introduction.pdf) <br> [Curves.pdf](notes/Curves.pdf) <br> Wikipedia [List of curves](https://en.wikipedia.org/wiki/List_of_curves) | [lecture1.pdf](slides/lecture1.pdf), [lecture1_6up.pdf](slides/lecture1_6up.pdf) | 3.1-3.5; 2.5-2.6 |
| Tutorial 2 | C++, OpenGL and Hierarchical Models | | |
| Lecture 2 | **Interpolation & 2D Transformations** Rigid, conformal, affine transformations. Homogeneous coordinates. Coordinate-free geometry. <br> [Transforms.pdf](notes/Transforms.pdf) <br> [Coordfreegeom.pdf](notes/Coordfreegeom.pdf) | [lecture2+3.pdf](slides/lecture2+3.pdf), [lecture2+3_6up.pdf](slides/lecture2+3_6up.pdf) | 6.1; 2.4; 6.3 |
| Tutorial 3 | C++, OpenGL and Hierarchical Models | | |
| Lecture 3 | **3D Surfaces** Planes, tangents, normals, bilinear patches, quadrics/superquadrics. 3D transformations. <br> [3dobjects.pdf](notes/3dobjects.pdf) | | 2.9–2.11; 13.1; 6.2 |
| **Part II: Viewing in 3D** ||||
| _coming soon_ ||||
| **Part III: Appearance Modeling and Rendering** ||||
| _coming soon_ ||||
| **Part IV: Interpolation and Animation** ||||
| _coming soon_ ||||

## Assignments

[Academic Honesty (Please Read!!!)](#academichonesty)
[Academic Honesty (required reading)](#academichonesty)

Links to assignments will be available on the hand-out dates

_Tentative dates based on 2016. Proper 2017 dates coming soon..._

| Date handed out | Due date | Assignment | Helper code
|:----------------|:---------|:-----------|:---:|
| Sept. 20 | Oct 11 | | |
| Oct 11 | Nov 1 | | |
| Sept. 13 | Wooden Monkey: Dec. 3 <br> Dec. 6 | | |


## Recommended Textbook and References

Currently, there is no textbook that reflects all the material covered in this
class. Only the **Slides** in the [Lecture Schedule](#lectureschedule) are
**required reading**.

In-class lectures will be supplemented by online notes (lecture slides
and course notes) as well as portions of the following recommended textbook:

### Textbook

- [_Fundamentals of Computer Graphics_](http://www.cs.utah.edu/~shirley/books/fcg2/), 2nd Edition, A.K. Peters by Peter Shirley.
Be sure to check the online errata and slides available on the above link.

Textbook sections and online notes listed next to each lecture are strongly suggested reading.

- _OpenGL Programming Guide: The official guide to learning OpenGL, version
1.4_, By the OpenGL Architecture Review Board, Addison-Wesley. This book will
be a useful reference for getting some of the programming assignments done.
(Also available online)
- _OpenGL Reference Manual_, By the OpenGL Architecture Review Board,
Addison-Wesley. (Also available online) Supplementary Textbooks

We will not be using the following books directly, but they offer different
perspectives on the topics that will be covered in class.

- A. Glassner, _Principles of Digital Image Synthesis_, vol. 1&2, Morgan Kaufman, 1995
- J. Foley et al., _Computer Graphics: Principles and Practice_, Addison Wesley, 1997
- A. Watt, _3D Computer Graphics_, 3rd edition, Addison-Wesley, 1999
- D. Hearn and M. P. Baker, _Computer Graphics_, 3rd edition, Addison-Wesley, 2003
- J. Blinn, _Jim Blinn's Corner: A Trip Down the Graphics Pipeline_, Morgan Kaufman, 1996
- J. Blinn, _Jim Blinn's Corner: Dirty Pixels_, Morgan Kaufman, 1998
- R. Fosner, _OpenGL Programming for Windows95 and NT_, Addison Wesley, 1998
- D. S. Ebert et al., _Texturing and Modeling_, 2nd edition, Academic Press, 1998
- G. Wolberg, _Digital Image Warping_, IEEE Computer Society Press, 1990

## Grading

|----:|---------------|
| 15% | In-class test
| 35% | Final exam
| 50% | Assignments

There will be three assignments in total, composing 10%, 15% and 25% of the
total grade, respectively. Assignments will be roughly tri-weekly. The
assignments will have a written portion and a programming portion.
| 20% | Monday, October 29, in-tutorial exam
| 10% | Monday, November 26, in-tutorial exam
| 70% | Assignments

### Late Policy
There will be roughly seven programming assignments in total (~10% each).

Assignments are **_due by 11:59pm_** on the due date. Assignments (including the
written part) should be submitted to the TA in electronic form. Exact submission
instructions will be provided with the first assignment. The written portions if
hand-written should be legibly scanned and submitted electronically as well.
## Lateness Policy

For each day late, including weekends, 15% of the total possible points will be
deducted (a day ends at the due time).
Assignments are **_due by 11:59pm_** on the due date.

**No work will be accepted if it is more than five days late.**
0.007% off for every minute late.

### Academic Honesty

Expand Down Expand Up @@ -204,3 +158,5 @@ For purposes of this class, academic dishonesty is defined as:
- Questions of the form "I cannot find the problem with my code; here it is, can
you help me" are unlikely to be replied, so don't count on it. If you have a
question with code, take it to the TA office hours or to the tutorials.

</article>

0 comments on commit b5bad57

Please sign in to comment.