Back to Quizzes

Exam 1

Structure

The exam will consist of a combination of autograded multiple choice and fill in the blank questions. There will not be a coding question on this exam. Most multiple choice questions will allow you to submit twice, first for full credit and the second for a moderate amount of points.

This exam will act as a grade replacement for exam 0. The higher of the two grades will be used as the ‘exam 1’ grade.

Content

The exam will cover all material up to and including Monday February 19th. This includes:

  • Python Fundamentals
    • Variables and variable type
    • Conditionals
    • Functions and Function Overloading
    • Class definitions, variables, and member functions
  • Python File I/O
    • Reading and writing to files
    • String formatting
  • Python Random
    • random.choice(), random.select(), random.randint()
  • Lists
    • How to create and use them in Python
    • Python list built-ins that match the list ADT
    • Linked List Operations (Running time, how to use, and how to implement):
      • Add()
      • Insert()
      • __getitem__()
      • __len__()
      • delete()
    • Array List Operations (Running time, how to use, and how to implement):
      • Add()
      • Insert()
      • __getitem__()
      • __len__()
      • delete()
    • 1D and 2D list indexing
  • Asymptotic Efficiency
    • Definition and what it means in practice
    • Dominant term
    • Determining the big O of a code block.
    • Tip: While other big Os may show up you should definitely be familiar with:
      • O(1)
      • O(log n)
      • O(n)
      • O(n^2) vs O(n*m)
  • Stacks and Queues
    • Operations (Running time, how to use, and how to implement):
      • push()
      • pop()
      • top()
      • enqueue()
      • dequeue()
      • front()

You should also be familiar with the content from mp_generate as well as labs up to and including lab_cipher.

Points: 75

Start: Tuesday, February 27

End: Thursday, February 29