-
Notifications
You must be signed in to change notification settings - Fork 11
Expand file tree
/
Copy pathLearning.html
More file actions
247 lines (233 loc) · 17.1 KB
/
Copy pathLearning.html
File metadata and controls
247 lines (233 loc) · 17.1 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
<!DOCTYPE html>
<html class="writer-html5" lang="en" >
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Useful Python Learning Resources — Programming in Python 7.0 documentation</title>
<link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
<link rel="stylesheet" href="../_static/css/theme.css" type="text/css" />
<!--[if lt IE 9]>
<script src="../_static/js/html5shiv.min.js"></script>
<![endif]-->
<script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
<script src="../_static/jquery.js"></script>
<script src="../_static/underscore.js"></script>
<script src="../_static/doctools.js"></script>
<script src="../_static/js/theme.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
<link rel="next" title="Basic Python" href="BasicPython.html" />
<link rel="prev" title="How to run a python file" href="HowToRunAPythonFile.html" />
</head>
<body class="wy-body-for-nav">
<div class="wy-grid-for-nav">
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
<div class="wy-side-scroll">
<div class="wy-side-nav-search" style="background: #4b2e83" >
<a href="../index.html">
<img src="../_static/UWPCE_logo_full.png" class="logo" alt="Logo"/>
</a>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
<input type="text" name="q" placeholder="Search docs" />
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
</form>
</div>
</div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
<p class="caption" role="heading"><span class="caption-text">Topics in the Program</span></p>
<ul class="current">
<li class="toctree-l1"><a class="reference internal" href="../topics/01-setting_up/index.html">1. Setting up your Environment</a></li>
<li class="toctree-l1 current"><a class="reference internal" href="../topics/02-basic_python/index.html">2. Basic Python</a><ul class="current">
<li class="toctree-l2"><a class="reference internal" href="HowToRunAPythonFile.html">How to run a python file</a></li>
<li class="toctree-l2 current"><a class="current reference internal" href="#">Useful Python Learning Resources</a></li>
<li class="toctree-l2"><a class="reference internal" href="BasicPython.html">Basic Python</a></li>
<li class="toctree-l2"><a class="reference internal" href="Functions.html">More on Functions</a></li>
<li class="toctree-l2"><a class="reference internal" href="../exercises/codingbat.html">Practice with CodingBat</a></li>
<li class="toctree-l2"><a class="reference internal" href="../exercises/grid_printer.html">Grid Printer Exercise</a></li>
<li class="toctree-l2"><a class="reference internal" href="../exercises/fizz_buzz.html">Fizz Buzz Exercise</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../topics/03-recursion_booleans/index.html">3. Booleans and Recursion</a></li>
<li class="toctree-l1"><a class="reference internal" href="../topics/04-sequences_iteration/index.html">4. Sequences and Iteration</a></li>
<li class="toctree-l1"><a class="reference internal" href="../topics/05-text_handling/index.html">5. Basic Text Handling</a></li>
<li class="toctree-l1"><a class="reference internal" href="../topics/06-exceptions/index.html">6. Exception Handling</a></li>
<li class="toctree-l1"><a class="reference internal" href="../topics/07-unit_testing/index.html">7. Unit Testing</a></li>
<li class="toctree-l1"><a class="reference internal" href="../topics/08-dicts_sets/index.html">8. Dictionaries and Sets</a></li>
<li class="toctree-l1"><a class="reference internal" href="../topics/09-files/index.html">9. File Handling</a></li>
<li class="toctree-l1"><a class="reference internal" href="../topics/10-modules_packages/index.html">10. Modules and Packages</a></li>
<li class="toctree-l1"><a class="reference internal" href="../topics/11-argument_passing/index.html">11. Advanced Argument Passing</a></li>
<li class="toctree-l1"><a class="reference internal" href="../topics/12-comprehensions/index.html">12. Comprehensions</a></li>
<li class="toctree-l1"><a class="reference internal" href="../topics/13-intro_oo/index.html">13. Intro to Object Oriented Programing</a></li>
<li class="toctree-l1"><a class="reference internal" href="../topics/14-magic_methods/index.html">14. Properties and Magic Methods</a></li>
<li class="toctree-l1"><a class="reference internal" href="../topics/15-subclassing/index.html">15. Subclassing and Inheritance</a></li>
<li class="toctree-l1"><a class="reference internal" href="../topics/16-multiple_inheritance/index.html">16. Multiple Inheritance</a></li>
<li class="toctree-l1"><a class="reference internal" href="../topics/17-functional_programming/index.html">17. Introduction to Functional Programming</a></li>
<li class="toctree-l1"><a class="reference internal" href="../topics/18-advanced_testing/index.html">18. Advanced Testing</a></li>
<li class="toctree-l1"><a class="reference internal" href="../topics/99-extras/index.html">19. Extra Topics</a></li>
</ul>
</div>
</div>
</nav>
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" style="background: #4b2e83" >
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
<a href="../index.html">Programming in Python</a>
</nav>
<div class="wy-nav-content">
<div class="rst-content style-external-links">
<div role="navigation" aria-label="Page navigation">
<ul class="wy-breadcrumbs">
<li><a href="../index.html" class="icon icon-home"></a> »</li>
<li><a href="../topics/02-basic_python/index.html"><span class="section-number">2. </span>Basic Python</a> »</li>
<li>Useful Python Learning Resources</li>
<li class="wy-breadcrumbs-aside">
<a href="../_sources/modules/Learning.rst.txt" rel="nofollow"> View page source</a>
</li>
</ul><div class="rst-breadcrumbs-buttons" role="navigation" aria-label="Sequential page navigation">
<a href="HowToRunAPythonFile.html" class="btn btn-neutral float-left" title="How to run a python file" accesskey="p"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
<a href="BasicPython.html" class="btn btn-neutral float-right" title="Basic Python" accesskey="n">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
</div>
<hr/>
</div>
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
<div itemprop="articleBody">
<div class="section" id="useful-python-learning-resources">
<span id="python-learning-resources"></span><h1>Useful Python Learning Resources<a class="headerlink" href="#useful-python-learning-resources" title="Permalink to this headline"></a></h1>
<p>In addition to the material we cover in class, there are numerous online
resources to help a newcomer get to know Python. The following list represents
the best-known and best-regarded of the breed. If you are itching for a bit
more work on your Python chops, you should try these out.</p>
<div class="section" id="python-language-resources">
<h2>Python Language Resources<a class="headerlink" href="#python-language-resources" title="Permalink to this headline"></a></h2>
<p>As a Python programmer, you’ll want to keep a bookmark pointed at the
official Python documentation (<a class="reference external" href="https://docs.python.org/3/">https://docs.python.org/3/</a>), especially
the documentation for the standard library
(<a class="reference external" href="https://docs.python.org/3/library/index.html">https://docs.python.org/3/library/index.html</a>). However, there are a
number of additional resources you can (and should) use to help build
your Python chops.</p>
<div class="section" id="for-the-beginner">
<h3>For the beginner<a class="headerlink" href="#for-the-beginner" title="Permalink to this headline"></a></h3>
<div class="section" id="getting-started-tutorials">
<h4>Getting started tutorials<a class="headerlink" href="#getting-started-tutorials" title="Permalink to this headline"></a></h4>
<ul class="simple">
<li><p><strong>Jessica McKeller’s begining tutorial</strong> (Video)
<a class="reference external" href="https://www.youtube.com/watch?v=MirG-vJOg04">https://www.youtube.com/watch?v=MirG-vJOg04</a></p></li>
<li><p><strong>The Python Tutorial</strong>
(<a class="reference external" href="https://docs.python.org/3/tutorial/">https://docs.python.org/3/tutorial/</a>): This is the
official tutorial from the Python website. No more authoritative source is
available.</p></li>
<li><p><strong>Code Academy Python Track</strong>
(<a class="reference external" href="http://www.codecademy.com/tracks/python">http://www.codecademy.com/tracks/python</a>): Often
cited as a great resource, this site offers an entertaining and engaging
approach and in-browser work.</p></li>
<li><p><strong>Learn Python the Hard Way</strong>
(<a class="reference external" href="https://learnpythonthehardway.org/python3/">https://learnpythonthehardway.org/python3/</a>): Solid
and gradual. This course offers a great foundation for folks who have never
programmed in any language before.</p></li>
</ul>
</div>
<div class="section" id="complete-books-series">
<h4>Complete Books / Series<a class="headerlink" href="#complete-books-series" title="Permalink to this headline"></a></h4>
<ul class="simple">
<li><p><strong>Dive Into Python 3</strong>
(<a class="reference external" href="https://www.apress.com/us/book/9781430224150">https://www.apress.com/us/book/9781430224150</a>): The updated version
of a classic. This book offers an introduction to Python aimed at the student
who has experience programming in another language. It used to be available free online – you can still find PDF copies on the web.</p></li>
<li><p><strong>Python for You and Me</strong>
(<a class="reference external" href="http://pymbook.readthedocs.org/en/latest/">http://pymbook.readthedocs.org/en/latest/</a>): Simple
and clear. This is a great book for absolute newcomers, or to keep as a quick
reference as you get used to the language.</p></li>
<li><p><strong>Think Python</strong>
(<a class="reference external" href="http://greenteapress.com/thinkpython2/html/index.html">http://greenteapress.com/thinkpython2/html/index.html</a>): Methodical and
complete. This book offers a very “computer science-style” introduction to
Python. It is really an intro to Python <em>in the service of</em> Computer Science,
though, so while helpful for the absolute newcomer, it isn’t quite as
“pythonic” as it might be.</p></li>
<li><p><strong>Core Python Programming</strong>
(<a class="reference external" href="http://corepython.com/">http://corepython.com/</a>): Only available as a dead trees version, but
if you like to have book to hold in your hands anyway, this
is the best textbook style introduction out there. It starts from the
beginning, but gets into the full language. Published in 2009, but still in
print, with updated appendixes available for new language features.</p></li>
<li><p><strong>Python 101</strong>
(<a class="reference external" href="https://leanpub.com/python_101">https://leanpub.com/python_101</a>)
Available as a reasonably priced ebook. This is a new one from a popular blogger
about Python. Lots of practical examples. Also available as a Kindle book:
<a class="reference external" href="http://www.amazon.com/Python-101-Michael-Driscoll-ebook/dp/B00KQTFHNK">http://www.amazon.com/Python-101-Michael-Driscoll-ebook/dp/B00KQTFHNK</a></p></li>
</ul>
</div>
<div class="section" id="python-tutor">
<h4>Python Tutor<a class="headerlink" href="#python-tutor" title="Permalink to this headline"></a></h4>
<p>Python Tutor is a really nifty site that lets you write and run Python code, and visualize what is going on as it runs. Really gives you idea what is going on under the hood, with the stack, etc.</p>
<p><a class="reference external" href="http://pythontutor.com/">http://pythontutor.com/</a></p>
</div>
</div>
<div class="section" id="next-steps">
<h3>Next Steps<a class="headerlink" href="#next-steps" title="Permalink to this headline"></a></h3>
<div class="section" id="web-sites-services">
<h4>Web sites / services:<a class="headerlink" href="#web-sites-services" title="Permalink to this headline"></a></h4>
<ul class="simple">
<li><p><strong>New Coder</strong>
(<a class="reference external" href="http://newcoder.io">http://newcoder.io</a>): advertised as “Five lifejackets to throw to
the new coder”, this site offers five very interesting tutorials written in
an engaging style. Not an introduction. More a second step.</p></li>
<li><p><strong>OpenHatch</strong>
(<a class="reference external" href="https://openhatch.org/wiki/Intermediate_Python_Workshop/Projects">https://openhatch.org/wiki/Intermediate_Python_Workshop/Projects</a>):
The Open Hatch project offers a number of workshops with well-paced
intermediate tutorials for Python programming. A great place to go once you
have the basics down and are ready for more challenging work.</p></li>
</ul>
</div>
<div class="section" id="advanced-books">
<h4>Advanced Books<a class="headerlink" href="#advanced-books" title="Permalink to this headline"></a></h4>
<ul class="simple">
<li><p><strong>The Python Cookbook</strong>
(<a class="reference external" href="http://chimera.labs.oreilly.com/books/1230000000393">http://chimera.labs.oreilly.com/books/1230000000393</a>):
The Python Cookbook provides practical solutions to various programming tasks, along with excellent explanations of how they work. Written by David Beazley – Python author and instructor extraordinaire. Also available fully online: (<a class="reference external" href="http://chimera.labs.oreilly.com/books/1230000000393/index.html">http://chimera.labs.oreilly.com/books/1230000000393/index.html</a>)</p></li>
<li><p><strong>Fluent Python</strong>
(<a class="reference external" href="http://shop.oreilly.com/product/0636920032519.do">http://shop.oreilly.com/product/0636920032519.do</a>): Fluent Python is an excellent deeper dive into the inner workings of Python. Written for folks that already understand the basics of Python, it goes provides explainations of the more advanced topics in Python. If we were going to use a textbook for an advanced Python class, this would be it.</p></li>
</ul>
</div>
</div>
<div class="section" id="evaluating-your-options">
<h3>Evaluating Your Options<a class="headerlink" href="#evaluating-your-options" title="Permalink to this headline"></a></h3>
<p>The blurbs above are short descriptions of the material in each resource. We’ve
drawn them both from our own usage of the various tools, and from a wonderful
set of online reviews:</p>
<p>(<a class="reference external" href="http://planningadinner.blogspot.com/search/label/So%20you%20want%20to%20learn%20Python.%20What%27s%20next%3F">http://planningadinner.blogspot.com/search/label/So%20you%20want%20to%20learn%20Python.%20What%27s%20next%3F</a>)</p>
<p>done by Marta Maria Casetti on her blog, “Planning a Dinner”
(<a class="reference external" href="http://planningadinner.blogspot.com/">http://planningadinner.blogspot.com/</a>).</p>
<p>The poster she presented at PyCon 2014
(<a class="reference external" href="http://planningadinner.blogspot.com/2014/04/the-poster.html">http://planningadinner.blogspot.com/2014/04/the-poster.html</a>)
as a result of that research offers some great hints about the aspects of
Python programming best covered by each resource. I would urge any new student
of Python to take the time to look over this poster to help determine the best
path forward for themselves.</p>
</div>
</div>
</div>
</div>
</div>
<footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
<a href="HowToRunAPythonFile.html" class="btn btn-neutral float-left" title="How to run a python file" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
<a href="BasicPython.html" class="btn btn-neutral float-right" title="Basic Python" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
</div>
<hr/>
<div role="contentinfo">
<p>© Copyright 2020, University of Washington, Natasha Aleksandrova, Christopher Barker, Brian Dorsey, Cris Ewing, Christy Heaton, Jon Jacky, Maria McKinley, Andy Miles, Rick Riehle, Joseph Schilz, Joseph Sheedy, Hosung Song. Creative Commons Attribution-ShareAlike 4.0 license.</p>
</div>
Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a
<a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a>
provided by <a href="https://readthedocs.org">Read the Docs</a>.
</footer>
</div>
</div>
</section>
</div>
<script>
jQuery(function () {
SphinxRtdTheme.Navigation.enable(true);
});
</script>
</body>
</html>