Quizzes Overview
Quiz Structure
As discussed in the syllabus, the quizzes in this class are meant to assess your proficiency on a specific set of learning objectives. Each quiz will have a posted set of learning objectives that you can demonstrate proficiency/mastery in for that quiz, and each learning objective will appear on at least 2 quizzes.
Quiz Learning Objectives
The learning objectives that will ultimately all be assessed via quizzes are:
- Using variables
- Proficiency: create and use several variables
- Mastery: Draw memory diagram for how variables change
- Using definite loops
- Proficiency: Basic loop over sequence
- Mastery: Loop using
range
- Using indefinite loops
- Proficiency: Basic counter loop
- Mastery: Loop that stops based on user input
- Using nested loops
- Proficiency: Predicting what given nested loop will do
- Mastery: Writing nested loops
- Using conditional statements
- Proficiency: Using basic if/else syntax
- Mastery: Using three-part conditional
- Using lists
- Proficiency: Creating and accessing a list
- Mastery: Changing values in a list
- Using return values
- Proficiency: Using a return statement
- Mastery: Saving and using returned result
- Using function parameters
- Proficiency: Using an immutable parameter
- Mastery: Mutating a list parameter within a function
- Using objects
- Proficiency: Creating instance of an object
- Mastery: Changing instance through a method
- Using classes
- Proficiency: Defining class with constructor
- Mastery: Defining additional method
- Using instance variables
- Proficiency: Accessing instance variables
- Mastery: Changing instance variables
- Using recursion
- Proficiency: Defining the three laws of recursion
- Mastery: Writing a recursive function
- Debugging syntax errors
- Proficiency: Identifying and explaining
TypeError
s - Mastery: Identifying and explaining scope errors
- Proficiency: Identifying and explaining
- Predicting the behavior of a program
- Proficiency: Predicting behavior of imperative program with changing variables
- Mastery: Predicting behavior of functional/object-oriented program
- Explaining the difference between objects and classes
- Proficiency: Identifying classes and objects in example code
- Mastery: Explaining the relationship between objects and classes
- Explaining sorting algorithms
- Proficiency: Demonstrate the process of insertion or selection sort
- Mastery: Demonstrate the process of merge sort
- Explaining binary search
- Proficiency: Demonstrate the process of binary search with an off-by-one-error
- Mastery: Demonstrate the process of binary search without error
- Identifying worst case efficiency
- Proficiency: Identify the worst case efficiency of sequential search
- Mastery: Identify the worst case efficiency of insertion or selection sort
You can see how you are doing on each of these on Moodle under the “Grades” tab.