Note: assignments and their due dates are listed on the assignments page, not on this page.

Monday Wednesday Thursday Friday
23 Augwelcome
§1.6, §1.9
10am qa.txt 2pm qa.txt 10am video 2pm audio
24 Auginstalling Python and PyCharm
25 Augfrom requirements to software
§1.5
10am slides.pdf 2pm slides.pdf 10am video 2pm video
28 Augambiguity
Exercises 1.1 and 1.2 from textbook
10am slides.pdf 2pm slides.pdf 10am video 2pm video
30 Augpseudocode
wikihow
the 10am lecture wasn’t recorded; use 2pm instead 10am 01-sequence.txt 10am 02-selection.txt 10am 03-iteration.txt 10am 04-declaration.txt 10am 05-update.txt 2pm 01-sequence.txt 2pm 02-selection.txt 2pm 03-iteration.txt 2pm 04-declaration.txt 2pm 05-update.txt 2pm slides.pdf 2pm video
31 Augpseudocode counting squares
1 SepPyCharm
§1.4, §1.7
demo.py 10am demo.py 10am slides.pdf 2pm demo.py 2pm example.py 2pm my_math_rules.py 2pm slides.pdf 10am video 2pm video 2pm video
4 Sepcourse overview with `turtle`, part 1
10am about_for.py 10am slides.pdf 10am turtle_square.py 10am turtle_with_brush.py 2pm for_explainer.py 2pm slides.pdf 2pm turtle_paint.py 2pm turtle_square.py 10am video 2pm video
6 Sepcourse overview with `turtle`, part 2
10am big_turtle_race.py 10am sierpinski_tri.py 10am slides.pdf 10am turtle_race.py 10am turtle_square.py 2pm big_turtle_race.py 2pm for_explainer.py 2pm sierpinski.py 2pm slides.pdf 2pm turtle_race.py 10am video 2pm video
7 Septurtle art contest
8 Sephello, world!
revised chapter 2; §5.2.4–5.2.5; §4.1
PythonTutor 10am get_input.py 10am print_test.py 10am python_variable.py 10am slides.pdf 2pm math_string.py 2pm python_variable.py 2pm slides.pdf 2pm using_print.py 10am video 2pm video
11 Sepvariables, values, and operators
§3 and §4
10am assign_test.py 10am float_is_strange.py 10am function_type.py 10am get_input.py 10am print_test.py 10am python_variable.py 10am slides.pdf 10am you_are_young.py 2pm age_liar.py 2pm float_is_strange.py 2pm func_intro.py 2pm slides.pdf 2pm variable_test.py 10am video 2pm video
13 Sepfunctions – basics, `def`
§5–5.2 and §8–8.2.1
Typo in 10am slides: `'hi' < 'bye'` is `False`, not `True` 10am first_functions.py 10am len_and_raound.py 10am slides.pdf 10am testing_functions.py 10am use_first_functions.py 10am you_are_young.py 2pm first_functions.py 2pm len_and_round.py 2pm slides.pdf 2pm use_first_functions.py 10am video 2pm video
15 Sepfunctions – flow of control
§8.2.2–8.2.6
10am func_tangle.py 10am get.py 10am page_to_read.py 10am poly_func.py 10am slides.pdf 2pm following_functions.py 2pm func_puzzle.py 2pm get.py 2pm read_pages.py 2pm slides.pdf 10am video 2pm video 2pm video 2pm video 2pm video 2pm video
18 Sepfunctions – scope, `global`
§8.3
10am following_functions.py 10am func_swap.py 10am play_with_scope.py 10am slides.pdf 2pm following_functions.py 2pm get.py 2pm scope_quiz.py 2pm slides.pdf 10am video 2pm video
20 Sepdecisions – `if`, `elif`, and `else`
§6.1.2 and §6.2–6.2.3
10am age_classifier.py 10am if_func.py 10am if_intro.py 10am slides.pdf 2pm if_func.py 2pm if_intro.py 2pm slides.pdf 10am video 2pm video
21 Sepexam prep
22 Sepdecisions – logical operators
rest of §6.1–6.2
never use §6.3’s `exit()` function 10am if_and_things.py 10am if_func.py 10am slides.pdf 10am truthiness.py 2pm bad_booleans.py 2pm if_func.py 2pm if_things.py 2pm slides.pdf 10am video 2pm video
25 Sepreview
§2–5.2, §6.1–6.2.3, §8.2.2–8.2.6, §8.3
10am exam1-prep.py 10am slides.pdf 2pm exam1_review.py 2pm slides.pdf 10am video 2pm video
27 Sepexam 1
the exam, key, and TPEGS
28 Sepstrings
§3.4, §8.2.9–8.2.10; skim PEP 8
10am input_print_return.py 10am on_naming.py 10am play_with_scope.py 10am slides.pdf 10am stylish_functions.py 2pm func_style.py 2pm koan.py 2pm readability.py 2pm scope_quiz.py 2pm slides.pdf 10am video 2pm video 2pm video
our own testing writeup
10am pow_test_func.py 10am slides.pdf 10am test_pow.py 2pm func_test_funcs.py 2pm slides.pdf 2pm test_pow.py 10am video 2pm video
5 Octhangman
6 Octrepeating with `while`
§7.1
10am hangman.py 10am hangman2.py 10am input_validation.py 10am making_a_while.py 10am slides.pdf 10am while_examples.py 2pm about_while.py 2pm func_test_funcs.py 2pm hangman.py 2pm hangman2.py 2pm how_to_write_loops.py 2pm slides.pdf 2pm validate_input.py 10am video 10am video 2pm video
9 Octcomposite datatypes – strings, ranges, lists, tuples
§10.4, §11, §12.1, §12.3
10am collections_intro.py 10am loop_over_collections.py 10am slides.pdf 2pm collections_intro.py 2pm hangman2.py 2pm slides.pdf 10am video 2pm video
11 Octiteration – the `for` loop
§7.2
10am basic_iteration.py 10am in_range.py 10am lists_1.py 10am nested_loops.py 10am slides.pdf 2pm basic_iteration.py 2pm following_functions.py 2pm func_style.py 2pm loop_index.py 2pm more_iterations.py 2pm nest_loops.py 2pm slides.pdf 10am video 2pm video
12 Octold cryptography
13 Octmethods and mutability – why `list` is special
§12.2, §12.5,
10am in_range.py 10am rev.py 10am slides.pdf 2pm loop_index.py 2pm rev.py 2pm slides.pdf 10am video 2pm video
16 Octapplications of lists and strings
§10.6, §12.4
10am crypto.py 10am scramble_letters.py 10am slides.pdf 2pm crypto.py 2pm rev.py 2pm slides.pdf 2pm word_scramble.py 10am video 2pm video
18 Octdebugging techniques
hangman_bug.py 10am hangman_bug.py 10am slides.pdf 2pm hangman_bug.py 2pm slides.pdf 10am video 2pm video
19 Octdebugging
20 Octflexible indices – `dict`
§13
10am debug_task.py 10am dict_examples.py 10am phonebook.py 10am slides.pdf 2pm debug_task.py 2pm dict_examples.py 2pm phonebook.py 2pm slides.pdf 10am video 2pm video
23 Octreading data – `open` and `urllib`
§16.2, §27.3
10am file_by_line.py 10am file_intro.py 10am numbers.txt 10am slides.pdf 10am small_roman.py 10am url_confusing.py 10am url_intro.py 2pm file_by_line.py 2pm file_intro.py 2pm read_csv.py 2pm short_roman.py 2pm slides.pdf 2pm url_confusing.py 2pm url_intro.py 10am video 2pm video
25 Octunderstanding data
Wikpedia on delimiter-separated values
vastats.csv 10am csv_inline.py 10am slides.pdf 10am vastats.py 10am vastats2.py 2pm csv_literal.py 2pm slides.pdf 2pm vastats.py 10am video 2pm video 2pm video 2pm video
26 Octpoint-of-interest location
27 Octmore on the data theme
10am slides.pdf 10am vastats2.py 10am vastats3.py 2pm slides.pdf 2pm vastats.py 2pm vastats2.py 10am video 2pm video
30 Octreview
review topics
10am e2review.py 10am slides.pdf 2pm e2review.py 2pm slides.pdf 10am video 2pm video
1 Novexam 2 2 Novgamebox installation
3 Novpolite code – using `try` and `except` (not on exam 2)
§17.2
10am bad_url.py 10am odd_exceptions.py 10am slides.pdf 10am try_to_divide.py 2pm slides.pdf 2pm try_to_divide.py 2pm url_error.py 10am video 2pm video
6 Novgame design with `gamebox`
gamebox overview documentation
10am game1.py 10am game2.py 10am game3.py 10am game4.py 10am game5.py 10am gamebox.py 10am slides.pdf 10am starter_game.py 2pm game1.py 2pm game2.py 2pm game3.py 2pm game4.py 2pm gamebox.py 2pm slides.pdf 2pm starter_game.py 10am video 2pm video
8 Novgame design with `gamebox`
gamebox details documentation
10am game10.py 10am game11.py 10am game12.py 10am game6.py 10am game7.py 10am game8.py 10am game9.py 10am slides.pdf 2pm game10.py 2pm game11.py 2pm game12.py 2pm game4.py 2pm game5.py 2pm game6.py 2pm game7.py 2pm game8.py 2pm game9.py 2pm slides.pdf 10am video 2pm video
9 Novpong
10 Novgame design with `gamebox`
10am game_more_stuff.py 10am slides.pdf 2pm game_extra_stuff.py 2pm slides.pdf 10am video 2pm video
13 Novregular expressions
§25.1.1, §25.1.3, §25.1.4, §25.2.1, pythex.org
10am re_intro.py 10am slides.pdf 2pm re_intro.py 2pm slides.pdf 10am video 2pm video 2pm video
15 Novre repetition and groups
§25.2.3, §25.2.4
10am after_articles.py 10am multi-part-match.py 10am re_backslash.py 10am re_intro.py 10am slides.pdf 2pm backslash.py 2pm parse_web.py 2pm re_groups.py 2pm re_intro.py 2pm slides.pdf 10am video 2pm video
16 Novemail hunt
17 Novre building
our building guide and example
10am re_practice.py 10am slides.pdf 2pm backslash.py 2pm re_practice.py 2pm slides.pdf 10am video 2pm video
20 Novre replacing
§25.4
10am qa.py 10am re_split.py 10am re_sub.py 10am slides.pdf 2pm re_split.py 2pm re_sub.py 2pm slides.pdf 10am video 2pm video
22 NovThanksgiving break 23 NovThanksgiving break 24 NovThanksgiving break
27 Novvaries by section
29 Novvaries by section
30 Novreview activity
1 Decvaries by section
4 Decreview
review topics
the final exam is cumulative
23 Aug
welcome §1.6, §1.9 10am qa.txt 2pm qa.txt 10am video 2pm audio
24 Aug
installing Python and PyCharm
25 Aug
from requirements to software §1.5 10am slides.pdf 2pm slides.pdf 10am video 2pm video
28 Aug
ambiguity Exercises 1.1 and 1.2 from textbook 10am slides.pdf 2pm slides.pdf 10am video 2pm video
30 Aug
pseudocode wikihow the 10am lecture wasn’t recorded; use 2pm instead 10am 01-sequence.txt 10am 02-selection.txt 10am 03-iteration.txt 10am 04-declaration.txt 10am 05-update.txt 2pm 01-sequence.txt 2pm 02-selection.txt 2pm 03-iteration.txt 2pm 04-declaration.txt 2pm 05-update.txt 2pm slides.pdf 2pm video
31 Aug
pseudocode counting squares
1 Sep
PyCharm §1.4, §1.7 demo.py 10am demo.py 10am slides.pdf 2pm demo.py 2pm example.py 2pm my_math_rules.py 2pm slides.pdf 10am video 2pm video 2pm video
4 Sep
course overview with `turtle`, part 1 10am about_for.py 10am slides.pdf 10am turtle_square.py 10am turtle_with_brush.py 2pm for_explainer.py 2pm slides.pdf 2pm turtle_paint.py 2pm turtle_square.py 10am video 2pm video
6 Sep
course overview with `turtle`, part 2 10am big_turtle_race.py 10am sierpinski_tri.py 10am slides.pdf 10am turtle_race.py 10am turtle_square.py 2pm big_turtle_race.py 2pm for_explainer.py 2pm sierpinski.py 2pm slides.pdf 2pm turtle_race.py 10am video 2pm video
7 Sep
turtle art contest
8 Sep
hello, world! revised chapter 2; §5.2.4–5.2.5; §4.1 PythonTutor 10am get_input.py 10am print_test.py 10am python_variable.py 10am slides.pdf 2pm math_string.py 2pm python_variable.py 2pm slides.pdf 2pm using_print.py 10am video 2pm video
11 Sep
variables, values, and operators §3 and §4 10am assign_test.py 10am float_is_strange.py 10am function_type.py 10am get_input.py 10am print_test.py 10am python_variable.py 10am slides.pdf 10am you_are_young.py 2pm age_liar.py 2pm float_is_strange.py 2pm func_intro.py 2pm slides.pdf 2pm variable_test.py 10am video 2pm video
13 Sep
functions – basics, `def` §5–5.2 and §8–8.2.1 Typo in 10am slides: `'hi' < 'bye'` is `False`, not `True` 10am first_functions.py 10am len_and_raound.py 10am slides.pdf 10am testing_functions.py 10am use_first_functions.py 10am you_are_young.py 2pm first_functions.py 2pm len_and_round.py 2pm slides.pdf 2pm use_first_functions.py 10am video 2pm video
14 Sep
15 Sep
functions – flow of control §8.2.2–8.2.6 10am func_tangle.py 10am get.py 10am page_to_read.py 10am poly_func.py 10am slides.pdf 2pm following_functions.py 2pm func_puzzle.py 2pm get.py 2pm read_pages.py 2pm slides.pdf 10am video 2pm video 2pm video 2pm video 2pm video 2pm video
18 Sep
functions – scope, `global` §8.3 10am following_functions.py 10am func_swap.py 10am play_with_scope.py 10am slides.pdf 2pm following_functions.py 2pm get.py 2pm scope_quiz.py 2pm slides.pdf 10am video 2pm video
20 Sep
decisions – `if`, `elif`, and `else` §6.1.2 and §6.2–6.2.3 10am age_classifier.py 10am if_func.py 10am if_intro.py 10am slides.pdf 2pm if_func.py 2pm if_intro.py 2pm slides.pdf 10am video 2pm video
21 Sep
exam prep
22 Sep
decisions – logical operators rest of §6.1–6.2 never use §6.3’s `exit()` function 10am if_and_things.py 10am if_func.py 10am slides.pdf 10am truthiness.py 2pm bad_booleans.py 2pm if_func.py 2pm if_things.py 2pm slides.pdf 10am video 2pm video
25 Sep
review §2–5.2, §6.1–6.2.3, §8.2.2–8.2.6, §8.3 10am exam1-prep.py 10am slides.pdf 2pm exam1_review.py 2pm slides.pdf 10am video 2pm video
27 Sep exam 1 the exam, key, and TPEGS
28 Sep
strings
29 Sep
code readability, elegance §3.4, §8.2.9–8.2.10; skim PEP 8 10am input_print_return.py 10am on_naming.py 10am play_with_scope.py 10am slides.pdf 10am stylish_functions.py 2pm func_style.py 2pm koan.py 2pm readability.py 2pm scope_quiz.py 2pm slides.pdf 10am video 2pm video 2pm video
4 Oct
testing our own testing writeup 10am pow_test_func.py 10am slides.pdf 10am test_pow.py 2pm func_test_funcs.py 2pm slides.pdf 2pm test_pow.py 10am video 2pm video
5 Oct
hangman
6 Oct
repeating with `while` §7.1 10am hangman.py 10am hangman2.py 10am input_validation.py 10am making_a_while.py 10am slides.pdf 10am while_examples.py 2pm about_while.py 2pm func_test_funcs.py 2pm hangman.py 2pm hangman2.py 2pm how_to_write_loops.py 2pm slides.pdf 2pm validate_input.py 10am video 10am video 2pm video
9 Oct
composite datatypes – strings, ranges, lists, tuples §10.4, §11, §12.1, §12.3 10am collections_intro.py 10am loop_over_collections.py 10am slides.pdf 2pm collections_intro.py 2pm hangman2.py 2pm slides.pdf 10am video 2pm video
11 Oct
iteration – the `for` loop §7.2 10am basic_iteration.py 10am in_range.py 10am lists_1.py 10am nested_loops.py 10am slides.pdf 2pm basic_iteration.py 2pm following_functions.py 2pm func_style.py 2pm loop_index.py 2pm more_iterations.py 2pm nest_loops.py 2pm slides.pdf 10am video 2pm video
12 Oct
old cryptography
13 Oct
methods and mutability – why `list` is special §12.2, §12.5, 10am in_range.py 10am rev.py 10am slides.pdf 2pm loop_index.py 2pm rev.py 2pm slides.pdf 10am video 2pm video
16 Oct
applications of lists and strings §10.6, §12.4 10am crypto.py 10am scramble_letters.py 10am slides.pdf 2pm crypto.py 2pm rev.py 2pm slides.pdf 2pm word_scramble.py 10am video 2pm video
18 Oct
debugging techniques hangman_bug.py 10am hangman_bug.py 10am slides.pdf 2pm hangman_bug.py 2pm slides.pdf 10am video 2pm video
19 Oct
debugging
20 Oct
flexible indices – `dict` §13 10am debug_task.py 10am dict_examples.py 10am phonebook.py 10am slides.pdf 2pm debug_task.py 2pm dict_examples.py 2pm phonebook.py 2pm slides.pdf 10am video 2pm video
23 Oct
reading data – `open` and `urllib` §16.2, §27.3 10am file_by_line.py 10am file_intro.py 10am numbers.txt 10am slides.pdf 10am small_roman.py 10am url_confusing.py 10am url_intro.py 2pm file_by_line.py 2pm file_intro.py 2pm read_csv.py 2pm short_roman.py 2pm slides.pdf 2pm url_confusing.py 2pm url_intro.py 10am video 2pm video
25 Oct
understanding data Wikpedia on delimiter-separated values vastats.csv 10am csv_inline.py 10am slides.pdf 10am vastats.py 10am vastats2.py 2pm csv_literal.py 2pm slides.pdf 2pm vastats.py 10am video 2pm video 2pm video 2pm video
26 Oct
point-of-interest location
27 Oct
more on the data theme 10am slides.pdf 10am vastats2.py 10am vastats3.py 2pm slides.pdf 2pm vastats.py 2pm vastats2.py 10am video 2pm video
30 Oct
review review topics 10am e2review.py 10am slides.pdf 2pm e2review.py 2pm slides.pdf 10am video 2pm video
1 Nov exam 2
2 Nov
gamebox installation
3 Nov
polite code – using `try` and `except` (not on exam 2) §17.2 10am bad_url.py 10am odd_exceptions.py 10am slides.pdf 10am try_to_divide.py 2pm slides.pdf 2pm try_to_divide.py 2pm url_error.py 10am video 2pm video
6 Nov
game design with `gamebox` gamebox overview documentation 10am game1.py 10am game2.py 10am game3.py 10am game4.py 10am game5.py 10am gamebox.py 10am slides.pdf 10am starter_game.py 2pm game1.py 2pm game2.py 2pm game3.py 2pm game4.py 2pm gamebox.py 2pm slides.pdf 2pm starter_game.py 10am video 2pm video
8 Nov
game design with `gamebox` gamebox details documentation 10am game10.py 10am game11.py 10am game12.py 10am game6.py 10am game7.py 10am game8.py 10am game9.py 10am slides.pdf 2pm game10.py 2pm game11.py 2pm game12.py 2pm game4.py 2pm game5.py 2pm game6.py 2pm game7.py 2pm game8.py 2pm game9.py 2pm slides.pdf 10am video 2pm video
9 Nov
pong
10 Nov
game design with `gamebox` 10am game_more_stuff.py 10am slides.pdf 2pm game_extra_stuff.py 2pm slides.pdf 10am video 2pm video
13 Nov
regular expressions §25.1.1, §25.1.3, §25.1.4, §25.2.1, pythex.org 10am re_intro.py 10am slides.pdf 2pm re_intro.py 2pm slides.pdf 10am video 2pm video 2pm video
15 Nov
re repetition and groups §25.2.3, §25.2.4 10am after_articles.py 10am multi-part-match.py 10am re_backslash.py 10am re_intro.py 10am slides.pdf 2pm backslash.py 2pm parse_web.py 2pm re_groups.py 2pm re_intro.py 2pm slides.pdf 10am video 2pm video
16 Nov
email hunt
17 Nov
re building our building guide and example 10am re_practice.py 10am slides.pdf 2pm backslash.py 2pm re_practice.py 2pm slides.pdf 10am video 2pm video
20 Nov
re replacing §25.4 10am qa.py 10am re_split.py 10am re_sub.py 10am slides.pdf 2pm re_split.py 2pm re_sub.py 2pm slides.pdf 10am video 2pm video
22 Nov Thanksgiving break
23 Nov Thanksgiving break
24 Nov Thanksgiving break
27 Nov
varies by section
29 Nov
varies by section
30 Nov
review activity
1 Dec
varies by section
4 Dec
review review topics the final exam is cumulative
Monday Wednesday
23 Augwelcome
28 AugAlgorithms & pseudocode
30 AugAlgorithms & pseudocode
4 SepTurtle & number conversion
6 SepComputer system architecture
11 SepBasic functions
13 SepFunctions
18 SepVariable scope
20 SepDecisions if elif
25 SepReview
27 SepExam 1
9 OctRepetition
11 OctString operations
16 OctString methods/Lists
18 OctLists
23 OctDicts
25 OctFiles
30 OctUrllib/review
1 NovExam 2
6 NovExceptions
8 NovRegular expressions
13 NovRegular expressions
15 Novgame design with `gamebox`
20 Novgame design with `gamebox`
22 NovThanksgiving break
27 Novfile writing
29 Novfile writing
4 Decreview
Date Topic
23 Aug
welcome
28 Aug
Algorithms & pseudocode
30 Aug
Algorithms & pseudocode
4 Sep
Turtle & number conversion
6 Sep
Computer system architecture
11 Sep
Basic functions
13 Sep
Functions
18 Sep
Variable scope
20 Sep
Decisions if elif
25 Sep
Review
27 Sep Exam 1
4 Oct
Testing
9 Oct
Repetition
11 Oct
String operations
16 Oct
String methods/Lists
18 Oct
Lists
23 Oct
Dicts
25 Oct
Files
30 Oct
Urllib/review
1 Nov Exam 2
6 Nov
Exceptions
8 Nov
Regular expressions
13 Nov
Regular expressions
15 Nov
game design with `gamebox`
20 Nov
game design with `gamebox`
22 Nov Thanksgiving break
27 Nov
file writing
29 Nov
file writing
4 Dec
review

Per the registrar, all sections of 1110 and 1111 will have their final exam at 7–10 pm on Thursday, 7 Dec 2017. Locations are given below:

Section Instructor Exam Location
1110-001 Tychonievich Chemistry 402
1110-002 Dill Maury 209
1110-003 Tychonievich Chemistry 402
1111-001 Dill Maury 209

Conflicts with that time will be resolved the preceding day (Wednesday 6 Dec) at 7 pm, location sent via email. No permission to take the exam on a different day or from off of UVA grounds will be granted without Deans’ office request.

You may report conflicts and request accommodations via this form.