Skip to content
This repository has been archived by the owner on Jan 3, 2018. It is now read-only.

Commit

Permalink
Importing more material from The Hacker Within
Browse files Browse the repository at this point in the history
  • Loading branch information
gvwilson committed Jul 23, 2013
1 parent ecdebf9 commit 6e7b321
Show file tree
Hide file tree
Showing 102 changed files with 17,262 additions and 103 deletions.
252 changes: 149 additions & 103 deletions lessons/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -10,106 +10,152 @@
to include all of the lesson material for viewing and checking.
</p>

<dl>

<dt>The Unix Shell</dt>
<dd>
This introduction is based on materials by
Milad Fatenejad, Sasha Wood, and Radhika Khetani
of the University of Wisconsin - Madison's Hacker Within group.
It includes a <a href="thw-shell/tutorial.html">single tutorial</a>.
This material has not yet been broken down into includable chunks.
</dd>

<dt>Version Control With Git</dt>
<dd>
This introduction is based on materials by
Katy Huff and Anthony Scopatz
(of the University of Wisconsin - Madison's Hacker Within group)
as modified by Joshua R. Smith and Sri Hari Krishna Narayanan.
It includes:
<ul>
<li><a href="thw-git/instructors.html">Instructors' Guide</a></li>
<li><a href="thw-git/local.html">Local Operations</a></li>
<li><a href="thw-git/remote.html">Using Remote Repositories</a></li>
</ul>
These materials have not yet been broken down into includable chunks.
</dd>

<dt>Python Debugging</dt>
<dd>
This introduction is based on materials by
Anthony Scopatz and Patrick Fuller.
It includes a <a href="python-debugging/tutorial.html">single tutorial</a>.
This materials have not yet been broken down into includable chunks.
</dd>

<dt><a href="guide-shell.html">Instructor's Guide for the Unix Shell</a></dt>
<dd>
Core material for the Unix shell:
the organization of files and directories,
creating and deleting things,
the pipe and filter model,
processing multiple files using loops,
putting commonly-used commands in shell scripts,
and finding things.
<br/>
To do: diagrams.
</dd>

<dt><a href="guide-invperc.html">Instructor's Guide for Invasion Percolation Example</a></dt>
<dd>
Invasion percolation is a good half-day example
that brings together many of the things we teach about programming
while introducing new concepts like performance profiling and development lifecycles.
<br/>
To do: diagrams; challenges; IPython Notebooks.
</dd>

<dt><a href="guide-setdict.html">Instructor's Guide for Sets and Dictionaries</a></dt>
<dd>
Optional material for Python programming:
sets and dictionaries,
how hash-based data structures work,
the JSON data format
(which relies heavily on dictionaries),
and three examples of increasing complexity.
<br/>
To do: diagrams.
</dd>

<dt><a href="guide-db.html">Instructor's Guide for Databases and SQL</a></dt>
<dd>
Core material for SQL databases:
selection,
removing duplicates,
filtering with Boolean conditions,
performing calculations on values,
sorting,
handling NULLs,
aggregating values,
grouping,
joining multiple tables,
a <em>very</em> brief introduction to creating tables and inserting data,
an equally brief coverage of transactions,
and a couple of examples showing how to uses databases from inside a program.
<br/>
To do: diagrams, and material on how to design and structure tables.
</dd>

<dt><a href="guide-web.html">Instructor's Guide for Web Programming with Python</a></dt>
<dd>
Preliminary material on web programming:
a little bit of history,
basic HTML,
using a templating engine to create pages,
how HTTP works,
fetching data programmatically,
providing data by dynamically generating static pages,
why and how to create an index,
and data syndication.
<br/>
To do: diagrams; switch from Jinja2 to Jekyll (since that's what GitHub uses); try out.
</dd>

</dl>
<div>
<h2>Material from The Hacker Within at the University of Wisconsin - Madison</h2>

<dl>

<dt>The Unix Shell</dt>
<dd>
This introduction is based on materials by
Milad Fatenejad, Sasha Wood, and Radhika Khetani,
and includes a <a href="thw-shell/tutorial.html">single tutorial</a>.
</dd>

<dt>Version Control With Git</dt>
<dd>
This introduction is based on materials by
Katy Huff and Anthony Scopatz
as modified by Joshua R. Smith and Sri Hari Krishna Narayanan.
It includes:
<ul>
<li><a href="thw-git/instructors.html">Instructors' Guide</a></li>
<li><a href="thw-git/local.html">Local Operations</a></li>
<li><a href="thw-git/remote.html">Using Remote Repositories</a></li>
</ul>
</dd>

<dt>Introduction to Python</dt>
<dd>
An introduction to the basic features of Python,
which covers:
<ul>
<li><a href="thw-python/vars-types/tutorial.html">Variables and Types</a></li>
<li><a href="thw-python/flow-control/tutorial.html">Flow Control</a></li>
<li><a href="thw-python/data-structures/tutorial.html">Data Structures</a></li>
<li><a href="thw-python/strings-io/tutorial.html">Strings and File I/O</a></li>
</ul>
Most sections also include some exercise material.
</dd>

<dt>Python Debugging</dt>
<dd>
This introduction is based on materials
originally written by Anthony Scopatz and Patrick Fuller.
It includes a <a href="thw-python-debugging/tutorial.html">single tutorial</a>.
</dd>

<dt>NumPy</dt>
<dd>
An introduction to array-based computing in Python from Matthew Terry.
It consists of a <a href="thw-numpy.html">single tutorial</a>.
</dd>

<dt>SciPy</dt>
<dd>
A supplement to the NumPy tutorial from Anthony Scopatz.
It also consists of a <a href="thw-scipy.html">single tutorial</a>.
</dd>

<dt>Plotting in Python with matplotlib</dt>
<dd>
An introduction to plotting in Python using matplotlib
originally written by Anthony Scopatz and Katy Huff.
It consists of a <a href="thw-matplotlib/tutorial.html">single tutorial</a>.
</dd>

<dt>Documentation</dt>
<dd>
An introduction to documenting code from Anthony Scopatz.
It consists of a <a href="thw-matplotlib/tutorial.html">single tutorial</a>.
</dd>

</dl>
</div>

<div>
<h2>Instructor's Guide</h2>

<dl>

<dt><a href="guide-shell.html">Instructor's Guide for the Unix Shell</a></dt>
<dd>
Core material for the Unix shell:
the organization of files and directories,
creating and deleting things,
the pipe and filter model,
processing multiple files using loops,
putting commonly-used commands in shell scripts,
and finding things.
<br/>
To do: diagrams.
</dd>

<dt><a href="guide-invperc.html">Instructor's Guide for Invasion Percolation Example</a></dt>
<dd>
Invasion percolation is a good half-day example
that brings together many of the things we teach about programming
while introducing new concepts like performance profiling and development lifecycles.
<br/>
To do: diagrams; challenges; IPython Notebooks.
</dd>

<dt><a href="guide-setdict.html">Instructor's Guide for Sets and Dictionaries</a></dt>
<dd>
Optional material for Python programming:
sets and dictionaries,
how hash-based data structures work,
the JSON data format
(which relies heavily on dictionaries),
and three examples of increasing complexity.
<br/>
To do: diagrams.
</dd>

<dt><a href="guide-db.html">Instructor's Guide for Databases and SQL</a></dt>
<dd>
Core material for SQL databases:
selection,
removing duplicates,
filtering with Boolean conditions,
performing calculations on values,
sorting,
handling NULLs,
aggregating values,
grouping,
joining multiple tables,
a <em>very</em> brief introduction to creating tables and inserting data,
an equally brief coverage of transactions,
and a couple of examples showing how to uses databases from inside a program.
<br/>
To do: diagrams, and material on how to design and structure tables.
</dd>

<dt><a href="guide-web.html">Instructor's Guide for Web Programming with Python</a></dt>
<dd>
Preliminary material on web programming:
a little bit of history,
basic HTML,
using a templating engine to create pages,
how HTTP works,
fetching data programmatically,
providing data by dynamically generating static pages,
why and how to create an index,
and data syndication.
<br/>
To do: diagrams; switch from Jinja2 to Jekyll (since that's what GitHub uses); try out.
</dd>

</dl>

</div>
130 changes: 130 additions & 0 deletions lessons/thw-documentation/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,130 @@
# Makefile for Sphinx documentation
#

# You can set these variables from the command line.
SPHINXOPTS =
SPHINXBUILD = sphinx-build
PAPER =
BUILDDIR = _build

# Internal variables.
PAPEROPT_a4 = -D latex_paper_size=a4
PAPEROPT_letter = -D latex_paper_size=letter
ALLSPHINXOPTS = -d $(BUILDDIR)/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) .

.PHONY: help clean html dirhtml singlehtml pickle json htmlhelp qthelp devhelp epub latex latexpdf text man changes linkcheck doctest

help:
@echo "Please use \`make <target>' where <target> is one of"
@echo " html to make standalone HTML files"
@echo " dirhtml to make HTML files named index.html in directories"
@echo " singlehtml to make a single large HTML file"
@echo " pickle to make pickle files"
@echo " json to make JSON files"
@echo " htmlhelp to make HTML files and a HTML help project"
@echo " qthelp to make HTML files and a qthelp project"
@echo " devhelp to make HTML files and a Devhelp project"
@echo " epub to make an epub"
@echo " latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter"
@echo " latexpdf to make LaTeX files and run them through pdflatex"
@echo " text to make text files"
@echo " man to make manual pages"
@echo " changes to make an overview of all changed/added/deprecated items"
@echo " linkcheck to check all external links for integrity"
@echo " doctest to run all doctests embedded in the documentation (if enabled)"

clean:
-rm -rf $(BUILDDIR)/*

html:
$(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR)/html
@echo
@echo "Build finished. The HTML pages are in $(BUILDDIR)/html."

dirhtml:
$(SPHINXBUILD) -b dirhtml $(ALLSPHINXOPTS) $(BUILDDIR)/dirhtml
@echo
@echo "Build finished. The HTML pages are in $(BUILDDIR)/dirhtml."

singlehtml:
$(SPHINXBUILD) -b singlehtml $(ALLSPHINXOPTS) $(BUILDDIR)/singlehtml
@echo
@echo "Build finished. The HTML page is in $(BUILDDIR)/singlehtml."

pickle:
$(SPHINXBUILD) -b pickle $(ALLSPHINXOPTS) $(BUILDDIR)/pickle
@echo
@echo "Build finished; now you can process the pickle files."

json:
$(SPHINXBUILD) -b json $(ALLSPHINXOPTS) $(BUILDDIR)/json
@echo
@echo "Build finished; now you can process the JSON files."

htmlhelp:
$(SPHINXBUILD) -b htmlhelp $(ALLSPHINXOPTS) $(BUILDDIR)/htmlhelp
@echo
@echo "Build finished; now you can run HTML Help Workshop with the" \
".hhp project file in $(BUILDDIR)/htmlhelp."

qthelp:
$(SPHINXBUILD) -b qthelp $(ALLSPHINXOPTS) $(BUILDDIR)/qthelp
@echo
@echo "Build finished; now you can run "qcollectiongenerator" with the" \
".qhcp project file in $(BUILDDIR)/qthelp, like this:"
@echo "# qcollectiongenerator $(BUILDDIR)/qthelp/FLASH.qhcp"
@echo "To view the help file:"
@echo "# assistant -collectionFile $(BUILDDIR)/qthelp/FLASH.qhc"

devhelp:
$(SPHINXBUILD) -b devhelp $(ALLSPHINXOPTS) $(BUILDDIR)/devhelp
@echo
@echo "Build finished."
@echo "To view the help file:"
@echo "# mkdir -p $$HOME/.local/share/devhelp/FLASH"
@echo "# ln -s $(BUILDDIR)/devhelp $$HOME/.local/share/devhelp/FLASH"
@echo "# devhelp"

epub:
$(SPHINXBUILD) -b epub $(ALLSPHINXOPTS) $(BUILDDIR)/epub
@echo
@echo "Build finished. The epub file is in $(BUILDDIR)/epub."

latex:
$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
@echo
@echo "Build finished; the LaTeX files are in $(BUILDDIR)/latex."
@echo "Run \`make' in that directory to run these through (pdf)latex" \
"(use \`make latexpdf' here to do that automatically)."

latexpdf:
$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
@echo "Running LaTeX files through pdflatex..."
make -C $(BUILDDIR)/latex all-pdf
@echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex."

text:
$(SPHINXBUILD) -b text $(ALLSPHINXOPTS) $(BUILDDIR)/text
@echo
@echo "Build finished. The text files are in $(BUILDDIR)/text."

man:
$(SPHINXBUILD) -b man $(ALLSPHINXOPTS) $(BUILDDIR)/man
@echo
@echo "Build finished. The manual pages are in $(BUILDDIR)/man."

changes:
$(SPHINXBUILD) -b changes $(ALLSPHINXOPTS) $(BUILDDIR)/changes
@echo
@echo "The overview file is in $(BUILDDIR)/changes."

linkcheck:
$(SPHINXBUILD) -b linkcheck $(ALLSPHINXOPTS) $(BUILDDIR)/linkcheck
@echo
@echo "Link check complete; look for any errors in the above output " \
"or in $(BUILDDIR)/linkcheck/output.txt."

doctest:
$(SPHINXBUILD) -b doctest $(ALLSPHINXOPTS) $(BUILDDIR)/doctest
@echo "Testing of doctests in the sources finished, look at the " \
"results in $(BUILDDIR)/doctest/output.txt."
Binary file added lessons/thw-documentation/_static/flash.ico
Binary file not shown.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading

0 comments on commit 6e7b321

Please sign in to comment.