Final Exam

  • Monday June 8 11:30AM to 1:45PM (2.25 hours)
  • You must complete exam without help from anyone!
  • You must not share any of the exam with anyone!
  • Coverage includes all work through week 10
  • Total of 70 points (35% of the class grade)
    • Multiple choice
      • Covers concepts and definitions
      • Choose correct example or snippet of code
    • Code tracing and prediction
      • Trace code that uses class definitions, inheritance
      • Trace simple recursive calls
      • Trace output from an iterator
    • Code writing

Review of Major Concepts

The exam covers chapters 7 through 11, except chapter 9. Text content that was not addressed in class will not be emphasized on the exam.

General concepts and competencies

  • Using classes, creating objects and calling instance methods
  • Defining classes, contructors, and methods
  • Common specially-named methods: __init__, __str__, __eq__
  • Using assert to test code
  • Defining and understanding iterators for a class
  • Using lists, dictionaries and objects to represent composite (structured) data
  • Composition: defining a class (e.g. MovieList) composed of instance variables that consist of objects (Movie objects)
  • Sorting and searching: efficiency, using key function for Python sort
  • Web development: html, css, JS (know ideas but not code)
  • Using regular expressions

General knowlege of the topics in these areas is expected. The exam will typically address these topics with multiple choice.

Study Strategies

  • Review midterm exam and quizzes
  • Review assignments and your summary statements
  • Develop a Widget class and a class that is composed of a list/dictionary of widgets.
  • Write a demo program for your classes; trace and predict demo programs written by others