CS101 Final Exam #3 Topics
The final exam will be a take home exam. It will
be posted online Monday at 4:00 PM and you will have until Tuesday at 4:00 PM to
turn it in via Blackboard (just like you are submitting a homework
assignment). There will be some short answer questions and
mostly programs to write in Alice. I will be available for any questions
during the final exam period of 1:00 
4:00 PM if
any question is unclear.
The final exam is really a third midterm. It is
worth the same amount as the other midterms and
only covers material
since the second midterm.
Theory of
Computation

Understand what a finite state
automaton is;

Given a finite state automaton, describe what it
is doing

Given a problem, create a finite state automaton to
model it

Understand what a
grammar is;

Concept of a
Turing Machine

The Halting Problem and why it
is unsolvable

What does it mean for a problem to be in class P or in
class NP
Artificial
Intelligence
 Know what the Turing Test is
 The Physical Symbol hypothesis
 Concept of state space search
 Searching for a solution to the water jug problem
 How computers play games like chess by looking
ahead multiple moves
 Concept of a neural network
 Concept behind genetic algorithms
Alice
 Understanding the Alice IDE (the program) with the
different windows for events, properties, object tree, etc.
 Generating a sequence of instructions corresponding
to a scene
 Basic methods for each object (move, turn, roll) from
perspective of the object
 Properties of objects
 Flowcharts
 Storyboards
 Using mathematical expressions
 Functions on the world object and other objects
 distance to, <, >, ==, etc.
 Ifelse statements
 Using relational operators from the world
function
 Loop and While
 Nested blocks (blocks within blocks, e.g. an if
statement inside a loop)
 Random numbers
 Concept of inheritance
 Creating methods
 Where methods should be created, world vs. object
 Using parameters with a method;
specifying the type; sending in values for the parameters when invoking the
method
 Multiple parameters
 Creating and using events