CS104 Final Test Review
Victor Norman
Calvin College
What is on the test?
Everything from the beginning of the semester. Especially…
Syntax errors.
Questions from previous tests.
Questions about classes, superclasses, objects, inheritance, constructors,
etc.
Early topics
Variables – what they mean, etc.
Assignment statements (vs. ==, lhs vs. rhs, etc.)
Operators: *, /, %, //, etc.
Basic types:
int
float
str
Functions, etc.
range()
Functions
function definitions
function calls
parameters, arguments.
return
What happens when you don’t return a value from a function.
return vs. print
Flow of control
For loops, etc.
Simple for loops
Syntax
Meaning
“Definite” iteration
range(len(<sequence>))
Item-based vs. Index-based loops
Boolean expressions
Boolean operators:
==, <=, in, etc.
Logical operators:
and, or, not
Complex boolean expressions
Containing multiple ands and ors.
If Statements
if, if-else, if-elif-else syntax and meaning.
if: one-way decision
if-else: two-way decision
if-elif-…-else: n-way decision
Nested if statements
While loops
“Indefinite” iteration
boolean expression evaluated every time,
body executed if the boolean expression is true.
Strings and Lists and Tuples
Mutability vs. immutability
implications of this.
Indexing (subscripting)
Slicing
Mutator methods on lists (like sort() and append())
Similarities and differences between lists and tuples
“” (or ‘’, or “”””””, or ‘’’’’’)
[]
(,)
Returning a tuple, and tuple assignment
Files, etc.
open() a file, reading from it, close() it.
File objects.
In function definitions: optional parameters with default values.
How print actually works.
evaluates its arguments
converts each to a string
outputs each, separated by a space
Classes and Objects
Lots of definitions
class definition
Object instantiation
Calling methods on objects.
Constructor definition.
Creating getters and setters.
Initializing object attributes (instance variables, state, etc.)
Classes and objects (2)
Overriding pre-defined special methods
__init__
__str__
__add__
etc.
Inheritance
What it means, and why it is useful.
How you code up inheritance.
Calling a superclass constructor.