Giter Club home page Giter Club logo

Assignment 1

You are going to be installing some things, taking some screenshots, etc. If you don't know how to take screenshots, here are some helpful websites:

Github

We are going to use Github as a central repository for all of our code. Although we will discuss git and version control during class, you are also encouraged to learn more about both git and github on your own.

Tasks

  1. Create a github account
  2. Take a screenshot of your github account (e.g. https://github.com/brantfaircloth), showing that you have an account and that you are logged in. Make sure that the name of the screenshot reflects it is from github.
  3. Download and install Github Desktop. This is an application (or "app") that lets you more easily work with git and github

Slack

Slack is a real-time collaboration tool (basically like SMS or iMessage) that allows our class to keep in contact. It's nice because it allows you to ask everyone in class a question without sending an email. It's also allows different groups in class to create and use different chatrooms, and it allows us to pin/highlight particular answers that are useful.

Tasks

  1. Accept your invitation to the Slack channel
  2. Take a screenshot showing that your are logged into your Slack account. You can either use the online client or the "native" client for Windows or OSX. Make sure that the name of the screenshot reflects this is from Slack.
  3. Add your name, github username, and Slack username to the Google Doc that I put on the Slack #general channel

Text Editor

A good text editor is worth it's weight in gold. It can help you write, manage, and maintain your code. A good text editor basically makes your life easier, once you know how to use it (which can sometimes be very hard).

There are a plethora of text-editors out there: textmate, sublime text, vim, emacs, text wrangler, etc., etc. Each have their own costs and benefits, and almost everyone that uses a text editor frequently has pretty strong feelings about "their" text editor.

You can use whichever text editor you like during this class. That said, I suggest we all use the same editor. A new, interesting, and relatively strong text editor is named "Atom" and was originally built by the github folks so that there would be a decent, open-source text editor available to everyone. Atom is that editor. It offers many common benefits (code colorization, autocompletion, good find and replace, multiplatform, etc.), as well as offering an extensible package system for installing new capabilities - like a [code linter](https://en.wikipedia.org/wiki/Lint_(software), which can help point out errors in your code before you run it.

Like all complex tools, Atom has a manual. It would be a good idea, like all complex tools, to read that:

Tasks

  1. Download and install
  2. Take a screenshot of Atom on your computer
  3. Twiddle with the Preferences if you want to change the color-scheme, etc.
  4. Go to Preferences > Settings.
    • Turn on "Scroll past end"
    • Set "Tab length" to 4
  5. Figure how to install (and install) the following Atom packages:
    • linter
    • linter-flake8
  6. Take a screenshot showing that linter-flake8 is installed

Anaconda

As explained in the syllabus, the programming language that we are using for this class will be Python 3.5.1, and we will be using the Anaconda Python Distribution.

Tasks

  1. Install Anaconda Python for your operating system
  2. Once that's installed, crank up Python. Take a screenshot of the Python REPL. Exit Python.
  3. Figure out how to start the iPython notebook (now, more correctly known as "jupyter notebook")
  4. Create a new ipython notebook

Your first set of programs

We haven't covered anything at all about programming. It's cool - it's not that hard (ha!). Without any real knowledge of what you're doing, I want you to create a (very small) tutorial using Python and the iPython notebook. This notebook should explain the step(s) you are running, provide the correct input, and produce the correct output for the following tasks. You are welcome to use the Internet to help you find the answers (as you are for all assignments - just be sure to give credit where it is due).

Tasks

  1. Who in the hell is Guido Van Rossum? Have Python print the answer, using jupyter
  2. Explain (what it is) and execute the most famous first programming exercise. Where does this come from? Feel free to just add your answer to the iPython notebook as markdown-formatted text.
  3. Produce the sum of the year of your birthday and the year of this class
  4. Divide 3 by 2 and return the expected result. Is this what you expected? Why or why not?
  5. Print the numbers 0 to 50 by 5
  6. Draw and print 10 discrete numbers from a uniform distribution spanning the interval [0,1000000]
  7. Python is what is known as a zero-indexed programming language. Illustrate what this means.
  8. import this

Using Git/Github

Now, it's time to turn in your assignment. You should generally follow the instructions for turning in assignments

  1. Fork and clone the Assignment 1 repository to your computer
  2. Open that repository in Github Desktop
  3. Create a directory, nested in the answers directory in the cloned, forked assignment repository that is your username on github
  4. Navigate to this directory on your computer
  5. Add the following:
    • Screenshot of github account
    • Screenshot of Slack session
    • Screenshot of Atom installed on your computer
    • Screenshot showing that you installed linter-flake8
    • Screenshot of the Anaconda REPL on your computer
    • You mini-tutorial from Your first set of programs, above, in ipynb format
    • A screenshot of everything above, in the repository, displayed by Github Desktop
  6. Commit all of the changes to your repository
  7. Push/Sync that to Github
  8. Make a pull request to the main biolprogramming repository

Jonathan A. Nations's Projects

carnivorandentitiondiet_ms icon carnivorandentitiondiet_ms

Code for the manuscript "Bayesian prediciton of multivariate ecology from phenotypic data yields new insights into the diets of extant and extinct taxa"

gloger_rule_furnariidae icon gloger_rule_furnariidae

This repository contains data and data analysis scripts for the Marcondes et al. manuscript "Rethinking Gloger’s Rule: climate, light environments and color in a large family of tropical birds (Furnariidae)"

locomotion_book icon locomotion_book

Repository for the book chapter "Predictors of arboreality from the mammalian appendicular skeleton illuminate locomotor trends among early mammals"

murine_locomotion_and_diversification icon murine_locomotion_and_diversification

This repository contains data and scripts for the manuscript "Locomotory mode transitions alter phenotypic evolution and lineage diversification in an ecologically rich clade of mammals".

murine_morphology icon murine_morphology

Data and R Scripts from submission of "A simple skeletal measurement effectively predicts climbing behaviour in murine rodents"

pseudomys_body_size icon pseudomys_body_size

Data and R scripts for the manuscript "Environment predicts repeated body size shifts in a recent radiation of Australian mammals"

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.