- Examination Details
- Examination Overview
- Introduction to Real-World Python Programming
- Debugging and Testing of Python Programs
- Chapter 1 of Doing Math with Python
- Chapter 3 of Doing Math with Python
- Chapters 1 and 2 of Programming and Mathematical Thinking
- Chapter 3 of Programming and Mathematical Thinking
- Chapter 4 of Programming and Mathematical Thinking
- Chapter 5 of Programming and Mathematical Thinking
- Review Sheet Released: Monday, October 12, 2020
- Examination Release: Monday, October 19, 2020
- Examination Due: 11:59 pm on Wednesday, October 21, 2020
The exam will be closed notes and closed book and it will cover the following materials. Please review the course schedule to see the content and slides that we have covered to this date. Students may post questions about this material to our Slack team.
The exam will be a mix of questions that have a form such as short answer, completion, the interpretation and creation of Python source code, and the interpretation of Python program output. The emphasis will be on the following technical topics:
- Using the Git and GitHub version control system
- Using Docker to support Python programming
- Using the VSCode text editor to manipulate Markdown and Python files
- Running GatorGrader in Docker to check a repository's correctness
- Using Poetry to manage program dependencies and run Python programs
- The benefits of using Python to explore discrete structures
- The ability to find and explain the following components of a Python program
- Function definition
- Function parameters
- Body of a function
- Return value of a function
- Invocation of a function
- How to write and run a test case for a Python function using Pytest
- How to use
print
andtyper.echo
statements to debug a Python program - How trace the execution of a Python function with debugging statements
- How Python represents different types of numbers
- How Python supports computations with fractional and complex numbers
- How to implement a Python program to find the roots of a quadratic equation
- How to use Pytest to test a program that finds the roots of a quadratic equation
- The definition of the statistical terms arithmetic mean and median
- How to use Python to calculate the mean and median of a list of numbers
- The meaning of the term dispersion when applied to a list of numbers
- How to use Python to calculate the variance and standard deviation of a list of numbers
- Different ways in which we can understand a computer program
- The characteristics of the Python programming language
- How to implement a Python program that finds names in a file
- How to implement a Python program to average numerical values
- The ability to recognize all key components of a Python program
- The mathematical definition of set, sequence, relation, mapping
- The mathematical definition of the properties of integer addition
- How to mathematically specify the computation of an arithmetic mean
- The practical limitations of storing values in Python variables
- The data types commonly used to store values in Python variables
- The similarities and differences between simple and compound statements in Python
- How to correctly use comments to provide documentation for a Python program
- How to use conditional logic and iteration constructs in Python programs
- The similarities and differences between
for
andwhile
loops in Python - How to perform exponentiation in the Python programming language
- The inputs, outputs, and behavior of the
range
function in Python
- The source code needed to both define and call a function in Python
- How to use type hints to describe the types of a function's input and output
- How to use conditional logic to compute the absolute value of a number
- How to use Newton's method to calculate the square root of a number
- How to write either an equation or a Python function for the factorial sequence
- How to use either iteration or recursion to implement the factorial sequence
- The way in which higher-order functions can accept and create functions
- How to define and use a lambda function that squares an input number
- How to implement a function that computes the arithmetic mean of a list of numbers
- The definition of the following discrete structures:
- Pair
- Ordered pair
- n-Tuple
- Real-world examples of data values that can be stored in an ordered pair or an n-tuple
- How to define and populate tuples and lists in a Python program
- The similarities and differences between tuples and lists in a Python program
- How to define empty tuples and lists in a Python program
- How to append data to a list in a Python program
- How to pack and unpack a tuple in a Python program
- How to use Python functions to read and parse a comma-separate value (CSV) file
- The meaning of the term delimiter in the context of a CSV file
- The similarities and differences between CSV files and relational databases
- The definition of the following terms in the context of relational databases:
- Table
- Row
- Column
- Schema