Skip to content

Latest commit

 

History

History
227 lines (114 loc) · 7.9 KB

schedule.markdown

File metadata and controls

227 lines (114 loc) · 7.9 KB
layout title
default
Schedule

{{ site.course.number }} Initial Schedule: Subject to Change

Office Hours

I will be available Wednesdays after class and by appointment via our Google Plus community.

Work in Progress

This schedule is a work in progress and will change based on our progress, your interests, and things that come up along the way. I'll make sure to announce any changes in our Google community.

Guest Speakers

We’ll have a series of programming professionals come in and discuss their experiences and their personal relationships to the topics we’re covering. A selection of speakers who have confirmed (but not yet scheduled):

  • Brian Marks, CTO, Trinket.io

  • Karen Cranston, co-PI, Open Tree of Life Project

  • Julia Elman, Lead Designer, Trinket.io

  • Alan Dipert, (Currently) Freelance Programmer

  • Jeff Heard, Senior Researcher, RENCI

January 8th, Week 1: Digging into Source Code

Key Questions

  • What is Text?

  • What is a Computer?

  • How Can Text Control Computers?

  1. None (first day of class)

In-Class: Get set up on Google Plus

In-Class: Get set up on Github

In-Class Exercise: Modify the class blog

  • In-Class Exercise: Write an initial blog post

  • In-Class Exercise: Open your first issue

  • In-Class Exercise: Close your first issue

  • Note: As we’ll learn, git is an open source command line version control system. Github.com is the fastest growing git repository on the internet. This distinction isn’t always immediately apparent.

January 15th, Week 2: Hello Python

Key Questions

  • How do I control Python code?

Readings:

Read the text, do the exercises, and be prepared to explore what Turtles can do in class. The videos are optional- I find them less helpful than the text myself but you might find them helpful. Pay attention to the Flow of Control exercises

  • In-Class Exercise: Write a simple post with syntax highlighting and a screenshot of your turtle program.

January 22nd, Week 3: Stepping back a bit: What is code?

Readings:

January 29th, Week 4: Reading Code; Data in Programs

 "Programs must be written for people to read, and only incidentally for machines to execute."
 
 - Abelson & Sussman, SICP, preface to the first edition

Readings:

Hands on with Python Data.

Setting up Nitrous.io

February 5th, Week 5: Problem Solving with Pseudocode

  • What is pseudocode?

  • How can I solve problems with pseudocode?

Readings:

Nitrous.io exercise

February 12th, Week 6: Complex data; flow of control

Readings:

Nitrous Exercise

Extra Credit Exercise: ThinkPython: Using data structures An extra point on your final grade for a Github post with exercises 1-4 completed. This is especially relevant to those of you with an interest in data mining. Due Friday.

February 19th, Week 7: Input/Output (i/o) & (The other kind of) Libraries

Working with real developer tools

  • In class: Command line git posts

All posts from here on out should be via Nitrous!

February 26th, Week 8: Command line Git & Python

Self-contained, reusable bits of code.

  • Think Python: Functions

  • Think Python: Modules

  • Software Carpentry: Libraries

  • In-Class: Command line: pip. Review some common python libraries. Focus on documentation, initial testing, beginning use

Nitrous Flask introduction

March 5th, Week 9: Problem Solving with Libraries and Frameworks

Catch-up

  • Check-in: Meetups

March 12th, Week 10: No class

March 19th, Week 11: Flask; Git

Lightweight web framework.

March 26th, Week 12: Flask; Git

Lightweight web framework.

April 2nd, Week 13: Flask; Git; Project Ideas

Web framework continued

April 9th, Week 14: Beginning Projects; Contributing to Open Source

How to give back or start a project. Code Refactoring and Cleanup. Documentation. Guests.

April 16th, Week 15: Project Work

Tactical help from me or peers on final projects.

April 30th, Week 16: Project Presentations

Presentation and discussion of projects. A roadmap for where students want to go next.

Final projects due Sat, May 3rd, 8am.

  1. Software Carpentry: The Shell - Read the Introduction and come up to speed on Files and Directories, Creating and Deleting, Pipes and Filters, and Permissions.
  • In-Class Exercise: Bash scripting for simple data transformations

  • In-class: Brainstorm 3 project ideas & lightning talks

  • isis.unc.edu

  • scp & rsync

  • Check-in: Meetups