Skip to content

18.1 -- Paired Program

In-class exercise

Go to your fork of the hack-the-planet repository and find the file named usernames.csv. Edit this file in the GitHub editor to fill the field next to your name with the URL of your project repository. Commit the change to your fork, and make a pull request to the original.

Paired programming assignment

  • You will be assigned a paired programming partner in class.
  • Fork the repo of the classmate.
  • Clone your fork of the repo to your computer.
  • Open the repo directory in your text editor.
  • Read the Users README and proposal.md file, if present, on GitHub.
    • Follow any links documentation for packages they plan to use and browse this to gain an understanding of what this package is for, and how it works.
  • Create a new file in the top-level of their directory called paired-programming.md
  • In this markdown file write headings and paragraphs to answer the following questions. The goal here is to provide feedback to the other student from the perspective of one of their peers. Let them know what you do and don't understand about the project given what is currently present.

    • Goal of the project: Is it clear to you from the proposal.md how the goal can be accomplished using Python and the specified packages?

    • The Data: Is it clear to you from the proposal.md what the data for this project is, or will look like?

    • The code: (Look at the Python code files in detail first and try to comprehend a bit of what is written so far)

      • Does the current code include a proper skeleton (pseudocode) for starting this project?
      • What can this code do so far?
      • Given the project description, what are some individual functions that could be written to accomplish parts of this goal?
    • Code contributions/ideas: See description below for what to write here.

  • Your goal is to try to contribute to this student's project. It is OK if you don't fully understand the code, or even the project goal. But hopefully from the proposal you understand at least some parts of it. For example, the user at some point plans to create a scatterplot with Bokeh, and they included a link to the bokeh documentation. You can contribute by creating a new file called bokeh_plot.py and trying to create simple plot for what you imagine they will eventually hope to do with their data. Or as another example, they describe that they plan to organize data from a REST API into a dataframe, but they haven't written the code to do this yet. You can try to write a class or function to do this, and put it either in their existing module, or in a new module file. Your goal is to try to make a contribution to the code. (If you're unsure even after reading their proposal very carefully how you can contribute to their project, then please message me in the chat and I will help.)

After making your contribution describe it in the Code contribution section of the paired-programming.md file.

Submitting assignment

Once you've made your changes to the code, you can commit your changes and push to the remote, and then raise a pull request to make the other user aware of your proposed changes. We will read the pull requests and give a grade on your effort.