What’s the Best Text Editor?
Students ask, “What’s the best text editor?” When talking about superlatives like best and worst, we really have to narrow down our scope to have meaningful discussion. You simply can’t say, “They’re the best band ever!” You’ve not gone through all of time and figured that out. Even if we could travel through time, there’s […]
CS 330 Lecture 30 – Overloading Builtin Operators
Agenda what ?s what does this do? a FasterString class operator<< friend operator[] operator+ operator* operator+= on parity TODO Read http://weblogs.java.net/blog/cayhorstmann/archive/2011/12/06/operator-overloading-considered-challenging?utm_source=feedly. No quarter sheet. Code refs.cpp Vector3.cpp FasterString.cpp Haiku
CS 455 Lecture 20 – Fog and More Billboards
Before Class Fog Watch http://youtu.be/lAQFNWy6YhA. Watch http://youtu.be/iYnUxJkv6bc. Read section Simulating Fog in chapter 3, pp. 100-104. More Billboards Watch http://youtu.be/TyLlEyV_WLo. Watch http://youtu.be/AeNTr1GPJMY. In Class Please work on your homework features.
CS 330 Lecture 29 – Virtuality in C++ and Overloading Builtin Operators
Agenda what ?s no class Friday program this http://www.parashift.com/c++-faq/refs-vs-ptrs.html cosmic superclass overriding with virtual implementing Polynomial::solve pure virtual the means of dynamic dispatch overloading builtin operators a FasterString class deconstructors Pulse Student evaluations are just numbers, but I like to hear anecdotes too. Please take a moment to think about how this course is run: […]
CS 455 Lecture 19 – Shadows and Billboards
Before Class Shadows Watch http://youtu.be/KoYuYdnwHFY. Read chapter 7, stopping before Anti-aliasing Shadow Edges with PCF, pp. 235-247. Impostors and Billboards Watch http://youtu.be/ADoHAg3lRIc. Watch http://youtu.be/aRbsBc7pI18. For another perspective, read http://www.flipcode.com/archives/Billboarding-Excerpt_From_iReal-Time_Renderingi_2E.shtml or http://nehe.gamedev.net/article/billboarding_how_to/18011/. In Class Please work on your homework features.
CS 330 Lecture 28 – C++ References and the Pillars of OOP
Agenda what ?s call-by-reference class Quadratic inheritance class Polynomial virtual polymorphism pure virtual/abstract class Function TODO Defeat homework. No quarter sheet. Code Functions.h Functions.cpp graph.cpp makefile Note to copy and pasters: makefile rules need to be indented with real tabs, not spaces. Haiku
CS 330 Lecture 27 – List Comprehensions and On To C++
Agenda what ?s list comprehensions in Haskell functional vs. non-functional OOP vs. non-OOP imperative the pillars of OOP (encapsulation, inheritance, polymorphism) initialization lists a polynomial hierarchy TODO Read http://hacksoflife.blogspot.com/2010/12/what-oop-isnt.html. Read the comments too. Agree or disagree? Quarter sheet. Code vowels.hs listcomps.hs waaaaaaaaaaaa.hs Functions.h Functions.cpp graph.cpp makefile Note to copy and pasters: makefile rules need to be […]
CS 330 Lecture 26 – More Folding, Composing, Custom Data Types
Agenda more folding: join, length, map, find, filter folding on 1+ lists: min, max composing: countOvers, any, all custom data types: an expression hierarchy making something an Ord TODO Read chapter 9 through section 9.2.2. Quarter sheet. Code today.hs Haiku
CS 330 Lecture 25 – Currying and The One-Liner
Agenda what ?s what does this do? the Maybe/Option type currying and how to read Haskell function specifications find’ in an association list/hash point-free style foldl and foldr or’ and’ sum’ product’ min’ foldr1′ max’ join’ length’ average’ map’ countOvers composing functions any’ all’ TODO Play. And homework. What Does This Do? Code today.hs Haiku
CS 455 Lecture 18 – Projective Texturing and Geometry Shaders
Before Class Projective Texturing Watch http://youtu.be/sEY78iaPNCU. Read section Applying a Projected Texture in chapter 4, pp. 138-143. Geometry Shaders Watch http://youtu.be/altB6G6_bTY. Watch http://youtu.be/O7Xd5csI0Oo. Watch http://youtu.be/AM8RXjdZ8w4. Watch http://youtu.be/ppdCZiiG8aQ. In Class Please work on your homework features.