Skip to content

Instantly share code, notes, and snippets.

@Michael0x2a
Created May 13, 2015 16:22
Show Gist options
  • Select an option

  • Save Michael0x2a/07a6d9a7388e7247b31d to your computer and use it in GitHub Desktop.

Select an option

Save Michael0x2a/07a6d9a7388e7247b31d to your computer and use it in GitHub Desktop.
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# CSE 143 grades analysis\n",
"\n",
"You can grab the data by going to http://courses.cs.washington.edu/courses/cse143/14au/scores.html and copying everything in the table to a text file apart from the last three rows."
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Header:\n",
"['code', 'assign1', 'assign2', 'assign3', 'assign4', 'bonus4', 'assign5', 'assign6', 'assign7', 'assign8', 'bonus8', 'Late_Days', 'explore', 'weekly %', 'midterm', 'final', 'total', 'grade']\n",
"\n",
"Random row from data:\n",
"{'assign3': 19.0, 'code': 8025.0, 'Late_Days': 4.0, 'weekly %': 90.0, 'bonus8': 2.0, 'assign6': 15.0, 'total': 86.6, 'grade': 3.3, 'assign7': 15.0, 'bonus4': 0.0, 'explore': 0.0, 'assign2': 17.0, 'assign1': 18.0, 'assign4': 19.0, 'midterm': 71.0, 'final': 91.0, 'assign8': 29.0, 'assign5': 19.0}\n",
"\n",
"A more readable version of that data:\n",
"{'Late_Days': 4.0,\n",
" 'assign1': 18.0,\n",
" 'assign2': 17.0,\n",
" 'assign3': 19.0,\n",
" 'assign4': 19.0,\n",
" 'assign5': 19.0,\n",
" 'assign6': 15.0,\n",
" 'assign7': 15.0,\n",
" 'assign8': 29.0,\n",
" 'bonus4': 0.0,\n",
" 'bonus8': 2.0,\n",
" 'code': 8025.0,\n",
" 'explore': 0.0,\n",
" 'final': 91.0,\n",
" 'grade': 3.3,\n",
" 'midterm': 71.0,\n",
" 'total': 86.6,\n",
" 'weekly %': 90.0}\n",
"\n",
"Midterm average:\n",
"79.8935064935065\n",
"\n"
]
}
],
"source": [
"import pprint\n",
"\n",
"raw_data = open(\"cse143-au14.txt\", \"r\")\n",
"\n",
"lines = raw_data.readlines()\n",
"\n",
"def parse_line(line):\n",
" cells = line.strip().split(' \\t')\n",
" return cells\n",
"\n",
"def clean_cell(cell):\n",
" if cell == ' ':\n",
" return 0.0\n",
" elif cell.endswith('%'):\n",
" return float(cell[:-1])\n",
" else:\n",
" return float(cell)\n",
" \n",
"def clean_line(line):\n",
" output = []\n",
" for cell in line:\n",
" output.append(clean_cell(cell))\n",
" return output\n",
"\n",
"def label_line(header, line):\n",
" output = {}\n",
" for head, cell in zip(header, line):\n",
" output[head] = cell\n",
" return output\n",
"\n",
"def get_all(category, data):\n",
" output = []\n",
" for datum in data:\n",
" output.append(datum[category])\n",
" return output\n",
"\n",
"header = parse_line(lines[0])\n",
"\n",
"data = []\n",
"for line in lines[1:]:\n",
" bleh = clean_line(parse_line(line))\n",
" data.append(label_line(header, bleh))\n",
" \n",
"midterm_scores = get_all('midterm', data)\n",
"\n",
"print(\"Header:\")\n",
"print(header)\n",
"print()\n",
"\n",
"print(\"Random row from data:\")\n",
"print(data[26])\n",
"print()\n",
"\n",
"print(\"A more readable version of that data:\")\n",
"pprint.pprint(data[26])\n",
"print()\n",
"\n",
"print(\"Midterm average:\")\n",
"print(sum(midterm_scores) / len(midterm_scores))\n",
"print()\n"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": [
"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\n",
"RK5CYII=\n"
],
"text/plain": [
"<matplotlib.figure.Figure at 0x68eaef0>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# Note: this below line isn't Python. It's a special \n",
"# directive to the software this document is written\n",
"# in telling it to embed all graphs directly in the\n",
"# document instead of opening it in a separate window\n",
"%matplotlib inline\n",
"\n",
"import pylab\n",
"\n",
"pylab.hist(midterm_scores, bins=100)\n",
"pylab.title(\"Histogram of midterm scores\")\n",
"pylab.xlabel(\"Score\")\n",
"pylab.ylabel(\"Num people\")\n",
"pylab.show()"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"mean: 76.30389610389611\n",
"median: 80.0\n",
"stdev: 19.1102505867709\n"
]
}
],
"source": [
"import statistics\n",
"\n",
"final_scores = get_all('final', data)\n",
"\n",
"print(\"mean: \" + str(statistics.mean(final_scores)))\n",
"print(\"median: \" + str(statistics.median(final_scores)))\n",
"print(\"stdev: \" + str(statistics.stdev(final_scores)))"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.4.1"
}
},
"nbformat": 4,
"nbformat_minor": 0
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment