Skip to content
Nick Diakopoulos edited this page Feb 24, 2017 · 10 revisions

Overview
The goal of problem sets are to give you hands-on experience writing code and solving coding problems. Specifically you should gain experience (1) debugging (i.e. figuring out and problem solving what may be going wrong with code), (2) adapting and re-using code that you find in the tutorials or online (always with attribution), (3) how to look up and find information and documentation so that you understand the capabilities and limits of code libraries.

There are 5 problem sets in the class (numbered 0 through 4 to remind you that array indexing in python starts with "0"). A new problem set goes out in class each week on Monday. You may or may not have time to begin the problem set in class depending on the class agenda that day. Either way, the problem set is DUE BEFORE class one week after it goes out.

To get started, download the skeleton file linked below and write your code directly in that file. (Follow the in-class instructions for setting up Anaconda and running Jupyter notebook to work on the file).

Collaboration
You may be given opportunities to start problem sets in class and to practice "pair programming", where you work with another person to get started on the problem set. There will also be a weekly "Coding Circle" hosted in the Computational Journalism Lab where the atmosphere will be more collaborative. In these cases you may discuss the problem set, including code, debugging strategies, where to look for documentation, or what the relevant tutorials are. However, you MUST NOT COPY each other's code. If you find code snippets from documentation or other social coding sites (e.g. Stack Overflow) online you should add a hyperlink to the origin of that code so it's clear where you're drawing inspiration.

Evaluation
Problem sets will be graded coarsely: check+, check, or check-. A "check+" demonstrates fully functioning code that solves the problems and includes adequate comments in the code. A "check" demonstrates mostly functioning code and includes some comments in the code. A "check-" demonstrates a lack of functioning code to a large extent. The idea is to focus less on the grade and more on the process.

Submission
For each problem set, name your file according to this template: <your_last_name>-PS-<problem_set_number>.ipynb (be sure to substitute your name and the number of the problem set). Email this file to Professor Diakopoulos: [email protected] by the due date.

Problem Set Schedule

  • Problem Set 0 Skeleton. Out 1/30, DUE 2/6 @ 10am
  • Problem Set 1 Skeleton. Out 2/6, DUE 2/13 @ 10am
  • Problem Set 2 Skeleton. Out 2/13, DUE 2/20 @ 10am
  • Problem Set 3 Skeleton. Out 2/20, DUE 2/27 @ 10am
  • Problem Set 4 Skeleton. Out 2/27, DUE 3/6 @ 10am
Clone this wiki locally