Difference between revisions of "CISC849 S2022"

From class_wiki
Jump to: navigation, search
(Schedule)
Line 69: Line 69:
 
|style="background:rgb(102, 204, 255)"|1
 
|style="background:rgb(102, 204, 255)"|1
 
|Feb. 8
 
|Feb. 8
|Introduction
+
|
|Graphics background, course information
+
|  
 
|Marschner, 1-1.4
 
|Marschner, 1-1.4
 
|<!--[https://docs.google.com/presentation/d/16M3Z-oFDE3lvtvBM33jNXLiM3RPytWFE1e8JZUzVNq4/edit?usp=sharing slides] [https://youtu.be/vCIfWg1m-xo recording]-->
 
|<!--[https://docs.google.com/presentation/d/16M3Z-oFDE3lvtvBM33jNXLiM3RPytWFE1e8JZUzVNq4/edit?usp=sharing slides] [https://youtu.be/vCIfWg1m-xo recording]-->
Line 76: Line 76:
 
|2
 
|2
 
|Feb. 10
 
|Feb. 10
|2-D, 3-D Geometry
+
|  
|Vector & matrix review, homogeneous coordinates, 2-D & 3-D transformations, quaternions
+
|  
 
|Marschner, 2.4, 5.2-5.2.2, 6-6.3 (skip 6.1.6, 6.2.1-6.2.2), 16.2.2
 
|Marschner, 2.4, 5.2-5.2.2, 6-6.3 (skip 6.1.6, 6.2.1-6.2.2), 16.2.2
 
|<!--[https://docs.google.com/presentation/d/18MkvZW84mFGMO-XjwXATfIa9hcDVti7ejzhSP6GFKRA/edit?usp=sharing slides] [https://youtu.be/eM0K6Bw20QM recording]-->
 
|<!--[https://docs.google.com/presentation/d/18MkvZW84mFGMO-XjwXATfIa9hcDVti7ejzhSP6GFKRA/edit?usp=sharing slides] [https://youtu.be/eM0K6Bw20QM recording]-->
Line 83: Line 83:
 
|style="background:rgb(102, 204, 255)"|3
 
|style="background:rgb(102, 204, 255)"|3
 
|Feb. 15
 
|Feb. 15
|3-D Geometry
+
|
|More 3-D transformations, camera manipulation & the view volume
+
|
 
|Marschner, 6.5-7.2 <!--; Red book, 3 -->
 
|Marschner, 6.5-7.2 <!--; Red book, 3 -->
 
|<!--[https://docs.google.com/presentation/d/1j7ShUyPHzKNo-y8c7B3BdnJGg94JOqSnr8VVTeraClk/edit?usp=sharing slides] [https://youtu.be/fTEl2agGfRM recording]-->
 
|<!--[https://docs.google.com/presentation/d/1j7ShUyPHzKNo-y8c7B3BdnJGg94JOqSnr8VVTeraClk/edit?usp=sharing slides] [https://youtu.be/fTEl2agGfRM recording]-->
Line 91: Line 91:
 
|Feb. 17<br>
 
|Feb. 17<br>
 
''Add/drop deadline Feb. 26''
 
''Add/drop deadline Feb. 26''
|3-D Geometry
+
|
|Perspective projection, geometry pipeline, transformations with GLM
+
|
 
|Marschner, 7.3, 7.5; OpenGL tutorials [http://www.opengl-tutorial.org/beginners-tutorials/tutorial-1-opening-a-window/ #1] (including installation instructions), [http://www.opengl-tutorial.org/beginners-tutorials/tutorial-3-matrices/ #3] <!--Red book, 1, 2 (stop before stippling) -->
 
|Marschner, 7.3, 7.5; OpenGL tutorials [http://www.opengl-tutorial.org/beginners-tutorials/tutorial-1-opening-a-window/ #1] (including installation instructions), [http://www.opengl-tutorial.org/beginners-tutorials/tutorial-3-matrices/ #3] <!--Red book, 1, 2 (stop before stippling) -->
 
|<!--[https://docs.google.com/presentation/d/1MV0G0DFUp-esctZfDpjGx00ktcfV17iNOadJsOtqQJk/edit?usp=sharing slides] [https://youtu.be/w8FHw2nbVkk recording]<br>-->
 
|<!--[https://docs.google.com/presentation/d/1MV0G0DFUp-esctZfDpjGx00ktcfV17iNOadJsOtqQJk/edit?usp=sharing slides] [https://youtu.be/w8FHw2nbVkk recording]<br>-->
Line 99: Line 99:
 
|style="background:rgb(102, 204, 255)"|5
 
|style="background:rgb(102, 204, 255)"|5
 
|Feb. 22<br>
 
|Feb. 22<br>
|OpenGL/GLFW
+
|
|Program initialization, window creation, geometric primitives <!--, GLUT -->
+
|
 
|Marschner, 17-17.7, 17.9-17.11 <!--Red book 1, 2, 6 "Blending" section, 9 -->  
 
|Marschner, 17-17.7, 17.9-17.11 <!--Red book 1, 2, 6 "Blending" section, 9 -->  
 
|<!--[https://docs.google.com/presentation/d/1K1KP9LWFwGeHVUIzr8_rM0ddPi3Y8IU37pOnR9NOlzQ/edit?usp=sharing slides] [https://youtu.be/e2sqi1dLi-g recording]-->
 
|<!--[https://docs.google.com/presentation/d/1K1KP9LWFwGeHVUIzr8_rM0ddPi3Y8IU37pOnR9NOlzQ/edit?usp=sharing slides] [https://youtu.be/e2sqi1dLi-g recording]-->
Line 106: Line 106:
 
|6
 
|6
 
|Feb. 24
 
|Feb. 24
|OpenGL/GLFW
+
|
|Basic animation, user interface callbacks
+
|
 
|OpenGL tutorial [http://www.opengl-tutorial.org/beginners-tutorials/tutorial-6-keyboard-and-mouse/ #6]
 
|OpenGL tutorial [http://www.opengl-tutorial.org/beginners-tutorials/tutorial-6-keyboard-and-mouse/ #6]
 
|<!--[https://docs.google.com/presentation/d/1pylI2yXpXnKYsPUSjD0m2HEFCOtEydAiYYbmEvlTLhc/edit?usp=sharing slides] [https://youtu.be/MsM8tltFyig recording]<br>
 
|<!--[https://docs.google.com/presentation/d/1pylI2yXpXnKYsPUSjD0m2HEFCOtEydAiYYbmEvlTLhc/edit?usp=sharing slides] [https://youtu.be/MsM8tltFyig recording]<br>
Line 114: Line 114:
 
|style="background:rgb(102, 204, 255)"|7
 
|style="background:rgb(102, 204, 255)"|7
 
|Mar. 1
 
|Mar. 1
|GPU programming
+
|
|Introduction to GLSL, vertex shaders vs. fragment shaders; GLSL texturing demo
+
|
 
|Marschner, 17.8; [http://wiki.labomedia.org/images/1/10/Orange_Book_-_OpenGL_Shading_Language_2nd_Edition.pdf Orange book Chaps. 2-5]
 
|Marschner, 17.8; [http://wiki.labomedia.org/images/1/10/Orange_Book_-_OpenGL_Shading_Language_2nd_Edition.pdf Orange book Chaps. 2-5]
 
|<!--[https://docs.google.com/presentation/d/1ebuvz0UYaeqKAYdik61ww6Ef_hjnYUG8DsGGTtS9Oa0/edit?usp=sharing slides] [https://youtu.be/UbJ0yOg5ziU recording]<br>
 
|<!--[https://docs.google.com/presentation/d/1ebuvz0UYaeqKAYdik61ww6Ef_hjnYUG8DsGGTtS9Oa0/edit?usp=sharing slides] [https://youtu.be/UbJ0yOg5ziU recording]<br>
Line 122: Line 122:
 
|8
 
|8
 
|Mar. 3
 
|Mar. 3
|Shading
+
|
|Radiometry: irradiance, radiosity, radiance, BRDFs
+
|
 
|Marschner, 10-10.2.1, 20-20.2
 
|Marschner, 10-10.2.1, 20-20.2
 
|<!--[https://docs.google.com/presentation/d/1d2LqFDk8BSdMSR3pR-Ls1nsLwLLk47oFBmQ9rt0rbBY/edit?usp=sharing slides] [https://youtu.be/Yxp1f_E2teg recording]<br>-->
 
|<!--[https://docs.google.com/presentation/d/1d2LqFDk8BSdMSR3pR-Ls1nsLwLLk47oFBmQ9rt0rbBY/edit?usp=sharing slides] [https://youtu.be/Yxp1f_E2teg recording]<br>-->
Line 130: Line 130:
 
|style="background:rgb(102, 204, 255)"|9
 
|style="background:rgb(102, 204, 255)"|9
 
|Mar. 8
 
|Mar. 8
|Shading
+
|
|Diffuse, specular reflection, Gouraud/Phong shading details; OpenGL, GLSL shading methods
+
|
 
|Marschner, 10-10.2.2; [http://www.opengl-tutorial.org/beginners-tutorials/tutorial-8-basic-shading/ OpenGL tutorial #8]
 
|Marschner, 10-10.2.2; [http://www.opengl-tutorial.org/beginners-tutorials/tutorial-8-basic-shading/ OpenGL tutorial #8]
 
|<!--[https://docs.google.com/presentation/d/1VdJ9aFIqxLODLzLuHfh3WlpnWDQo_lh3CQRBJ7BeBok/edit?usp=sharing slides] [https://youtu.be/Lz_uasq9Ptw recording]-->
 
|<!--[https://docs.google.com/presentation/d/1VdJ9aFIqxLODLzLuHfh3WlpnWDQo_lh3CQRBJ7BeBok/edit?usp=sharing slides] [https://youtu.be/Lz_uasq9Ptw recording]-->
Line 137: Line 137:
 
|10
 
|10
 
|Mar. 10
 
|Mar. 10
|Textures
+
|
|Finish shading/lighting; texture-mapping basics, bump mapping
+
|
 
|Marschner, 11.2, 11.4 (homogeneous division material--not barycentric coords), 11.5 <!--; Red book, 9 (through "Assigning texture coordinates")    -->
 
|Marschner, 11.2, 11.4 (homogeneous division material--not barycentric coords), 11.5 <!--; Red book, 9 (through "Assigning texture coordinates")    -->
 
|<!--[https://docs.google.com/presentation/d/1GsstwVkaTZwBkBasnDgfR53cYSoQWc12AowIXB8yJgw/edit?usp=sharing slides] [https://youtu.be/eF8Y9lmXdJc recording]-->
 
|<!--[https://docs.google.com/presentation/d/1GsstwVkaTZwBkBasnDgfR53cYSoQWc12AowIXB8yJgw/edit?usp=sharing slides] [https://youtu.be/eF8Y9lmXdJc recording]-->
Line 144: Line 144:
 
|style="background:rgb(102, 204, 255)"|11
 
|style="background:rgb(102, 204, 255)"|11
 
|Mar. 15
 
|Mar. 15
|Textures<!--Motion/simulation-->
+
|
|Texturing pipeline, bump maps, lightmaps, environment maps, shadow maps<!--Particle systems, flocking-->
+
|
 
|Marschner, 11.1.3-11.1.4, 11.3<!--Marschner, 16.7-->
 
|Marschner, 11.1.3-11.1.4, 11.3<!--Marschner, 16.7-->
 
|<!--[https://docs.google.com/presentation/d/19aNHiFoJtplt1CTz0DSKYzGaY_X6xAHMeSi7nVl12E4/edit?usp=sharing slides] [https://youtu.be/Y_0KMPbe5p4 recording]-->
 
|<!--[https://docs.google.com/presentation/d/19aNHiFoJtplt1CTz0DSKYzGaY_X6xAHMeSi7nVl12E4/edit?usp=sharing slides] [https://youtu.be/Y_0KMPbe5p4 recording]-->
Line 153: Line 153:
 
|12
 
|12
 
|Mar. 17
 
|Mar. 17
|Midterm review
+
|
 
|
 
|
 
|
 
|
Line 162: Line 162:
 
|style="background:rgb(102, 204, 255)"|13
 
|style="background:rgb(102, 204, 255)"|13
 
|Mar. 22
 
|Mar. 22
|MIDTERM EXAM
+
|
 
|
 
|
 
|
 
|
Line 169: Line 169:
 
|14
 
|14
 
|Mar. 25
 
|Mar. 25
|Particle systems<!--; finish texturing -->
+
|
|Flocking; introduction to [https://pybullet.org/wordpress/ Bullet physics library]<!--; magnification/minification, mipmaps-->
+
|
 
|OpenGL tutorial on [http://www.opengl-tutorial.org/miscellaneous/clicking-on-objects/picking-with-a-physics-library/ clicking], [https://github.com/bulletphysics/bullet3/blob/master/docs/Bullet_User_Manual.pdf Bullet physics manual] (you don't have to read all of it, it's just for reference); Marschner, 11.1.3-11.1.4, 11.3
 
|OpenGL tutorial on [http://www.opengl-tutorial.org/miscellaneous/clicking-on-objects/picking-with-a-physics-library/ clicking], [https://github.com/bulletphysics/bullet3/blob/master/docs/Bullet_User_Manual.pdf Bullet physics manual] (you don't have to read all of it, it's just for reference); Marschner, 11.1.3-11.1.4, 11.3
 
|<!--[https://docs.google.com/presentation/d/1kzhFGQ4L6556np4ZIyBNwDn-IQvzUqzR0SCr_F_Yc7E/edit?usp=sharing slides] [https://youtu.be/fT4hFO2TDDk recording]<br>-->
 
|<!--[https://docs.google.com/presentation/d/1kzhFGQ4L6556np4ZIyBNwDn-IQvzUqzR0SCr_F_Yc7E/edit?usp=sharing slides] [https://youtu.be/fT4hFO2TDDk recording]<br>-->
Line 199: Line 199:
 
|15
 
|15
 
|Apr. 7
 
|Apr. 7
|Textures, clipping
+
|  
|Bilinear vs. nearest-neighbor filtering, magnification/minification, mipmaps; line and triangle clipping
+
|
|Marschner, 11.4.4-11.4.5
+
|  
 
|<!--[https://docs.google.com/presentation/d/10dfwmJvCTOjWdD54nQi9SwTmLnbbHr3eG52P96-VLOY/edit?usp=sharing slides] [https://youtu.be/uEUMuFTqWcE recording]-->
 
|<!--[https://docs.google.com/presentation/d/10dfwmJvCTOjWdD54nQi9SwTmLnbbHr3eG52P96-VLOY/edit?usp=sharing slides] [https://youtu.be/uEUMuFTqWcE recording]-->
 
<!--[https://docs.google.com/presentation/d/1H0tSJHr07SF8wG6LUxeL2e0_5jjCusG5HHGsYOZiAVM/edit?usp=sharing slides]-->
 
<!--[https://docs.google.com/presentation/d/1H0tSJHr07SF8wG6LUxeL2e0_5jjCusG5HHGsYOZiAVM/edit?usp=sharing slides]-->
Line 207: Line 207:
 
|style="background:rgb(102, 204, 255)"|16
 
|style="background:rgb(102, 204, 255)"|16
 
|Apr. 12
 
|Apr. 12
|Hidden surface elimination
+
|
|Backface culling, Z-buffering, painter's algorithm
+
|
 
|Marschner, 8.1.3-8.1.6,, 8.2-8.2.3, 8.4
 
|Marschner, 8.1.3-8.1.6,, 8.2-8.2.3, 8.4
 
|<!--[https://docs.google.com/presentation/d/1W_wpq2_qgLsqgfWbEJwAn-kNxUDU8PwLFxJ88iG4TQI/edit?usp=sharing slides] [https://youtu.be/8i-FN7WJM1c recording]<br>=-->''HW #3 due''
 
|<!--[https://docs.google.com/presentation/d/1W_wpq2_qgLsqgfWbEJwAn-kNxUDU8PwLFxJ88iG4TQI/edit?usp=sharing slides] [https://youtu.be/8i-FN7WJM1c recording]<br>=-->''HW #3 due''
Line 214: Line 214:
 
|17
 
|17
 
|Apr. 14
 
|Apr. 14
|Finish hidden surface elimination; line drawing
+
|
|BSP trees; DDA, midpoint line-drawing
+
|
 
|Marschner, 12.4, 8.1-8.1.1, 8.3
 
|Marschner, 12.4, 8.1-8.1.1, 8.3
 
|<!--[https://docs.google.com/presentation/d/1MX_ZHI8v2I66nM1fJjCWX4_hEsD5qZjGKB3s6q62pbQ/edit?usp=sharing slides] [https://youtu.be/QY59DK9PfQg recording]<br>-->[[CISC440_S2021_HW4|HW #4]]
 
|<!--[https://docs.google.com/presentation/d/1MX_ZHI8v2I66nM1fJjCWX4_hEsD5qZjGKB3s6q62pbQ/edit?usp=sharing slides] [https://youtu.be/QY59DK9PfQg recording]<br>-->[[CISC440_S2021_HW4|HW #4]]
Line 229: Line 229:
 
|19
 
|19
 
|Apr. 21
 
|Apr. 21
|Ray tracing
+
|
|Ray casting, intersection testing
+
|
 
|Marschner, 4
 
|Marschner, 4
 
|<!--[https://docs.google.com/presentation/d/1SVxn_vdDzClXHuCUwVbUX687463CZkTDKt9HeaRQWfE/edit?usp=sharing slides] [https://youtu.be/g6-E99EUBzg recording]-->
 
|<!--[https://docs.google.com/presentation/d/1SVxn_vdDzClXHuCUwVbUX687463CZkTDKt9HeaRQWfE/edit?usp=sharing slides] [https://youtu.be/g6-E99EUBzg recording]-->
Line 236: Line 236:
 
|style="background:rgb(102, 204, 255)"|20
 
|style="background:rgb(102, 204, 255)"|20
 
|Apr. 26
 
|Apr. 26
|Ray tracing
+
|
|Shadow rays (including soft shadows, ambient occlusion)
+
|
 
|Marschner, 4
 
|Marschner, 4
 
|<!--[https://docs.google.com/presentation/d/1rIPYy-Ei4bKeWkzLBvq1ZOJziLF0sDbplfDz8-RI5D8/edit?usp=sharing slides] [https://youtu.be/I-8Jqyy3N0Y recording]-->
 
|<!--[https://docs.google.com/presentation/d/1rIPYy-Ei4bKeWkzLBvq1ZOJziLF0sDbplfDz8-RI5D8/edit?usp=sharing slides] [https://youtu.be/I-8Jqyy3N0Y recording]-->
Line 243: Line 243:
 
|21
 
|21
 
|Apr. 28<br>''Withdraw deadline May 3''
 
|Apr. 28<br>''Withdraw deadline May 3''
|Ray tracing
+
|
|Reflections (including glossy), distributed/distribution ray tracing  
+
|   
 
|Marschner, 4
 
|Marschner, 4
 
|<!--[https://docs.google.com/presentation/d/1SvfLdCaRky7AzZVQrg6Z9hhDaP3ENOt_6tn5hCgXNXg/edit?usp=sharing slides] [https://youtu.be/2fpO6eacbnI recording]<br>''HW #4 due May 2''<br>-->[[CISC440_S2021_HW5|HW #5]]
 
|<!--[https://docs.google.com/presentation/d/1SvfLdCaRky7AzZVQrg6Z9hhDaP3ENOt_6tn5hCgXNXg/edit?usp=sharing slides] [https://youtu.be/2fpO6eacbnI recording]<br>''HW #4 due May 2''<br>-->[[CISC440_S2021_HW5|HW #5]]
Line 250: Line 250:
 
|style="background:rgb(102, 204, 255)"|22
 
|style="background:rgb(102, 204, 255)"|22
 
|May 3
 
|May 3
|Global illumination
+
|
|Finish refractions, super-sampling for anti-aliasing, spatial data structures
+
|
 
|Marschner, 4<!--, [http://nameless.cis.udel.edu/class_data/cg/jensen_photon_mapping_tutorial.pdf tutorial]-->
 
|Marschner, 4<!--, [http://nameless.cis.udel.edu/class_data/cg/jensen_photon_mapping_tutorial.pdf tutorial]-->
 
|<!--[https://docs.google.com/presentation/d/1N4dAL3zSVXg9vAQLLkjppdQKVgBTqrs6A2u_iw5oQcA/edit?usp=sharing slides] [https://youtu.be/k5pB5qale60 recording]-->
 
|<!--[https://docs.google.com/presentation/d/1N4dAL3zSVXg9vAQLLkjppdQKVgBTqrs6A2u_iw5oQcA/edit?usp=sharing slides] [https://youtu.be/k5pB5qale60 recording]-->
Line 258: Line 258:
 
|23
 
|23
 
|May 5
 
|May 5
|Global illumination
+
|
|Bidirectional ray tracing, photon mapping
+
|
 
|Marschner, 4, 12.3, 13.1, 13.4; [http://nameless.cis.udel.edu/class_data/cg/heckbert_bidirectional.pdf "Bidirectional Ray Tracing"] paper, [http://web.cs.wpi.edu/~emmanuel/courses/cs563/write_ups/zackw/photon_mapping/PhotonMapping.html photon mapping introduction], [http://www.cc.gatech.edu/~phlosoft/photon/ online demo]
 
|Marschner, 4, 12.3, 13.1, 13.4; [http://nameless.cis.udel.edu/class_data/cg/heckbert_bidirectional.pdf "Bidirectional Ray Tracing"] paper, [http://web.cs.wpi.edu/~emmanuel/courses/cs563/write_ups/zackw/photon_mapping/PhotonMapping.html photon mapping introduction], [http://www.cc.gatech.edu/~phlosoft/photon/ online demo]
 
|<!--[https://docs.google.com/presentation/d/1WH04rXH5x9uTjhsJtp12vP4OrncgaXxAcyqTRiKEaKI/edit?usp=sharing slides] [https://youtu.be/Q58G3JOhXvI recording]-->
 
|<!--[https://docs.google.com/presentation/d/1WH04rXH5x9uTjhsJtp12vP4OrncgaXxAcyqTRiKEaKI/edit?usp=sharing slides] [https://youtu.be/Q58G3JOhXvI recording]-->
Line 265: Line 265:
 
|style="background:rgb(102, 204, 255)"|24
 
|style="background:rgb(102, 204, 255)"|24
 
|May 10
 
|May 10
|Noise, bonus topic: animation basics
+
|
|Value/Perlin noise, rigging
+
|
 
|Marschner, 11.5.2-11.5.3, Orange book 15
 
|Marschner, 11.5.2-11.5.3, Orange book 15
 
|<!--[https://docs.google.com/presentation/d/12V2lICdn3lsYzNZxCt8KYqjWInHwQkvjTK_Z460Ysig/edit?usp=sharing slides] [https://youtu.be/C7tauARIF_s recording]-->
 
|<!--[https://docs.google.com/presentation/d/12V2lICdn3lsYzNZxCt8KYqjWInHwQkvjTK_Z460Ysig/edit?usp=sharing slides] [https://youtu.be/C7tauARIF_s recording]-->
Line 272: Line 272:
 
|25
 
|25
 
|May 12
 
|May 12
|Final review
+
|
 
|  
 
|  
 
|
 
|
Line 280: Line 280:
 
|style="background:rgb(102, 204, 255)"|26
 
|style="background:rgb(102, 204, 255)"|26
 
|May 17
 
|May 17
|SIGGRAPH videos
+
|
 
|  
 
|  
 
|
 
|

Revision as of 09:34, 13 January 2022

Course information

Description CISC 849 -- Ethical Issues in Robotics and AI


An examination of issues raised by recent and expected advances in robotic and artificially intelligent (AI) systems, from the perspective of both their designers/creators and members of society generally. We will briefly cover the history and current state of robotics and AI, review relevant philosophical foundations and professional guidelines for engineers, and examine a number of topic areas. These include workplace safety, robots as caregivers and companions, surveillance and data mining, driverless cars, drones and autonomous military systems, and super-intelligent game-players. The format will focus on discussion and analysis of case studies in each topic area, as well as broader economic and social impacts.

Instructor Christopher Rasmussen
E-mail: cer@cis.udel.edu
Office: Smith 446
Office hours: ??
Web page http://nameless.cis.udel.edu/class_wiki/index.php/CISC849_S2022
Shortened URL http://goo.gl/Vmrozg
Schedule Tuesdays and Thursdays from 2 pm to 3:15 pm in ???
Grading
  • 20% Analytical paper, due Oct. 11
  • 20% Presentation, given between Oct. 25 and Nov. 1
  • 30% Final project, alone or team of two. Proposal due Nov. 13, presentations Dec. 4-6
  • 30% Class participation. This includes attendance and how much you talk, but also the quality of what you say

For the presentation, each student will choose a real or hypothetical case/topic involving robotics/AI ethics issues. In 15-20 minutes, you will orally deliver a summary of the topic, outline the ethical issues and stakeholders, and ask the class several questions designed to initiate discussion. Visual aids (i.e., slides) are not required, but may be used for clarity. Presentation subjects must not be too similar to topics already in the syllabus, so you must get instructor approval after choosing a presentation date.

The project will involve a written and presentation component. Similar to the presentation, you will pick a topic (with instructor permission) to summarize and analyze. In fact, if you choose you may use the same topic as your presentation. However, here slides will be required, and you will also be asked to propose a technical "solution" that mitigates one or more ethical concerns related to the topic. The design and justification of this "solution" will constitute the bulk of the deliverables for the project.

All homework artifacts (papers, slides) must be submitted via e-mail to the instructor by midnight of the deadline day (with a grace period of a few hours afterward).

Students can discuss problems with one another in general terms, but must work independently on all assignments except the final project. This also applies to online and printed resources: you may consult them as references (as long as you cite them), but the words you turn in must be yours alone. Any quoting must be clear and appropriately cited--plagiarism in any form will not be tolerated. The University's policies on academic dishonesty are set forth in the student code of conduct here.

For the overall course grade, a preliminary absolute mark will be assigned to each student based on the percentage of the total possible points they earn according to the standard formula: A = 90-100, B = 80-90, C = 70-80, etc., with +'s and -'s given for the upper and lower third of each range, respectively. Based on the distribution of preliminary grades for all students (i.e., "the curve"), the instructor may increase these grades monotonically to calculate final grades. This means that your final grade can't be lower than your preliminary grade, and your final grade won't be higher than that of anyone who had a higher preliminary grade.

I will try to keep you informed about your standing throughout the semester. If you have any questions about grading or expectations at any time, please feel free to ask me.

Book sources

Links/readings

Schedule

Note: The blue squares in the "#" column below indicate Tuesdays.

# Date Topic Notes Readings Assignments/slides
1 Feb. 8 Marschner, 1-1.4
2 Feb. 10 Marschner, 2.4, 5.2-5.2.2, 6-6.3 (skip 6.1.6, 6.2.1-6.2.2), 16.2.2
3 Feb. 15 Marschner, 6.5-7.2
4 Feb. 17

Add/drop deadline Feb. 26

Marschner, 7.3, 7.5; OpenGL tutorials #1 (including installation instructions), #3

HW #1

5 Feb. 22
Marschner, 17-17.7, 17.9-17.11
6 Feb. 24 OpenGL tutorial #6
7 Mar. 1 Marschner, 17.8; Orange book Chaps. 2-5 HW #1 due
8 Mar. 3 Marschner, 10-10.2.1, 20-20.2

HW #2

9 Mar. 8 Marschner, 10-10.2.2; OpenGL tutorial #8
10 Mar. 10 Marschner, 11.2, 11.4 (homogeneous division material--not barycentric coords), 11.5
11 Mar. 15 Marschner, 11.1.3-11.1.4, 11.3
12 Mar. 17 HW #2 due
13 Mar. 22
14 Mar. 25 OpenGL tutorial on clicking, Bullet physics manual (you don't have to read all of it, it's just for reference); Marschner, 11.1.3-11.1.4, 11.3

HW #3

Mar. 29 NO CLASS
Spring break
Mar. 31 NO CLASS
Spring break
Apr. 5 NO CLASS
Instructor away
15 Apr. 7
16 Apr. 12 Marschner, 8.1.3-8.1.6,, 8.2-8.2.3, 8.4 HW #3 due
17 Apr. 14 Marschner, 12.4, 8.1-8.1.1, 8.3 HW #4
18 Apr. 19 A little Blender, shape modeling Bezier curves and surfaces, Catmull-Rom splines, subdivision Marschner, 15-15.6.1 (ignore material on knots, Hermite form)
19 Apr. 21 Marschner, 4
20 Apr. 26 Marschner, 4
21 Apr. 28
Withdraw deadline May 3
Marschner, 4 HW #5
22 May 3 Marschner, 4
23 May 5 Marschner, 4, 12.3, 13.1, 13.4; "Bidirectional Ray Tracing" paper, photon mapping introduction, online demo
24 May 10 Marschner, 11.5.2-11.5.3, Orange book 15
25 May 12

HW #5 due

26 May 17
May 17-18 HW #5 demos demo sign up link will be here
May 19-26 FINAL EXAMS