What you need to know
This quiz will require you to use your knowledge of Python programming and the skills and concepts that have been covered throughout the course.
You will want to know:
- how to manipulate and work with various objects:
str
,list
,dict
,tuple
- how to write/define/use functions
- how to annotate your code and demonstrate algorithmic thinking (logical processes)
You will also need to know:
- how to use
nltk
for processing text (i.e. frequency distributions) - how to download data from the internet (urls)
- how to tag words for part of speech
- how to use resources for languages other than English
(
spacy
NLP) - how to install libraries in your virtual environment using
pip
from the command line - how to use the
pandas
library to manipulate dataframes
Finally, the quiz will require you to read/write information from/to a file.
How to complete the quiz
On the day of the quiz you will be provided a link to a personalized
Github repository, which you will clone to disk, following the
procedures we have established with the homework assignments. A starter
script will be provided in the Github repository, along with a
README
file detailing the requirements for completing the
quiz. Read this carefully before starting.
On your own computer, you will use your development environment, following the standard coding procedures we have been practicing for the past weeks (read/write/edit code in the editor, save changes, run script in terminal, repeat). This will require you to be aware of file locations, some terminal commands, and other basics of computer science.
Your final submission should allow me to run the quiz script in the terminal and get the necessary output.
Additional information and submission
The quiz is open-book, open-internet, but I will be monitoring for social media use and collusion. You will have 2 hours to complete the challenge. Final commits to your repository will be late after this time period and marked down accordingly. Your final submission will be assessed on whether the requirements are satisfied (whether the program runs and produces the specified output) as well as the quality of the code and annotation (comments explaining how it works and notes/readme explaining your thought process).