CS109 Final Exam Topics
The CS 109 final is open book and open notes and will be similar
to the midterm. You will be able to use a computer in the computer lab
or your own notebook if you wish. Come to the lab or my office
between 10 AM and 3 PM on Monday, 6/26. You will then have
two hours to finish the exam. Warning: Don't spend too
much time on the computer, or you may not finish the
exam. Since this class builds upon the material covered in the
first half of the course, the exam is comprehensive, but will focus on the
following topics:
Subroutines and Functions
-
How to define methods (i.e. subroutines and functions)
- Situation when it is appropriate to define a subroutine or function
- When should you make something a Sub and when a Function?
-
How to pass and return data from a function
-
Difference between ByRef and ByVal
-
Variable scoping with subroutines and functions
-
Difference between a variable defined at the class level vs. variable defined
in the subroutine
-
Good coding practice, at what level should variables be defined, and
why?
Loops
-
How to use while loops, for loops, do loop-until loops
-
Be able to convert code back and forth between loops
-
Concept of nested loops, using the value in the outer loop to control the inner
loop
Arrays
-
How to DIM a one-dimensional array or two-dimensional array, what range of
array values we can access
-
Using a loop to process items in an array
-
How to pass an array to a subroutine or function
-
Array is always passed ByRef even if ByVal is used!
Databases
- Concept of a relational database: tables linked through common
fields
- Benefits of using a database in your project
- What a SQL Select query is and adding a WHERE parameter
- A WHERE clause with = and LIKE with the wildcard %
- Sending a value from your application's form in as a parameter to a SQL
query
- What a dataset is and how it is generated from information in the
database
Objects (more conceptual coverage here than have you write
code)
-
How to define a class
-
Concept of making instances of a class using "New"
-
What a constructor does
-
Difference between variables or methods defined as "Public" vs. "Private" vs.
"Protected"
-
What a property is, with Get and Set
-
Why is it considered better to make variables private, with a public property
to access the private variable?
-
Concept of inheritance
-
Concept of overriding a subroutine or function
Misc
- Defining and using a List
-
Difference between a List and a regular Array
- Drawing simple graphics
-
DrawLine, FillRectangle, FillEllipse
-
RGB, getting and setting pixel colors