Final Exam

  • Thursday March 21 (2.25 hours)
    • Morning class (section 501): Thursday March 21 from 8:30 AM to 10:45 AM.
    • Afternoon class (section 506): Thursday March 21 from 11:30 AM to 1:45 PM.
  • You must complete exam without help from anyone!
  • You must not share any of the exam with anyone!
  • For Part 2 (code writing), you may use the IDLE environment to run and test your code. Internet access not available (except for D2L). You may refer to code examples from Part 1.
  • Coverage includes all work through week 10
  • Total of 70 points (35% of the class grade)
    • Multiple choice (part 1 no computer)
      • Covers concepts and definitions
      • Choose correct example or snippet of code
    • Code tracing and prediction (part 1 no computer)
      • Trace code that uses class definitions, inheritance
      • Trace simple recursive calls
      • Might involve explaining GUI code
    • Short code writing (part 1 no computer)
    • Code writing (part 2, uses computer)
      • Approximately 4 problems
      • Will involve some class development
      • Likely involve a simple recursive solution
      • Likely involve application of a regular expression

    Review of Major Concepts

    The exam covers chapters 7 through 12. 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 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)
    • GUI objects: packing GUI widgets inside frames
    • GUI events: creating an event handler
    • Sorting and searching: efficiency, using key function for Python sort
    • Web development: html, css, JS (know ideas but not code)
    • Using regular expressions
    • Interfacing with a database

    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
    • 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