Proficiency Exam
There is a proficiency exam available during the beginning of the semester for this course. For information and to sign up see https://proficiency.cs.illinois.edu . This semester the exam is given from January 17th to January 22nd. CBTF.
Topics you should expect:
Here are the topics you should expect on the exam. The examples are meant to give you an indication of the difficulty level, but you should not expect the same format at all on the exam. No practice exam will be made available.
Give the type of a Python expresson.
Be able to give the final type of an expression converts types using functions such as str
, float
, etc.
This includes math fnuctions that convert integers to floats.
- Example: Give the type of the expression
str("10.4")
.
Define a function
Define a function according to specifications.
- Example: define a function
inc
with two parameters,x
andi
. The parameteri
should have a default value of 1. Return the sum ofx
andi
.
For loops and range
Write a for
loop to iterate over the values of a range
or a list and do something to process the values.
- Example: return the index of the minimum item is a given list
xx
. You can assume the list has at least one element.
String Processing
Be able to process a string as a list of characters, and also use built-in methods such as split
, join
, and replace
.
- Example: Given a string
st
, find the length of the longest word. Ignore punctuation characters period, semicolon, question mark, and exclamation point.
Library Code
- Numpy: Be able to create and use linear spaces
- Example: Given a linear space
xx
, return the maximum value of a given functionf
over this space. - Example: Given a matrix $A$ and a vector $b$, solve $Ax = b$ for $x$.
- Example: Given a linear space
scipy.optimize.newton
- Be able to use Newton’s method (or
scipy.optimize.newton
to find the zero of a function.
- Be able to use Newton’s method (or
- random
- Use
random
to generate 1000 integers according to a uniform or normal distribution.
- Use
sympy
- Use
sympy
to take the integeral or deriviative of a given function.
- Use
There will be about a dozen questions, almost all coding. You will have multiple attempts at the coding questions. You will have access to a jupyter notebook instance with Python in it during the exam.
Things NOT on the test
You should not expect the following on the exam:
- List comprehensions
- Recursive functions
- MatLab
- The Spanish Inquisition
- Pandas library