Final Exam

Date & Time

Wednesday, December 10, 8:00-9:50am, PM 103

Overview

The final exam is comprehensive will cover all material from the beginning of the semester through the end but with some emphasis on material covered since Test 2. The final is more comprehensive than Test 2 was. This material includes everything discussed in lectures and covered in assignments, and aligns with chapters 1-10 from the recommended text. We have covered some additional topics (including concurrency, structural pattern matching, data, visualization, and machine learning) the text has not, and we did not specifically cover the data science additions to each chapter although some overlap with the last weeks of the course. Because this is a programming principles course, there will be questions related to principles as well as questions that involve syntax. You may be asked to write, analyze, and/or debug code.

Format

  • Multiple Choice
  • Free Response

Example Types of Questions

  • Examples from Test 1
  • Examples from Test 2
  • What are the differences between threading, multiprocessing, and the asyncio concurrency models?
  • What is the GIL and how does it impact concurrency in Python?
  • Which type of concurrency solution would you use to download a lot of files from a slow internet site and perform some light processing on them?
  • What makes a match statement different from an if-elif-else statement?
  • How do you capture variable-length sequences in a match case?
  • What are the differences between a numpy array, a tuple, and a list?
  • Write a statement to refer to a specified subarray (indexing, slicing).
  • What is the difference between a view and a copy of a numpy array?
  • What differentiates a pandas series from a numpy array?
  • What differentiates a polars series from a pandas series?
  • Given a data frame, write an expression to select the age and height columns from rows with names starting with “A”.
  • Given a data frame, which operations are used to make tidy data (i.e. melt/unpivot, pivot, transpose)?
  • Given a data frame of houses for sale in different parts of the United States, write code to find the maximum price of a house in each zipcode.
  • What is the purpose of data visualization?
  • Given a dataset, how might you create a visualization that shows all of the columns? Think about the different ways to encode data attributes.
  • What are the differences between matplotlib’s stateful and object-based styles?
  • How can multiple visualizations of the same dataset be useful?
  • Why is interaction important in visualization? What are these different types of interactions?
  • Why do we have a testing and training set in machine learning?