Revise for next time:
- Getting used to the website is still tricky. Find a way to
streamline this more
- Maybe separate out the 'one time setup'
- The intellectual core, data types and expression evaluation,
could be strengthened. Maybe remove the DT exercise about
copying over min/max values and add more exercises about choosing
the right one(s). Maybe have them do this in groups online?
It would be better to explain the generic expression evaluation
algorithm and then have them execute it with lotsa' different
operators (then make up their own expressions)
- data type selection, expression evaluation
- Algorithm for evaluation focusing on using that chart
(maybe throw in modulus, along with a link to a page that
will calculate that for you?)
- Data type promotion within evaluated expressions
- Analyze problems in expressions?
- Formulate novel expressions?
-
Start Looking At The
Take-Home Midterm Exam This class will have a
take-home midterm exam (but an IN-PERSON FINAL EXAM).
For this week start reading through the description of the
take-home exam so that you're able to prepare for the exam
as you do each week's lessons.
The take-home exam is going to focus primarily on your
ability to explain how general programming concepts are used
to make a particular program work, so it's probably a good
idea to start thinking about (and maybe even
outlining/taking notes on) each concept/topic that we see
now (so you can use these outlines on the exam)
-
Here's an overall description of the take-home midterm.
Skim through it so that you're familiar with how this
process will work, overall.
-
For this week, look over the
example answer,
the per-question rubric
that will be used to evaluate your answers
Read through these in detail, so that you know what the instructor is
expecting from your answers.
As you work through your weekly exercises keep in mind that you'll need to
write answers like the
example answer on
the midterm - you may want to take notes (or even make outlines) of the
topics in the weekly work so that you'll be able to make use of them during
the take-home midterm.
|
Former exercises for this lesson:
-
Orientation To
Video Games
Get
familiar with
the video games
that we'll be
using in this
course.
-
Exercise:
Getting ready for video-game based programming:
Read and understand some basic background information.
(Required)
Note that there's nothing to hand-in for this exercise.
-
Exercise:
Getting ready for video-game based programming:
download, compile,
and run the BlockBreaker game. (Required)
Note that there's nothing to hand-in for this exercise BUT
you ARE required to post something to the Lesson 01/02
Discussion Forum saying that you got this to work OR that you
tried this but it doesn't work.
As I mentioned in class this didn't work so well last quarter.
I've made changes but it's possible that things still won't work
right. If you've spent, say, 30 minutes on this and it
doesn't work (and that includes time installing XNA, getting the
starter file, etc, etc) then post to the discussion forum, skip
this (and the other two game-themed exercses listed below) and
work on the other exercises instead).
-
Exercise:
Do exercise #1 in the
BlockBreaker "Game Overview" tutorial.(Required)
Note that there's nothing to hand-in for this exercise.
- Here's the text of the exercise. It's included
here to help you find it on the tutorial's page, but be
warned that the text will not normally be included here:
Because the purpose of this tutorial was to explain how
the game is played (without going into any details about the
underlying source code) there aren't many questions to be
asked about the program's source code. Instead, you should
make sure that you can download the project, open the
project using your IDE, compile the game, and run the game
program. You should then play the game for a short while,
in order to get a feel for how the gameplay works. You
should be able to remove at least ~10 blocks in less than 5
minutes, after which you should have a good idea how the
game is played.
Get Visual Studio
(this is the more up-to-date version)
|
Feedback / Improvements on exericses:
(Please ignore this - these are notes for myself for the
next iteration of this course) |
-
How to get VS: Dreamspark now provides a normal installer
instead of a .ISO
-
Basic Console I/O:
Include info about
formatting real numbers here, too? No - it'll show up in PCE 02,
after they've looked at the data types exercise at the end of
this lesson
-
Basic Arithmetic Operators
(Sect. 3.6, 3.8)
Feedback: More
emphasis on the divide by zero error?
-
Defining & Using
an Instance
Methods
(Hand-In) (Sect. 4.1-4.3
(mostly 4.3))
Feedback:
Call RunExercise
from where (Define_An... or Basic_Console_IO)
Make it clear where the class definitions go, make it
extra-clear where the objects should be created
-
Order Of Operations
(Hand-In) (End of Sect.
3.9, Appendix A)
More emphasis on how data
types change (int --> double, etc) as expression is evaluated?
-
Data Types
(Hand-In) (Sect.
5.11, Appendix L)
Talk about the various
types in-class next time
- Snag the videos from Lesson 02 for IntDiv & Modulus
|
Re-record voting:
-
How To Use My
Videos x2
(Add something
about OneDrive)
-
If, If/Else
x4
(coughing)(grainy)
-
Switch
x1 (shorter &
more concise)
-
Integer Division
x3
-
Modulus
(How does it
work,
mechanically?
x2
-
Modulus
(Effective usage
of it) x1
(more on bitwise
stuff?)
|
Brief explanation about how to use GG by email; mention that non-GMail
accounts can't see website