{ "metadata": { "name": "" }, "nbformat": 3, "nbformat_minor": 0, "worksheets": [ { "cells": [ { "cell_type": "code", "collapsed": false, "input": [ "%run ../code/init_mooc_nb.ipy" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "Performing the necessary imports.\n", "\n", "from __future__ import division, print_function\n", "import numpy as np\n", "import matplotlib\n", "import kwant\n", "\n", "import ipywidgets\n", "from IPython.html.widgets import interact\n", "from ipywidgets import StaticInteract, RangeWidget, DropDownWidget\n", "from IPython.display import display_html\n", "from matplotlib import pyplot as plt\n", "\n", "import pfaffian as pf\n", "from edx_components import *\n", "\n" ] }, { "html": [ "\n", "\n", "\n", "

Press this button to show/hide the code used in the notebook:\n", "

\n", "" ], "metadata": {}, "output_type": "display_data" }, { "javascript": [ "/**\n", " * Calico Jupyter Notebooks Extensions\n", " *\n", " * Copyright (c) The Calico Project\n", " * http://calicoproject.org/ICalico\n", " *\n", " * Released under the BSD Simplified License\n", " *\n", " **/\n", "\n", "function ip_version() {\n", " if (IPython.version[0] === \"2\")\n", "\treturn 2;\n", " else if (IPython.version[0] === \"3\")\n", "\treturn 3;\n", " else\n", "\tthrow \"IPython version not supported\";\n", "}\n", "\n", "function break_into_sections(index) {\n", " if (ip_version() === 2)\n", "\treturn 0;\n", " var cells = IPython.notebook.get_cells();\n", " var count = 0; // count below index, or -1\n", " // go in reverse order to keep index accurate\n", " for (var i = cells.length - 1; i > -1; i--) {\n", "\tvar cell = cells[i];\n", "\tvar rendered = cell.rendered;\n", "\t// consider it for breaking:\n", "\tif (cell.cell_type === \"markdown\") {\n", "\t var text = cell.get_text();\n", "\t if (text.match(/^#+Table of Contents/)) \n", "\t\tcontinue;\n", "\t var lines = text.split(/\\n/g);\n", "\t if (lines.length > 1) {\n", "\t\t// possibly break up\n", "\t\tvar state = \"ok\";\n", "\t\tvar current = \"\";\n", "\t\tvar cell_texts = [];\n", "\t\tfor (var line_no in lines) {\n", "\t\t var line = lines[line_no];\n", "\t\t if (state === \"ok\") {\n", "\t\t\tif (line.indexOf('```') === 0) {\n", " // set state to fence: allows for longer fences\n", "\t\t\t state = line.substr(0, line.search(\"[^`]\"));\n", "\t\t\t current += line + \"\\n\";\n", "\t\t\t} else if (line.indexOf('#') === 0) {\n", "\t\t\t if (current !== \"\") {\n", "\t\t\t\tcell_texts.push(current.trim());\n", "\t\t\t }\n", "\t\t\t current = \"\";\n", "\t\t\t cell_texts.push(line);\n", "\t\t\t} else {\n", "\t\t\t current += line + \"\\n\";\n", "\t\t\t}\n", "\t\t } else { // in block\n", "\t\t\tif (line.indexOf(state) === 0) {\n", "\t\t\t state = \"ok\";\n", "\t\t\t current += line + \"\\n\";\n", "\t\t\t cell_texts.push(current.trim());\n", "\t\t\t current = \"\";\n", "\t\t\t} else {\n", "\t\t\t current += line + \"\\n\";\n", "\t\t\t}\n", "\t\t }\n", "\t\t} // for\n", "\t\t// anything left over:\n", "\t\tif (current.trim() !== \"\") {\n", "\t\t cell_texts.push(current.trim());\n", "\t\t}\n", "\t\tif (cell_texts.length > 1) {\n", "\t\t var current_cell = IPython.notebook.get_cell(i);\n", "\t\t var added = 0;\n", "\t\t for (var j = 0; j < cell_texts.length; j++) {\n", "\t\t\tif (cell_texts[j].trim() !== \"\") {\n", "\t\t\t if (added === 0) {\n", "\t\t\t\tcurrent_cell.set_text(cell_texts[j]);\n", "\t\t\t\tif (rendered) {\n", "\t\t\t\t current_cell.render();\n", "\t\t\t\t}\t\t\t\t\t\n", "\t\t\t } else {\n", "\t\t\t\tif (i === index) {\n", "\t\t\t\t count = -1; // nope, can't do it\n", "\t\t\t\t} else if (i < index && count !== -1) {\n", "\t\t\t\t count++;\n", "\t\t\t\t}\n", "\t\t\t\tvar new_cell = IPython.notebook.insert_cell_below(\"markdown\", i + added - 1);\n", "\t\t\t\tnew_cell.set_text(cell_texts[j]);\n", " if (rendered) {\n", "\t\t\t\t new_cell.render();\n", "\t\t\t\t}\n", "\t\t\t }\n", "\t\t\t added++;\n", "\t\t\t}\n", "\t\t }\n", "\t\t}\n", "\t }\n", "\t}\n", " }\n", " return count;\n", "}\n", "\n", "function is_heading(cell) {\n", " if (ip_version() === 2)\n", "\treturn (cell.cell_type === \"heading\");\n", " else \n", "\treturn (cell.cell_type === \"markdown\" && cell.get_text().indexOf(\"#\") === 0)\n", "}\n", "\n", "function get_heading_text(cell) {\n", " if (ip_version() === 2)\n", "\treturn cell.get_text();\n", " else if (cell.get_text().indexOf(\"######\") === 0)\n", "\treturn cell.get_text().substring(6).trim();\n", " else if (cell.get_text().indexOf(\"#####\") === 0)\n", "\treturn cell.get_text().substring(5).trim();\n", " else if (cell.get_text().indexOf(\"####\") === 0)\n", "\treturn cell.get_text().substring(4).trim();\n", " else if (cell.get_text().indexOf(\"###\") === 0)\n", "\treturn cell.get_text().substring(3).trim();\n", " else if (cell.get_text().indexOf(\"##\") === 0)\n", "\treturn cell.get_text().substring(2).trim();\n", " else if (cell.get_text().indexOf(\"#\") === 0)\n", "\treturn cell.get_text().substring(1).trim();\n", " else return \"\";\n", "}\n", "\n", "function repeat(pattern, count) {\n", " if (count < 1) return '';\n", " var result = '';\n", " while (count > 1) {\n", " if (count & 1) result += pattern;\n", " count >>= 1, pattern += pattern;\n", " }\n", " return result + pattern;\n", "}\n", "\n", "function set_heading_text(cell, text) {\n", " var rendered = cell.rendered;\n", " cell.unrender();\n", " if (ip_version() === 2)\n", "\tcell.set_text(text);\n", " else {\n", "\tvar level = get_level(cell);\n", "\tcell.set_text( repeat(\"#\", level) + \" \" + text)\n", " }\n", " if (rendered) {\n", " cell.render();\n", " }\n", "}\n", "\n", "function get_level(cell) {\n", " if (ip_version() === 2)\n", "\treturn cell.level;\n", " else if (cell.get_text().indexOf(\"######\") === 0)\n", "\treturn 6;\n", " else if (cell.get_text().indexOf(\"#####\") === 0)\n", "\treturn 5;\n", " else if (cell.get_text().indexOf(\"####\") === 0)\n", "\treturn 4;\n", " else if (cell.get_text().indexOf(\"###\") === 0)\n", "\treturn 3;\n", " else if (cell.get_text().indexOf(\"##\") === 0)\n", "\treturn 2;\n", " else if (cell.get_text().indexOf(\"#\") === 0)\n", "\treturn 1;\n", " else return 0;\n", "}\n", "\n", "function get_last_cell_index_in_section(level, index) {\n", " var current = index;\n", " while (IPython.notebook.is_valid_cell_index(current + 1)) {\n", "\tvar cell = IPython.notebook.get_cell(current + 1);\n", "\tif (is_heading(cell) && get_level(cell) <= level) {\n", "\t return current;\n", "\t}\n", "\tcurrent++;\n", " }\n", " return current;\n", "}\n", "\n", "function get_index_level_above(level, index) {\n", " var current = current = index - 1;\n", " while (IPython.notebook.is_valid_cell_index(current)) {\n", "\tvar cell = IPython.notebook.get_cell(current);\n", "\tif (is_heading(cell) && get_level(cell) <= level) {\n", "\t return current;\n", "\t}\n", "\tcurrent--;\n", " }\n", " return undefined;\n", "}\n", "\n", "function get_index_level_below(level, index) {\n", " var current = current = index + 1;\n", " while (IPython.notebook.is_valid_cell_index(current)) {\n", "\tvar cell = IPython.notebook.get_cell(current);\n", "\tif (is_heading(cell) && get_level(cell) <= level) {\n", "\t return current;\n", "\t}\n", "\tcurrent++;\n", " }\n", " return undefined;\n", "}\n", "\n", "function section_label() {\n", " // Label headings with numbers, or toggle them off\n", " // If there is a table of contents, re-do it\n", " break_into_sections();\n", " var cells = IPython.notebook.get_cells();\n", " var levels = [0,0,0,0,0,0];\n", " var current_level = 1;\n", " var flag = false;\n", " var alert_text = \"\";\n", " var alert_flag = false;\n", " var remove_numbering = true;\n", " \n", " for (var i = 0; i < cells.length; i++) {\n", "\tvar cell = cells[i];\n", "\tif (is_heading(cell)) {\n", "\t if (cell.get_text().match(/^#+Table of Contents/)) \n", "\t\tcontinue;\n", "\t if (cell.get_text().match(/^#+References/)) \n", "\t\tcontinue;\n", "\t var level = get_level(cell);\n", "\t \n", "\t if (level >= current_level) { //just keep incrementing\n", "\t\tcurrent_level = level;\n", "\t\tlevels[level-1]++;\n", "\t } else { //went back a level\n", "\t\tlevels[current_level-1] = 0;\n", "\t\t\n", "\t\tif (current_level-level > 1) { //Skipped levels in between\n", "\t\t for (var j = 1; j < current_level-level; j++) { //back-prop the zeros\n", "\t\t\tlevels[current_level - 1 - j] = 0;\n", "\t\t }\n", "\t\t}\n", "\t\t\n", "\t\tlevels[level -1]++;\n", "\t\tcurrent_level = level;\n", "\t }\n", "\t \n", "\t var error = false;\n", "\t var error_no_begin = 0;\n", "\t var error_no_end = 0;\n", "\t var error_heading_label = \"\";\n", "\t var heading_label = \"\"; //Generate the appropriate number for the heading\n", "\t for (var k = 0; k < level; k++) {\n", "\t\tif (levels[k] == 0) {\n", "\t\t if (!error) {\n", "\t\t\terror_heading_label = heading_label;\n", "\t\t\terror = true;\n", "\t\t\terror_no_begin = k;\n", "\t\t } else {\n", "\t\t\terror_no_end = k + 2;\n", "\t\t }\n", "\t\t}\n", "\t\theading_label += levels[k];\n", "\t\tif (level-k == 1 && level > 1) {\n", "\t\t break;\n", "\t\t}\n", "\t\theading_label += \".\";\n", "\t }\n", "\t \n", "\t if (error) {\n", "\t\tif (error_no_end == 0) {\n", "\t\t error_no_end = error_no_begin + 2;\n", "\t\t}\n", "\t\tif (error_heading_label == \"\") {\n", "\t\t if (!flag) {\n", "\t\t\tvar temp1 = \"Notebook begins with a Header \" + error_no_end + \" cell.\" + \"\\n\";\n", "\t\t\talert_text += temp1;\n", "\t\t\talert_flag = true;\n", "\t\t\tflag = true;\n", "\t\t }\n", "\t\t} else{\n", "\t\t var temp = \"You placed a Header \" + error_no_end + \" cell under a Header \" + error_no_begin + \" cell in section \" + error_heading_label +\"\\n\";\n", "\t\t alert_text += temp;\n", "\t\t alert_flag = true;\n", "\t\t}\n", "\t }\n", "\t \n", "\t var heading_text = get_heading_text(cell);\n", "\t var old_header = heading_text;\n", "\t var re = /(?:\\d*\\.*)*\\s*(.*)/;\n", "\t var match = heading_text.match(re);\n", "\t \n", "\t if (match) {\n", "\t\theading_text = heading_label + \" \" + match[1];\n", "\t } else {\n", "\t\theading_text = heading_label;\n", "\t }\n", "\t \n", "\t if (old_header != heading_text) {\n", "\t\tremove_numbering = false;\n", "\t\treplace_links(old_header, heading_text);\n", "\t }\n", "\t \n", "\t heading_text = heading_text.trim();\n", "\t set_heading_text(cell, heading_text);\n", "\t}\n", " }\n", " \n", " if (alert_flag) {\n", "\talert(alert_text);\n", " }\n", " \n", " if (remove_numbering) {\n", "\tfor (var i = 0; i < cells.length; i++) {\n", "\t var cell = cells[i];\n", "\t if (is_heading(cell)) {\n", "\t\tif (cell.get_text().match(/^#+Table of Contents/)) \n", "\t\t continue;\n", "\t\tif (cell.get_text().match(/^#+References/)) \n", "\t\t continue;\n", "\t\tvar heading_text = get_heading_text(cell);\n", "\t\told_header = heading_text;\n", "\t\tvar re = /(?:\\d*\\.*)*\\s*(.*)/;\n", "\t\tvar match = heading_text.match(re);\n", "\t\tif (match) {\n", "\t\t heading_text = match[1];\n", "\t\t}\n", "\t\tset_heading_text(cell, heading_text);\n", "\t\treplace_links(old_header, heading_text);\n", "\t }\n", "\t}\n", " }\n", " \n", " // If there is a Table of Contents, replace it:\n", " var cells = IPython.notebook.get_cells();\n", " for (var i = 0; i < cells.length; i++) {\n", " var cell = cells[i];\n", " if (cell.cell_type == \"markdown\") {\n", "\t var cell_text = cell.get_text();\n", "\t var match = cell_text.match(/^#+Table of Contents/);\n", "\t if (match) {\n", "\t\ttable_of_contents();\n", "\t\tbreak;\n", "\t }\n", "\t}\n", " }\n", "}\n", "\n", "function replace_links(old_header, new_header) {\n", " // Replace an old internal link with new link\n", " new_header = new_header.trim();\n", " var cells = IPython.notebook.get_cells();\n", " for (var i = 0; i < cells.length; i++) {\n", " var cell = cells[i];\n", " if (cell.cell_type == \"markdown\") {\n", "\t var cell_text = cell.get_text();\n", "\t // Skip over table of contents:\n", "\t if (cell_text.match(/^#+Table of Contents/)) {\n", "\t\tcontinue;\n", "\t }\n", "\t var re_string = old_header;\n", "\t re_string = re_string.replace(/\\\\/g, \"\\\\\\\\\");\n", "\t re_string = re_string.replace(/\\//g, \"\\\\/\");\n", "\t re_string = re_string.replace(/\\^/g, \"\\\\^\");\n", "\t re_string = re_string.replace(/\\$/g, \"\\\\$\");\n", "\t re_string = re_string.replace(/\\*/g, \"\\\\*\");\n", "\t re_string = re_string.replace(/\\+/g, \"\\\\+\");\n", "\t re_string = re_string.replace(/\\?/g, \"\\\\?\");\n", "\t re_string = re_string.replace(/\\./g, \"\\\\.\");\n", "\t re_string = re_string.replace(/\\)/g, \"%29\");\n", "\t re_string = re_string.replace(/\\|/g, \"\\\\|\");\n", "\t re_string = re_string.replace(/\\[/g, \"\\\\[\");\n", "\t re_string = re_string.replace(/\\]/g, \"\\\\]\");\n", "\t re_string = re_string.replace(/\\(/g, \"?:\\\\(|%28\");\n", "\t re_string = re_string.replace(/\\s/g, \"-\");\n", "\t re_string = \"(\\\\[.*\\\\](?::\\\\s*|\\\\()#)\" + re_string + \"(.*\\\\)|(.*)$)\";\n", "\t \n", "\t var re = new RegExp(re_string, \"gm\");\n", "\t var link_text = new_header.replace(/\\s+$/g, \"\"); //Delete trailing spaces before they become \"-\"\n", "\t link_text = link_text.replace(/\\(/g, \"%28\"); //Replace left parentheses with their encoding\n", "\t link_text = link_text.replace(/\\)/g, \"%29\"); //Replace right parentheses with their encoding\n", "\t link_text = link_text.replace(/ /g, \"-\"); //Replace all spaces with dashes to create links\n", "\t \n", "\t var match = cell_text.match(re);\n", "\t if (match) {\n", " var new_text = cell_text.replace(re, \"$1\" + link_text + \"$2\");\n", " cell.unrender();\n", " cell.set_text(new_text);\n", " cell.render();\n", "\t }\n", " }\n", " }\n", "}\n", "\n", "function find_cell(cell_type, text) {\n", " // Finds first cell of cell_type that starts with text\n", " // cell_type and text are interpreted as a regular expression\n", " var cell = undefined;\n", " var cells = IPython.notebook.get_cells();\n", " for (var x = 0; x < cells.length; x++) {\n", "\tvar temp = cells[x];\n", "\tif (temp.cell_type.match(cell_type) != undefined) {\n", "\t var temp_text = temp.get_text();\n", "\t var re = new RegExp(\"^\" + text);\n", "\t if (re.test(temp_text)) {\n", "\t\tcell = cells[x];\n", "\t\tbreak;\n", "\t }\n", "\t}\n", " }\n", " return cell;\n", "}\n", "\n", "function table_of_contents() {\n", " break_into_sections();\n", " // Create and/or replace Table of Contents\n", " var cells = IPython.notebook.get_cells();\n", " var toc_cell = find_cell(\"markdown\", \"#+Table of Contents\");\n", " // Default to top-level heading\n", " var toc_text = \"#Table of Contents\\n\";\n", " if (toc_cell == undefined) {\n", "\t//Create a new markdown cell at the top of the Notebook\n", "\ttoc_cell = IPython.notebook.select(0).insert_cell_below(\"markdown\"); \n", " } else {\n", "\t// already exists:\n", "\ttoc_text = toc_cell.get_text().match(/^#+Table of Contents/)[0] + \"\\n\";\n", " }\n", " var prev_lev = 0;\n", " for (var i = 0; i < cells.length; i++) {\n", "\tvar cell = cells[i];\n", "\tif (is_heading(cell)) {\n", "\t if (cell.get_text().match(/^#+Table of Contents/)) \n", "\t\tcontinue;\n", "\t if (cell.get_text().match(/^#+References/)) \n", "\t\tcontinue;\n", "\t if (get_level(cell) - prev_lev > 1) { //Skipped levels. Enter Dummy levels\n", "\t\tfor (var x = 0; x < ((get_level(cell) - prev_lev) - 1); x++) {\n", "\t\t for (var y = 0; y < (prev_lev + x); y++) {\n", "\t\t\ttoc_text += \"\\t\";\n", "\t\t }\n", "\t\t toc_text += \"*  \\n\";\n", "\t\t}\n", "\t }\n", "\t var cell_text = get_heading_text(cell);\n", "\t for (var j = 0; j < get_level(cell) -1; j++) { //Loop to add the proper amount of tabs based on header level\n", "\t\ttoc_text += \"\\t\";\n", "\t }\n", "\t toc_text += \"* [\";\n", "\t toc_text += cell_text;\n", "\t toc_text += \"](#\";\n", "\t var link_text = cell_text.replace(/\\s+$/g, \"\"); //Delete trailing spaces before they become \"-\"\n", "\t link_text = link_text.replace(/\\(/g, \"%28\"); //Replace left parentheses with their encoding\n", "\t link_text = link_text.replace(/\\)/g, \"%29\"); //Replace right parentheses with their encoding\n", "\t link_text = link_text.replace(/ /g, \"-\"); //Replace all spaces with dashes to create links\n", "\t toc_text += link_text;\n", "\t toc_text += \")\\n\";\n", "\t prev_lev = get_level(cell);\n", "\t}\n", " }\n", " toc_cell.unrender();\n", " toc_cell.set_text(toc_text);\n", " toc_cell.render();\n", "}\n", "$([IPython.events]).on('status_started.Kernel notebook_loaded.Notebook', table_of_contents);" ], "metadata": {}, "output_type": "display_data" } ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#Table of Contents\n", "* [Simulations: Topic](#Simulations:-Topic)\n", "* [Review assignment](#Review-assignment)\n" ] }, { "cell_type": "heading", "level": 1, "metadata": {}, "source": [ "Simulations: Topic" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "As usual, start by grabbing the notebooks of this week (`w8_general`). They are once again over [here](http://tiny.cc/topocm_smc)." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Title\n", "\n", "description" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Title\n", "\n", "description" ] }, { "cell_type": "code", "collapsed": false, "input": [ "MoocSelfAssessment()" ], "language": "python", "metadata": {}, "outputs": [ { "html": [ "

MoocSelfAssessment description

\n", "

In the live version of the course, you would need to share your solution and grade yourself.

" ], "metadata": {}, "output_type": "pyout", "text": [ "MoocSelfAssessment(**{'openassessment_self': '\\n Simulation results\\n \\n \\n \\n \\n This is a self-assessment problem, and you should estimate how much you have done.\\n\\nPlease do not just give yourself points: the course grading policy does allow you to skip the simulations completely and still pass the course.\\n\\nConsider this grade also a way to providing information to us. Are we going too fast? Are the tasks too hard?\\n\\nIf you didn\\'t manage to get some part done, feel free to ask for advice in discussions.\\n\\nIn the text entry field just leave a link to your notebooks.\\n\\nBut there\\'s also a much better use for them: go to the discussion below and share the notebooks also with your colleagues.\\n \\n 0\\n \\n What is the fraction of the tasks that you were able to accomplish? \\n \\n \\n \\n \\n \\n \\n \\n \\n', 'review_due': 16, 'url_name': None, 'due': 9})" ] } ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Now share your results:**" ] }, { "cell_type": "code", "collapsed": false, "input": [ "MoocDiscussion('Labs', 'XXX')" ], "language": "python", "metadata": {}, "outputs": [ { "html": [ "

Discussion entitled 'XXX' is available in the online version of the course.

" ], "metadata": {}, "output_type": "pyout", "text": [ "MoocDiscussion(**{'discussion_category': 'Labs', 'discussion_target': 'XXX', 'display_name': 'XXX', 'discussion_id': '62e326c8849cd46fe04e227e94b5a70c'})" ] } ] }, { "cell_type": "heading", "level": 1, "metadata": {}, "source": [ "Review assignment" ] }, { "cell_type": "code", "collapsed": false, "input": [ "display_html(PreprintReference('', description=\"\"))\n", "display_html(PreprintReference('', description=\"\"))\n", "display_html(PreprintReference('', description=\"\"))\n", "display_html(PreprintReference('', description=\"\"))" ], "language": "python", "metadata": {}, "outputs": [] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Bonus: Find your own paper to review!\n", "\n", "Do you know of another paper that fits into the topics of this week, and you think is good?\n", "Then you can get bonus points by reviewing that paper instead!" ] }, { "cell_type": "code", "collapsed": false, "input": [ "MoocPeerAssessment()" ], "language": "python", "metadata": {}, "outputs": [ { "html": [ "

Read one of the above papers and see how it is\n", "related to the current topic.

\n", "

In the live version of the course, you would need to write a summary which is then assessed by your peers.

" ], "metadata": {}, "output_type": "pyout", "text": [ "MoocPeerAssessment(**{'must_be_graded_by': 3, 'url_name': None, 'due': 9, 'review_due': 16, 'must_grade': 5, 'openassessment_peer': '\\n Paper Review Assessment\\n \\n \\n \\n \\n Please pick one of the papers above, or if you know of a good paper that fits into this week\\'s topic, pick that one.\\n\\nLook through the paper you chose, and try to understand what is happening.\\n\\nOK, begin forming your report: start by copying the paper title and the URL.\\nTHIS IS IMPORTANT! (Your report will be read by your colleagues, and they will need this information.)\\n\\nFirst, try to tell: what is the main thing that happens in the paper. What do the authors do?\\n\\nNext, write in a single paragraph: which concepts that you learned this week appear in the paper?\\nWhere do they appear?\\n\\nNow in a new paragraph answer what new things you learned from the paper, compared to what you learned from our course?\\nIt\\'s OK if you don\\'t understand some (or even most) details, but try to find and formulate at least something new that you have learned.\\nPoint out to the places in text or to figures, which are the most valuable.\\n\\nFinally tell: What do you think are the strong sides of the paper?\\nWhat are the weak sides? Do you see something that you think could be improved?\\nDo you have some questions that the authors do not answer?\\nExplain why you think that way.\\n \\n Ideas\\n \\n Did reading the report help you to understand what the paper is about?\\n(Here and later if you were reviewing the same paper, try to imagine that you didn\\'t read it before)\\n \\n \\n \\n \\n \\n 0\\n \\n Did you learn something from the report itself (before you read the paper)\\n \\n \\n \\n \\n \\n 1\\n \\n Do you find the evaluation of the strengths and weaknesses of the paper shown in the report convincing?\\n \\n \\n \\n \\n (Optional) What aspects of this report stood out to you? What did it do well? How could it improve?\\n\\n This report was...\\n\\n \\n \\n'})" ] } ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Do you have questions about what you read? Would you like to suggest other papers? Tell us:**" ] }, { "cell_type": "code", "collapsed": false, "input": [ "MoocDiscussion(\"Reviews\", \"XXX\")" ], "language": "python", "metadata": {}, "outputs": [ { "html": [ "

Discussion entitled 'XXX' is available in the online version of the course.

" ], "metadata": {}, "output_type": "pyout", "text": [ "MoocDiscussion(**{'discussion_category': 'Reviews', 'discussion_target': 'XXX', 'display_name': 'XXX', 'discussion_id': '879ea49da6fa319ba7ba8a2619d9dcf6'})" ] } ] } ], "metadata": {} } ] }