Assignments and coursework¶
Current assignments¶
- txdeathrow_scraper / Week 6 / due 2018-02-21 23:59
- txdeathrow_check / Week 5 / due 2018-02-12 23:59
- sortsequences / Week 5 / due 2018-02-12 23:59
- stanford_headlinez_souped / Week 5 / due 2018-02-12 23:59
- ezsequences / Week 5 / due 2018-02-07 23:59
- stanford_headlinez / Week 3 / due 2018-01-23 23:59
- hello_world / Week 2 / due: 2018-01-18 23:59
- foozbuzz / Week 2 / due: 2018-01-19 23:59
Expectations¶
Homework¶
Note
Quick summary
All programming assignments, regardless of complexity, are worth 1 point. Except in special circumstances, programs receive a 0 if they fail any requirements, whether it’s a misspelled file name, or unexpected output.
In other words, if assignment’s requirements expect this result:
Hello, world!
But your program returns this:
Hello,world!
You can expect a 0.
The vast majority of homework will be programming assignments in the form of Python programming scripts. They’ll range from the mundane (“download this file containing the works of Shakespeare, and count how many words it contains”) to relatively real-world applications, such as Write a version of QuakeBot that also tweets a Google Map of the location.
These assignments will have varying levels of difficulty and sophistication, but they are all worth 1 point. The grading policy is very similar to the binary philosophy of this course: either your program deserves 1 point, or it doesn’t.
The assignments are designed to be small in scope, so that none of them swallow up hours of your time. This follows good design practices in real-world software engineering, and an upshot of that is that they are very easy to evaluate, e.g. that particular file of Shakespeare’s works has one particular count of words, and either your program hit all of the steps correctly, or it didn’t.
However, to make things a little softer, homework can earn partial credit in the following situations:
- If it is no more than 2 days late, it can earn up to 0.75 points.
- Some programming assignments will have stylistic requirements, e.g. “rewrite this loop with a list comprehension”. A program that returns the correct answer while omitting that style guidelines will receive a 0.25 point penalty.
Typically, you will submit these programming assignments via Github, which, besides being a highly popular tool in real-world engineering, makes it easy to automate the grading and evaluation of your code.
Quizzes¶
There’s no book for this course, but on most days you’ll be assigned a mix of programming and non-programming articles. We’ll discuss them in class but just to make sure everyone has individually read these articles (which may or may not be directly beneficial to the technical coursework), I might have a 5-minute multiple choice quiz at the beginning of class.
The questions will be broad so as to test if you even skimmed the article. For example, if I assign you this article about the program, Hello World, a quiz question might be:
What does the ‘hello, world’ program do?
- Shows a picture of the globe/earth
- Prints the text ‘hello, world’
- Plays “Hello!” through the computer speakers
- Pings the WWW server
Quizzes will be evaluated in a pass-fail way: 0 points if you miss more than 33% of the answers, 1 point otherwise.
Projects¶
Projects, like homework, will also involve programming. But they will also involve the hardest parts of writing a program, which is: dealing with real-world data.
There will be a final project and likely a couple of interim projects past the midway point of the project.
Example final project: Collect and analyze the financial disclosures of the U.S. Senate. The analysis should be in the form of a programmatically-generated visualization (with some explanatory text).
Inspiration: Richest Members of Congress 2014
- Easy part: Writing a web scraper to automate the collection of the reports from the Senate website.
- Hard part: Categorizing the types of financial disclosures
- Hard part: Dealing with how to categorize
Grading policy¶
No curve and no exams.
You are expected to adhere to the Stanford University Honor Code.
If you need accommodations because of a disability, please register with the Stanford Office of Accessible Education.
Weights¶
Homework and quizzes | 70% |
Quizzes | 30% |
Grading scale¶
A | 90% < |
B | 80% < |
C | 70% < |
D | 60% < |