Date & Time
Wednesday, April 5, 11:00am-12:15pm, PM 110
Overview
Test 2 will cover all material from the beginning of the semester
through testing but with an emphasis on material covered since Test 1
(including system integration). This material includes everything
discussed in lectures and covered in assignments, and aligns with
chapters 1-6 and 8-10 from the recommended text. We have covered some
additional topics the text has not, and we did not cover the data
science additions to each chapter. Because this is a programming
principles course, there will be questions related to principles as well
as questions that involve syntax. You may be asked to write, analyze,
and/or debug code.
Example Types of Questions
- Why are raw strings useful for regular expressions?
- How would you check if a string contains only digits?
- Which string operator gets rid of whitespace at the
end of a string?
- Which statement is a context manager associated with? Why is it
useful when writing to files?
- Why is it important to know which encoding a text file used?
- Why would you use the statement
if __name__ == "__main__"
in a script?
- What is the type of the entries in
sys.argv
? Suppose
you are writing a script that takes two arguments and computes their
sum; what may do you need to do before adding the arguments?
- What is a wildcard import in Python? Why should you avoid them in
general?
- What is the difference between a Python module and a Python
package?
- Create an inheritance hierarchy from the following classes: Vehicle,
Car, Truck, SportsCar, Sedan
- Given a definition of the Vehicle class, write a constructor for the
Car class that takes the number of doors as an argument and stores
it.
- Given a definition of a class, locate errors and detail fixes for
them.
- Given an instance
obj
which has initialized instance
fields var1
, _var2
, and __var3
,
which reference does not work? obj.var
,
obj._var2
, obj.__var3
?
- What is the difference between a class method and a static
method?
- What is duck typing?
- When handling an exception, why is using a bare except clause
problematic?
- If you have two excception handlers, one for IOError and one for
FileNotFoundError, which should be placed first? Why?
- What are some problems with debugging using print statements or
testing using assert statements?
- When processing paths, how can you distinguish between files and
directories?
- Given a path of the form
p = "/path/to/file.txt"
, how
do compute the output path "/output/path/file.json"
?