Skip to content

Commit 0d28fc3

Browse files
added most of the rest of the material
1 parent 7166b9e commit 0d28fc3

201 files changed

Lines changed: 32129 additions & 80 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

README.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,9 @@
22

33
Course Materials for Python 210
44

5+
Published here:
6+
7+
https://uwpce-pythoncert.github.io/Python210CourseMaterials/
8+
9+
510
**LICENSE:** Creative Commons Attribution-ShareAlike 4.0 International Public License

source/class_schedule/index.rst

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
2+
#########################
3+
Python 210 Class Schedule
4+
#########################
5+
6+
Orientation
7+
===========
8+
9+
.. toctree::
10+
:maxdepth: 3
11+
12+
orientation
13+
lesson01
14+
lesson02
15+
lesson03
16+
lesson04
17+
lesson05
18+
lesson06
19+
lesson07
20+
lesson08
21+
lesson09
22+
lesson10
23+

source/class_schedule/lesson01.rst

Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
.. _lesson01:
2+
3+
########################################
4+
Lesson 1: Intro to the class and Python
5+
########################################
6+
7+
**Intro to the class and Python**
8+
9+
Pre-class prep
10+
==============
11+
12+
Get your Environment set up!
13+
14+
If you were able to attend the pre-class orientation, you should be all set. if not, then do this:
15+
16+
**Install Python**
17+
18+
:ref:`installing_python`
19+
20+
**Set Up a Great Dev Environment**
21+
22+
Make sure you have the basics of command line usage down:
23+
24+
Work through the supplemental tutorials on setting up your
25+
Command Line (::ref:`shell_customization`) for good development support.
26+
27+
Make sure you've got your editor set up productively -- at the very very
28+
least, make sure it does Python indentation and syntax coloring well.
29+
30+
:ref:`setting_up_dev_environment`
31+
32+
33+
In-class Activities
34+
===================
35+
36+
.. toctree::
37+
:maxdepth: 1
38+
39+
../modules/Class_introduction
40+
41+
../modules/Git
42+
43+
../modules/BasicPython
44+
45+
../modules/Py2vsPy3
46+
47+
48+
A few exercises: :ref:`python_pushups`
49+
50+
51+
Post-class Activities
52+
=====================
53+
54+
Read the rest of Basic Python Syntax intro, if we didn't have time in class:
55+
:ref:`basic_python_syntax`
56+
57+
Finish the Python Pushups exercises: :ref:`python_pushups`
58+
59+
Finish getting your environment set up.
60+
61+
Do the prep for next class: :ref:`session_1_02`
62+

source/class_schedule/lesson02.rst

Lines changed: 103 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,103 @@
1+
.. _session_1_02:
2+
3+
#####################################
4+
Session 2: Basic Python and Functions
5+
#####################################
6+
7+
**Basic Python and Functions**
8+
9+
Pre-class prep
10+
==============
11+
12+
Dev environment
13+
---------------
14+
15+
Make sure you know how to create a python file, save it, edit it, run it, etc.
16+
17+
Also make sure you are comfortable "playing" with python in the iPython command line.
18+
19+
If you are uncomfortable with the command line, brush up on that: `This: <https://learnpythonthehardway.org/python3/appendixa.html>`_ is a good tutorial.
20+
21+
Python
22+
------
23+
24+
Python Tutorial
25+
...............
26+
27+
Tutorials come in many forms, but I define a python "tutorial" as a quick high-level introduction, designed to kick start your python programming. It should give you enough to get something done, but not provide a lot of detailed explanations. If you have been doing a bit of python coding already, or have taken an introductory programing class with Python, then you may be able to skip this step.
28+
29+
Every one of you has a different background and learning style. So take a bit of time to figure out which resource works for you.
30+
31+
:ref:`python_learning_resources`
32+
33+
Provides some options. Do look it over.
34+
35+
Python Basics
36+
-------------
37+
38+
If you are comfortable with the materials in a tutorial, it's time for some more in-depth discussion. Here are a few options to get you started this week:
39+
40+
Finish Reading: :ref:`basic_python_syntax`
41+
42+
Read: :ref:`more_on_functions`
43+
44+
Read: :ref:`documentation`
45+
46+
Supplimental Reading
47+
--------------------
48+
49+
If that is too fast, then here are some good options for another look:
50+
51+
*Think Python:* Chapters 1–6 (http://greenteapress.com/thinkpython2/html/index.html)
52+
53+
*Dive Into Python:* Chapters 1–2 (http://www.diveintopython3.net/)
54+
55+
*LPTHW:* ex. 1–10, 18-21 (https://learnpythonthehardway.org/python3/)
56+
57+
(note: LPTHW used to be totally free --now it looks like you may only get a sneak peak -- darn! -- but the first few "chapters" are available)
58+
59+
**GOAL**
60+
61+
You should be comfortable with working with variables, numbers, strings,
62+
and basic functions before we start class next week.
63+
64+
65+
git
66+
---
67+
68+
We are only using a small subset of git functionality for this class,
69+
but if you feel lost, and/or want to know more, these are some good resources:
70+
71+
http://rogerdudler.github.io/git-guide/
72+
73+
or
74+
75+
https://try.github.io/
76+
77+
78+
In-class Activities
79+
===================
80+
81+
82+
Review :ref:`python_pushups`
83+
84+
Exercises:
85+
----------
86+
87+
:ref:`exercise_grid_printer`
88+
89+
:ref:`exercise_fizz_buzz`
90+
91+
:ref:`exercise_fibonacci`
92+
93+
94+
Post-class Activities
95+
=====================
96+
97+
98+
Finish the Exercises
99+
100+
Look at the next session for reading, etc:
101+
102+
:ref:`session_1_03`
103+

source/class_schedule/lesson03.rst

Lines changed: 83 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,83 @@
1+
.. _session_1_03:
2+
3+
######################################################
4+
Session 3: Booleans, Sequences, Iteration, and Strings
5+
######################################################
6+
7+
**Booleans, Sequences, Iteration, and Strings**
8+
9+
10+
Pre-class prep
11+
==============
12+
13+
Read: :ref:`booleans`
14+
15+
Read: :ref:`sequences`
16+
17+
Read: :ref:`iteration`
18+
19+
Read: :ref:`strings`
20+
21+
22+
Supplemental Reading:
23+
---------------------
24+
25+
Think Python, chapters 7 -- 10 (11, 12)
26+
27+
(http://greenteapress.com/thinkpython/html/thinkpython008.html)
28+
29+
Dive Into Python: chapters 3, 4
30+
31+
(http://www.diveintopython3.net/strings.html)
32+
33+
34+
In-class Activities
35+
===================
36+
37+
Working with Booleans, Conditional Expressions, etc
38+
---------------------------------------------------
39+
40+
Re-write a couple CodingBat exercises, returning the direct boolean results, and/or using ternary expressions.
41+
42+
Variable Scope
43+
--------------
44+
45+
Experiment with ``locals`` by adding this statement one of the functions we wrote last week (or any other function you wrote):
46+
47+
.. code-block:: python
48+
49+
print(locals())
50+
51+
52+
Sequences Exercises
53+
-------------------
54+
55+
:ref:`exercise_slicing`
56+
57+
:ref:`exercise_list_lab`
58+
59+
60+
String Exercises
61+
----------------
62+
:ref:`exercise_string_formatting`
63+
64+
(optional) :ref:`exercise_rot13`
65+
66+
Mailroom Exercises
67+
------------------
68+
69+
You've now got the basics of the language down -- enough to write the first full "program":
70+
71+
:ref:`exercise_mailroom_part1`
72+
73+
74+
Post-class Activites
75+
====================
76+
77+
Finish the mailroom project.
78+
79+
And the other exercises
80+
81+
Look at the next session for reading, etc:
82+
83+
:ref:`session_1_04`

source/class_schedule/lesson04.rst

Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
.. _session_1_04:
2+
3+
################################################
4+
Session 4: Dictionaries, Sets, and File Handling
5+
################################################
6+
7+
Dictionaries, Sets, and File Handling
8+
9+
Pre-class prep
10+
==============
11+
12+
Read:
13+
-----
14+
15+
:ref:`dicts_and_sets`
16+
17+
:ref:`files`
18+
19+
20+
Recommended Reading:
21+
---------------------
22+
23+
* Think Python: Chapters 11, 13, 14
24+
25+
* Dive Into Python3: Sections 2.6, 2.7, 4, 11
26+
27+
http://www.diveintopython3.net/native-datatypes.html#dictionaries
28+
29+
30+
In-class Activities
31+
===================
32+
33+
* Review last sessions labs:
34+
- slicing
35+
- string formatting
36+
37+
* Review looping: ``for`` and ``while``
38+
39+
- ``break`` and ``continue``
40+
41+
- ``else``
42+
43+
* Review mailroom
44+
45+
Exercises:
46+
----------
47+
48+
* :ref:`exercise_dict_lab`
49+
50+
* :ref:`exercise_file_lab`
51+
52+
* Update mailroom with dicts and files: :ref:`exercise_mailroom_part2_dict_files`
53+
54+
* :ref:`exercise_trigrams`
55+
56+
57+
Post-class Activities
58+
=====================
59+
60+
Finish the exercises
61+
62+
Look at the next session for reading, etc:
63+
64+
:ref:`session_1_05`

0 commit comments

Comments
 (0)