Difference between revisions of "BTP300 Weekly Schedule 20113"

From CDOT Wiki
Jump to: navigation, search
(To Do)
(Week 8 - Oct 30)
 
(36 intermediate revisions by the same user not shown)
Line 7: Line 7:
 
* [https://cs.senecac.on.ca/~btp300/pages/content/overv.html More C++]
 
* [https://cs.senecac.on.ca/~btp300/pages/content/overv.html More C++]
 
* [https://cs.senecac.on.ca/~btp300/pages/content/macro.html The Pre-Processor]
 
* [https://cs.senecac.on.ca/~btp300/pages/content/macro.html The Pre-Processor]
 +
** [https://cs.senecac.on.ca/~btp300/pages/handouts/h1.html Handout on Macros]
 
* [https://cs.senecac.on.ca/~btp300/pages/content/names.html User Interface]
 
* [https://cs.senecac.on.ca/~btp300/pages/content/names.html User Interface]
  
 
=== To Do ===
 
=== To Do ===
# Download [http://acs.senecac.on.ca/ Visual Studio 2010] from ACS and install it on your local computer.
+
* Download [http://acs.senecac.on.ca/ Visual Studio 2010] from ACS and install it on your local computer
 +
* Install the [https://cs.senecac.on.ca/~chris.szalwinski/resources/borland.html Borland] compiler
 +
* Install [https://cs.senecac.on.ca/~chris.szalwinski/resources/putty.html puTTY] to communicate with matrix
 +
* Start [https://cs.senecac.on.ca/~btp300/pages/assignments/a1.html Assignment 1]
  
 
=== Resources ===
 
=== Resources ===
Line 17: Line 21:
 
=== This Week ===
 
=== This Week ===
 
* [https://cs.senecac.on.ca/~btp300/pages/content/scala.html Primitive Types]
 
* [https://cs.senecac.on.ca/~btp300/pages/content/scala.html Primitive Types]
 +
** [https://cs.senecac.on.ca/~btp300/pages/handouts/h4.html Handout on Types and Specifiers]
 +
** [https://cs.senecac.on.ca/~btp300/pages/handouts/h5.html Handout on Generic Pointers]
  
 
=== To Do ===
 
=== To Do ===
* [[https://cs.senecac.on.ca/~btp300/pages/workshops/w1.html Workshop 1]]
+
* Start [https://cs.senecac.on.ca/~btp300/pages/workshops/w1.html Workshop 1]
* [[https://cs.senecac.on.ca/~btp300/pages/assignments/a1.html Assignment 1]]
+
* Continue working on [https://cs.senecac.on.ca/~btp300/pages/assignments/a1.html Assignment 1]
  
 
=== Resources ===
 
=== Resources ===
 +
* [https://cs.senecac.on.ca/~btp300/pages/handouts/h8.html Handout on IEEE 754]
  
 
== Week 3 - Sep 18 ==
 
== Week 3 - Sep 18 ==
 
=== This Week ===
 
=== This Week ===
 
* [https://cs.senecac.on.ca/~btp300/pages/content/opera.html Expressions]
 
* [https://cs.senecac.on.ca/~btp300/pages/content/opera.html Expressions]
 +
** [https://cs.senecac.on.ca/~btp300/pages/handouts/h9.html Handout on Postfix, Prefix, and Unary Expressions]
 +
** [https://cs.senecac.on.ca/~btp300/pages/handouts/h10.html Handout on Binary Expressions]
  
 
=== To Do ===
 
=== To Do ===
 +
* Start [https://cs.senecac.on.ca/~btp300/pages/workshops/w2.html Workshop 2]
 +
* Continue working on [https://cs.senecac.on.ca/~btp300/pages/assignments/a1.html Assignment 1]
  
 
=== Resources ===
 
=== Resources ===
Line 35: Line 46:
 
=== This Week ===
 
=== This Week ===
 
* [https://cs.senecac.on.ca/~btp300/pages/content/cppfn.html Functions]
 
* [https://cs.senecac.on.ca/~btp300/pages/content/cppfn.html Functions]
 +
** [https://cs.senecac.on.ca/~btp300/pages/handouts/h12.html Handout on Pointers to Functions]
 +
** [https://cs.senecac.on.ca/~btp300/pages/handouts/h13.html Handout on Variadic Functions]
 
* [https://cs.senecac.on.ca/~btp300/pages/content/class.html Programmer-Defined Types]
 
* [https://cs.senecac.on.ca/~btp300/pages/content/class.html Programmer-Defined Types]
 +
** [https://cs.senecac.on.ca/~btp300/pages/handouts/h7.html Handout on Union Types]
 +
* Wikis
 +
** Introduction
 +
** Project Tracking
  
 
=== To Do ===
 
=== To Do ===
* Workshop
+
* Start [https://cs.senecac.on.ca/~btp300/pages/workshops/w3.html Workshop 3]
  
 
* Project
 
* Project
 
** Add your name and information to [[BTP300Student List 20113]]
 
** Add your name and information to [[BTP300Student List 20113]]
** Form Teams, identify team members (4-5 members) and add your team and its members to [[BTP300 Teams 20113]] ''' By Friday 30th'''.
+
** Form teams, identify team members (4-5 members) and add your team and its members to [[BTP300 Teams 20113]] ''' By Friday 30th'''.
  
 
=== Resources ===
 
=== Resources ===
* Lecture Material
+
* Wikis
* Wiki
 
 
** [http://en.wikipedia.org/wiki/Wikipedia:How_to_edit_a_page How To edit Wiki pages]
 
** [http://en.wikipedia.org/wiki/Wikipedia:How_to_edit_a_page How To edit Wiki pages]
 
** [http://en.wikipedia.org/wiki/Wikipedia:Cheatsheet How To edit Wiki Cheatsheet]
 
** [http://en.wikipedia.org/wiki/Wikipedia:Cheatsheet How To edit Wiki Cheatsheet]
Line 52: Line 68:
 
== Week 5 - Oct 2 ==
 
== Week 5 - Oct 2 ==
 
=== This Week ===
 
=== This Week ===
 +
* Quiz 1
 +
* [https://cs.senecac.on.ca/~btp300/pages/content/class.html Programmer-Defined Types] (continued)
 +
** [https://cs.senecac.on.ca/~btp300/pages/handouts/h14.html Handout on Class Variables and Class Methods]
 
* [https://cs.senecac.on.ca/~btp300/pages/content/abstr.html Abstract Base Classes]
 
* [https://cs.senecac.on.ca/~btp300/pages/content/abstr.html Abstract Base Classes]
* [https://cs.senecac.on.ca/~btp300/pages/content/minhe.html Multiple Inheritance]
 
 
* [[Hints for Using SVN to collaborate on school projects]] (demo in class)
 
* [[Hints for Using SVN to collaborate on school projects]] (demo in class)
  
 
=== To Do ===
 
=== To Do ===
# Download [http://tortoisesvn.net/downloads Tortoise SVN] and install it on your local computer.
+
* Prepare your repository for your team members to start working on Assignment 2
 +
* Read [https://scs.senecac.on.ca/~btp300/assignments/a2.html Assignment 2] and allocate the responsibilities amongst the team members
 +
* Download [http://tortoisesvn.net/downloads Tortoise SVN] and install it on your local computer.
  
 
=== Resources ===
 
=== Resources ===
Line 74: Line 94:
 
* [http://tortoisesvn.net/docs/release/TortoiseSVN_en/index.htmlTortoiseSVN TortoiseSVN Documentation]
 
* [http://tortoisesvn.net/docs/release/TortoiseSVN_en/index.htmlTortoiseSVN TortoiseSVN Documentation]
  
<!--
 
 
== Week 6 - Oct 9 ==
 
== Week 6 - Oct 9 ==
 
=== This Week ===
 
=== This Week ===
* [https://cs.senecac.on.ca/~btp300/pages/content/2dmat.html 2D Mathematics (continued)]
+
* [https://cs.senecac.on.ca/~btp300/pages/content/minhe.html Multiple Inheritance]
** Matrix transformations
+
** [https://cs.senecac.on.ca/~btp300/pages/handouts/h19.html Handout on Multiple Inheritance]
* [https://cs.senecac.on.ca/~btp300/pages/content/3dmat.html 3D Mathematics]
+
* review of handout
** Coordinate Systems
+
** order of construction and destruction (base, derived, derived as listed)
** Vectors
+
** early and late binding (increment() call)
** Transformations
+
* review of inheritance
*** World Transformations
+
** private, protected, public
*** Camera Transformations
+
** order of construction and destruction
*** Projection Transformations
+
** shadowing
** Math Library
+
** compile-time and run-time binding
** Direct3D Utilities
 
* [https://cs.senecac.on.ca/~btp300/pages/content/basic.html Graphics Primitives]
 
** Graphics Primitive display paradigm
 
** Vertex buffers
 
** Implementing world, view, and projection transformations
 
  
 
=== To Do ===
 
=== To Do ===
* Practice transforming a vector using a matrix
+
* complete Workshop 4
* Practice matrix multiplication
+
* start working on assignment 2
* Workshop Exercise
+
* start studying for mid-term
** Checkout the SimpleSprites sample on the repository
 
** Add the missing code to this sample - three sprite image files are included
 
** Draw/Move the three sprite images down and to the right on the screen
 
** When the three images fall off the screen start drawing them at the other end
 
** Add suspend logic to handle loss of focus
 
** Refer to the DirectX documentation for descriptions of the function calls
 
  
 
=== Resources ===
 
=== Resources ===
* Lecture Material
+
* [http://zenit.senecac.on.ca/wiki/index.php/BTP300_Student_Resources#Useful_pseudo_code Assignment 2 pseudo-code]
** DirectX documentation as installed on your local computer
 
** [http://msdn.microsoft.com/en-us/library/ MSDN Library]
 
* Projects
 
** [http://subversion.tigris.org/ Subversion (SVN)]
 
** [http://tortoisesvn.net/downloads Download Page of TortoiseSVN]
 
** [http://tortoisesvn.net/docs/release/TortoiseSVN_en/index.htmlTortoiseSVN Documentation]
 
** [http://svnbook.red-bean.com/ SVN book at red-bean.com] or download[https://cs.senecac.on.ca/~fardad.soleimanloo/oop344/notes/svn-book.pdfthe PDF from here].
 
** [http://ankhsvn.open.collab.net/ AnkhSVN - Free Visual Studio SVN Integration Alternative To VisualSVN]
 
  
 
== Week 7 - Oct 16 ==
 
== Week 7 - Oct 16 ==
Line 119: Line 119:
 
=== This Week ===
 
=== This Week ===
  
 +
* [https://cs.senecac.on.ca/~btp300/pages/content/kinds.html Kinds of Polymorphism]
 +
** ad-hoc (coercion and overloading)
 +
** universal (inclusion and parametric)
 +
** dynamic run-time identification
 +
* [https://cs.senecac.on.ca/~btp300/pages/content/param.html Templates]
 +
** [https://cs.senecac.on.ca/~btp300/pages/handouts/h18.html Handout on Templates]
 
* Mid-Term Test
 
* Mid-Term Test
* [https://cs.senecac.on.ca/~btp300/pages/content/basic.html Graphics Primitives (continued)]
+
** two full periods
** Model Branch
+
** two questions - one walkthrough, one word problem
*** Scene Component
+
** course textbook
**** Scene Coordinator
+
** one study sheet both sides
**** Frame Base Class
 
**** Object Base Class
 
***** Box Derived Class
 
***** Grid Derived Class
 
*** Viewing Component
 
**** Viewing Coordinator
 
**** Camera Class
 
*** Design Component
 
** Direct-Device Branch
 
*** Graphics Card Component
 
**** Display Portal
 
**** Graphic Class
 
**** VertexList Class
 
  
 
=== To Do ===
 
=== To Do ===
 +
* continue working on assignment
  
# Checkout 7-Graphics Primitives
+
=== Resources ===
# Run Graphics Primitive Sample
 
# Derive a Plane Object from abstract base class Object
 
  
=== Resources ===
 
* Lecture Material
 
** DirectX documentation as installed on your local computer
 
** [http://msdn.microsoft.com/en-us/library/ MSDN Library]
 
  
 
== Week 8 - Oct 30 ==
 
== Week 8 - Oct 30 ==
Line 153: Line 141:
 
=== This Week ===
 
=== This Week ===
  
* Mathematics (addendum to course notes)
+
* [https://cs.senecac.on.ca/~btp300/pages/content/aggre.html More on Arrays]
** Planes
+
** one-dimensional - static and dynamic
** Collisions
+
** two-dimensional - static and dynamic
*** Planes
+
** ragged arrays
*** Spheres
+
** Practice on [https://cs.senecac.on.ca/~btp300/pages/handouts/h6.html Two-Dimensional Arrays]
* [https://cs.senecac.on.ca/~btp300/pages/content/3dren.html Visibility]
+
* [https://cs.senecac.on.ca/~btp300/pages/content/linkl.html Lists]
** Culling Techniques
+
** stacks
*** Occlusion culling
+
** queues
**** Painter's algorithm
+
** doubly linked lists
**** Depth Buffering
+
** Practice on [https://cs.senecac.on.ca/~btp300/pages/handouts/h15.html Linked Lists]
** Direct Device Branch
+
* [https://cs.senecac.on.ca/~btp300/pages/assignments/a3.html Assignment 3] - Overview
*** Graphics Card Component
 
**** Display Portal
 
* [https://cs.senecac.on.ca/~btp300/pages/content/light.html Lighting]
 
** Model Branch
 
*** Lighting Component
 
**** Lighting coordinator
 
**** Light primitive
 
** Direct Device Branch
 
*** Graphics Card component
 
**** Display portal
 
**** DeviceLight primitive
 
  
 
=== To Do ===
 
=== To Do ===
 +
* Start [https://cs.senecac.on.ca/~btp300/pages/workshops/w3.html Workshop 5 on Templates]
 +
* Start working on [https://cs.senecac.on.ca/~btp300/pages/assignments/a3.html Assignment 3]
 +
** Read specifications and discuss with team members
 +
** Upgrade code from assignment 2 to prepare for new classes
 +
*** Configuration File
 +
*** consolelineedit.cpp
 +
*** CFrame
 +
*** CField
  
# Checkout 8-Visibility
+
=== Resources ===
# Run Visibility Sample
 
# Derive a Plane Object from abstract base class Object
 
  
=== Resources ===
 
* Lecture Material
 
** DirectX documentation as installed on your local computer
 
** [http://msdn.microsoft.com/en-us/library/ MSDN Library]
 
  
 
== Week 9 - Nov 6 ==
 
== Week 9 - Nov 6 ==
Line 191: Line 170:
 
=== This Week ===
 
=== This Week ===
  
* [https://cs.senecac.on.ca/~btp300/pages/content/light.html Lighting (continued)]
+
* [https://scs.senecac.on.ca/~btp300/pages/content/stdtl.html Standard Library]
** Direct Device Branch
+
** Vectors
*** Graphics Card component
+
** Deques
**** DeviceLight primitive
+
** Iterators
* [https://cs.senecac.on.ca/~btp300/pages/content/textu.html Texturing]
+
** Lists
** Texture Coordinates
+
** Algorithms
** Magnification
+
** String Class
** Minification
+
** Practice on [https://cs.senecac.on.ca/~btp300/pages/handouts/h15.html Standard Template Library]
** Sampling
+
* [https://scs.senecac.on.ca/~btp300/pages/content/files.html File Streams]
*** Nearest-Neighbour
+
** ios Class Hierarchy
*** BiLinear
+
** Buffering
*** Anisotropic
+
** File Objects
** Model Branch
+
** Reading and Writing
*** Scene Component
+
** Practice on [https://cs.senecac.on.ca/~btp300/pages/handouts/h16.html Files Objects]
**** Texture Element
+
** Binary Access
*** Design Component
+
** Practice on [https://cs.senecac.on.ca/~btp300/pages/handouts/h17.html Binary Access]
** Direct Device Branch
 
*** Graphics Card Component
 
**** Display Portal
 
**** VertexList Element
 
**** Graphic Element
 
**** DeviceTexture Element
 
  
 
=== To Do ===
 
=== To Do ===
 +
* Start [https://cs.senecac.on.ca/~btp300/pages/workshops/w7.html Workshop 7 on Linked Lists]
 +
* Continue working on [https://cs.senecac.on.ca/~btp300/pages/assignments/a3.html Assignment 3]
 +
** CValidLine
 +
** CSwitch
 +
** CMenuItem
 +
 +
=== Resources ===
  
# Checkout 9-Lighting
+
<!--
# Run Lighting Sample
+
== Week 10 - Nov 13 ==
# Checkout 10-Texturing
+
 
# Run Texturing Sample
+
=== This Week ===
 +
 
 +
* [https://scs.senecac.on.ca/~btp300/pages/content/strin.html String Stream]
 +
** ios Class Hierarchy
 +
** String Stream Objects
 +
** Practice on [https://cs.senecac.on.ca/~btp300/pages/handouts/h15.html Standard Template Library]
 +
* [https://scs.senecac.on.ca/~btp300/pages/content/inclu.html Platform-Dependent Libraries]
 +
** Principles
 +
** User-Interface Library
 +
** Unified Implementation
 +
** Non-ASCII Keys
 +
 
 +
=== To Do ===
 +
* Start [https://cs.senecac.on.ca/~btp300/pages/workshops/w8.html Workshop 8 on STL]
 +
* Continue working on [https://cs.senecac.on.ca/~btp300/pages/assignments/a3.html Assignment 3]
 +
** CBlock
 +
** CText
  
 
=== Resources ===
 
=== Resources ===
* Lecture Material
 
** DirectX documentation as installed on your local computer
 
** [http://msdn.microsoft.com/en-us/library/ MSDN Library]
 
  
 
-->
 
-->

Latest revision as of 07:36, 8 November 2011


BTP300 Fall 2011 | Weekly Schedule | Student List | Project Requirements | Teams and their Projects | Student Resources

Weekly Schedule 20113

Week 1 - Sep 4

This Week

To Do

Resources

Week 2 - Sep 11

This Week

To Do

Resources

Week 3 - Sep 18

This Week

To Do

Resources

Week 4 - Sep 25

This Week

To Do

Resources

Week 5 - Oct 2

This Week

To Do

  • Prepare your repository for your team members to start working on Assignment 2
  • Read Assignment 2 and allocate the responsibilities amongst the team members
  • Download Tortoise SVN and install it on your local computer.

Resources

Week 6 - Oct 9

This Week

  • Multiple Inheritance
  • review of handout
    • order of construction and destruction (base, derived, derived as listed)
    • early and late binding (increment() call)
  • review of inheritance
    • private, protected, public
    • order of construction and destruction
    • shadowing
    • compile-time and run-time binding

To Do

  • complete Workshop 4
  • start working on assignment 2
  • start studying for mid-term

Resources

Week 7 - Oct 16

This Week

  • Kinds of Polymorphism
    • ad-hoc (coercion and overloading)
    • universal (inclusion and parametric)
    • dynamic run-time identification
  • Templates
  • Mid-Term Test
    • two full periods
    • two questions - one walkthrough, one word problem
    • course textbook
    • one study sheet both sides

To Do

  • continue working on assignment

Resources

Week 8 - Oct 30

This Week

To Do

  • Start Workshop 5 on Templates
  • Start working on Assignment 3
    • Read specifications and discuss with team members
    • Upgrade code from assignment 2 to prepare for new classes
      • Configuration File
      • consolelineedit.cpp
      • CFrame
      • CField

Resources

Week 9 - Nov 6

This Week

To Do

Resources