1 / 15

Welcome to CS123!

Welcome to CS123!. Mechanics. Your Staff. Professor: Andy van Dam ( avd ) Head TA: Wil Yegelwel ( wyegelwe ) 2014 Undergraduate TAs: Ben LeVeque ( bleveque ), 2014 -- Masters Ben Most ( bmost ), 2015 Brandon Montell ( bmontell ), 2015 Paavan Bhavsar ( pbhavsar ), 2014

tymon
Download Presentation

Welcome to CS123!

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Welcome to CS123! Mechanics 9/5/2013

  2. Your Staff • Professor: • Andy van Dam (avd) • Head TA: • WilYegelwel (wyegelwe) 2014 • Undergraduate TAs: • Ben LeVeque (bleveque), 2014 -- Masters • Ben Most (bmost), 2015 • Brandon Montell (bmontell), 2015 • PaavanBhavsar (pbhavsar), 2014 • Scott Houde (shoude), 2016 -- Masters 9/5/2013

  3. Who Should Take CS123? • Juniors or higher • CS15-16, CS17-18, or CS19 and CS32 • or equivalent, with strong software engineering skills (OO design and programming, debugging) • Sophomores • did well in intro sequence • consider themselves strong programmers • willing to put in extra time up front 9/5/2013

  4. Requirements Info • If you don’t know C++, you CAN take this class • additional time investment required early on • C++ help session TOMORROW at 8:00 PM in Motorola (CIT 165) • CS123 Java to C++ transition tutorial on course website (docs page) • TAs can help you with C++ issues on hours • Linear Algebra (vector and matrix arithmetic, dot and cross products) • help session to review these concepts (later on in the semester) • Consider taking Philip Klein’s CS53, Coding the Matrix: Linear Algebra through Computer Science Applications • If you’re not sure you should be in CS123 or have not met the prereqs, stay after class and see Wil or email cs123headtas@cs.brown.edu 9/5/2013

  5. Bird’s Eye View of the Course • Quick start: 2D and 3D graphics with OpenGL • 2D raster graphics • 2D modeling hierarchy • basic image transformations • Basic 3D scene management • tessellation of curved surfaces • transformations (translation, rotation, scale) • virtual camera model • Scene graph traversal 9/5/2013

  6. Bird’s Eye View of the Course • Modeling and Rendering • intersecting rays with simple solids • ray tracing • lighting and shadowing of polygonal models • radiosity for photorealistic rendering • GPU hardware rendering (GLSL) • Other Topics • color theory • animation • user interfaces 9/5/2013

  7. Workload • We don’t want a killer course but it will be intense • expect 15-20 hours of work per week • Course is front-loaded, lots to learn in the first three weeks • Independent final project • expect to put in a fair amount of time during reading period 9/5/2013

  8. Half Credit requirements • Most projects will include a section called half credit requirements • Those taking cs1234 will need to complete these requirements • Those not taking cs1234 can use the requirements as additional extra credit • Expect 7-10 additional hours of work • The half credit requirements can also be used to get grad credit • You do NOT need to show up at the 9am class time for CS1234 9/5/2013

  9. Handouts and Hand-ins • Course missive (online) • assignment deadlines and lecture topics are subject to change • responsible for info on course website: http://cs.brown.edu/courses/cs123 • mailing list for course updates – mail will be sent to your Brown CS e-mail address • Course guide (online) • Collaboration Policy • read collaboration policy carefully before you sign because it is a contract • we’re consistent with Brown’s academic code: all written work must be your own • acknowledged collaboration on high-level design is permitted; final project may be team work • MOSS – an AI program that is usually correct – we hand-check suspicious similarity 9/5/2013

  10. The Book • The textbook for this class is recommended, but not required • Most lectures will correspond to chapters in the book • An improved index has been linked on the site’s docs page 9/5/2013

  11. Assignments • 7 Programming Projects • Build up to a ray-tracing system • Additional requirements for half credit course • 10 Labs • Learn what modern graphics systems can do • Real-time computer graphics and GPU shaders • 3D interaction and UI • 1 Final Project • Do whatever you want! Could be real time (i.e., cool shader or two) or not (i.e. path tracer), procedural geometry, demoscene, small game… • You are encouraged to work in pairs 9/5/2013

  12. First Assignment • First assignment, Brush: warm-up exercise in C++ • Out NOW (start early, especially if you’re uncomfortable with C++, bring questions to help session tomorrow) • algorithm assignment due– Sunday, September 8, noon • hand in (on paper) in the cs123 bin on the second floor of the CIT • no late hand-ins accepted • Program due– Wednesday, September 11th, 11:59 pm 9/5/2013

  13. Projects • Brush – a 2d drawing program (intro to C++) • Shapes – procedural geometry • Filter – image processing • Camtrans – build your own OpenGL camera • Sceneview – 3d static scene viewer for OpenGL • Intersect – parametric shapes, ray-shape intersections • Ray – your own 3d rendering engine • each project is preceded by a short “algo” assignment, which ensures that you understand the concepts behind the project before starting to code 9/5/2013

  14. Labs –Thursday 4-6, Friday 6-8 • OpenGL 2D – build a simple pong game • OpenGL 3D – build an archery simulator • Animation – learn how to light and animate scenes with OpenGL • Terrain – generate a natural-looking world environment • GL VBOs– efficient rendering with vertex buffer objects • Particles– render flame, fluid, non-rigid objects • Shaders I – procedural texturing (snow, grass, etc.) • Shaders II – link c++to shadersand implement phong lighting • Shaders III – make objects look like glass and metal • Modeler– build a UI for composing a scene from primitive shapes • Lab assignments are due (checked off by a TA) before the next week’s lab 9/5/2013

  15. Final Project 9/5/2013

More Related