Slides, notes, and code from lecture are posted below. This material should supplement the notes that you are expected to take in class.


Week 1

Date Topic Board/slides Code Recording
Wed Aug 26 Syllabus and computer science applications Lecture 1 slides Lecture 1 video
Fri Aug 28 Project 1 notes, project grading, finishing up Lab 1 Lecture 2 video

Week 2

Date Topic Board/slides Code Recording
Mon Aug 31 Academic integrity, functions, parameters, commenting out code, debugging Lecture 3 slides lecture_03_rectangle_template.py lecture_03_whitespace_errors_template.py lecture_03_rectangle.py lecture_03_whitespace_errors.py Lecture 3 video
Wed Sept 2 Symbol lookup tables, code organization best practices, operators, data types, printing Lecture 4 slides
Lecture 4 notes
Symbol table notes
lecture_04_right_template.py
lecture_04_hexagon_style_template.py
lecture_04_right.py
lecture_04_hexagon_style.py
Lecture 4 video
Fri Sept 4 Project 2 notes, useful turtle functions to know,
scale and position parameters,
importing functions in different files, for loops
Lecture 5 slides
lecture_05_house_compound_shape_template.py
lecture_05_house_compound_shape.py
lecture_05_my_shapes_template.py
lecture_05_my_shapes.py
lecture_05_triangle_heading_template.py
lecture_05_triangle_heading.py
lecture_05_for_loop.py
Lecture 5 video

Week 3

Date Topic Board/slides Code Recording
Mon Sep 7 For loops, variables, assignment Lecture 6 slides Lecture 6 notes lecture_06_hexagon_loops_template.py
lecture_06_hexagon_loops.py convertTemp.py
Lecture 6 video
Wed Sep 9 Variable scope, conditionals, boolean operators Lecture 7 slides
Lecture 7 whiteboard
Symbol table notes
Lecture 7 video
Fri Sep 11 Project 3 notes, practice conditionals, compound boolean operators Lecture 8 slides
lecture08_find_bug1.py
lecture08_find_bug2.py
lecture08_find_bug3.py
lecture08_find_bug1_fixed.py
lecture08_find_bug2_fixed.py
lecture08_find_bug3_fixed.py
Lecture 8 video

Week 4

Date Topic Board/slides Code Recording
Mon Sep 14 Return statement, multiple returns and assignment Lecture 9 slides Lecture 9 symbol table lecture_09_distance_template.py lecture_09_birthday_template.py
lecture_09_distance.py
lecture_09_birthday.py
lecture_09_mpg.py
Lecture 9 video
Wed Sep 16 Objects Lecture 10 slides
Lecture 10 whiteboard
lecture_10_turtle_objects_template.py
lecture_10_turtle_objects.py
lecture_10_random_walk_template.py
lecture_10_random_walk.py
Lecture 10 video
Fri Sep 18 Project 4 notes, object symbol tables Lecture 11 notes
Lecture 11 slides
Lecture 11 whiteboard
lecture_11_turtle_object_symbol_table.py
Lecture 11 video

Week 5

Date Topic Board/slides Code Recording
Mon Sep 21 Lists Lecture 12 slides
lecture_12_lists_template.py
lecture_12_lists.py
Lecture 12 video
Wed Sep 23 Lists Lecture 13 slides
lecture_12_lists.py
sum.py
Lecture 13 video
Fri Sep 25 Object symbol table review, object shallow and deep copy Lecture 14 slides
Lecture 14 whiteboard
lecture_14_shallow_copy_template.py
lecture_14_shallow_copy.py
Lecture 14 video

Week 6

Date Topic Board/slides Code Recording
Mon Sep 28 Copies of lists Lecture 15 slides
Lecture 15 whiteboard
Lecture 15 notes
lecture_15_objects_in_lists_template.py
lecture_15_copy_bugs_template.py
lecture_15_objects_in_lists.py
lecture_15_copy_bugs.py
Lecture 15 video
Wed Sep 30 Zelle Graphics module Lecture 16 slides
Lecture 16 notes
graphics.py
graphics.pdf
lecture16_zelle_demo_template.py
lecture16_loops_template.py
lecture16_break_template.py
lecture16_zelle_demo.py
lecture16_loops.py
lecture16_break.py
Lecture 16 video
Fri Oct 2 Project 5 overview, writing workshop Lecture 17 slides
Lecture 17 video

Week 7

Date Topic Board/slides Code Recording
Mon Oct 5 Sublists and nested loops Lecture 18 slides
lecture_18_sublists_template.py
lecture_18_sublists.py
lecture_18_copying_sublists_template.py
lecture_18_copying_sublists.py
lecture_18_nested_loops_template.py
lecture_18_nested_loops.py
Lecture 18 video
Wed Oct 7 Images Lecture 19 notes
Lecture 19 whiteboard
lecture_18_nested_loops.py
graphics.py
display.py
miller.ppm
lecture_19_show_template.py
lecture_19_rainbow_image_fun_template.py
lecture_19_show.py
lecture_19_rainbow_image_fun.py
Lecture 19 video
Fri Oct 9 Project 6 overview, placing images on a larger canvas Lecture 20 notes
Lecture 20 whiteboard
lecture_20_solid_colors_sidebyside_template.py
lecture_20_solid_colors_sidebyside.py
Lecture 20 video

Week 8

Date Topic Board/slides Code Recording
Mon Oct 12 Fall break, no class
Wed Oct 14 Organizing image placement information with list of lists, while loops Lecture 21 slides
lecture_21_list_sidebyside_template.py
lecture_21_list_sidebyside.py
lecture_21_while_miles_template.py
lecture_21_while_miles.py
Lecture 21 video
Fri Oct 16 Top-down design Lecture 22 notes
lecture_21_while_miles.py
lecture_21_for_as_while_template.py
lecture_21_for_as_while.py lecture_22_racquetball_template.py
lecture_22_racquetball.py
Lecture 22 video

Week 9

Date Topic Board/slides Code Recording
Mon Oct 19 Finish top-down design example, strings, file IO lecture_22_racquetball.py
lecture_23_strings_template.py
lecture_23_strings.py
frankensteinChaper8.txt
Lecture 23 video
Wed Oct 21 Strings, file IO lecture_23_strings.py
frankensteinChaper8.txt
Lecture 24 video
Fri Oct 23 Classes Lecture 25 notes
Lecture 25 whiteboard
lecture_25_student_template.py
lecture_25_student.py
Lecture 25 video

Week 10

Date Topic Board/slides Code Recording
Mon Oct 26 Classes and their symbol tables Lecture 26 whiteboard
Lecture 26 notes
lecture_25_student.py
Lecture 26 video
Wed Oct 28 L-systems and fractals Lecture 27 slides
Lecture 27 notes
Lecture 27 whiteboard
lecture_27_koch_lsystem_template.py
lecture_27_koch_lsystem.py
Lecture 27 video
Fri Oct 30 Project 8, drawing trees with L-systems, class design and practice Lecture 28 notes
Lecture 28 slides
Lecture 28 whiteboard
class_worksheet_elevator_template.py
class_worksheet_elevator.py
Lecture 28 video

Week 11

Date Topic Board/slides Code Recording
Mon Nov 2 Class global variables, copy problems when returning list instance variables, inheritance Lecture 29 whiteboard lecture_29_colbystudent_template.py
lecture_29_csstudent_template.py
lecture_29_colbystudent.py
lecture_29_csstudent.py
Lecture 29 video
Wed Nov 4 Inheritance lecture_29_csstudent.py Lecture 30 video
Fri Nov 6 Project 9, inheritance Lecture 31 slides
Lecture 31 whiteboard
lecture_31_veggie_inherits_template.py
lecture_31_veggie_override_template.py
lecture_31_veggie_inherits.py
lecture_31_veggie_override.py
Lecture 31 video

Week 12

Date Topic Board/slides Code Recording
Mon Nov 9 Inheritance, event-based programming Lecture 32 slides lecture_31_veggie_extend_template.py
lecture_31_veggie_extend.py
lecture_31_veggie_ivs_template.py
lecture_31_veggie_ivs.py
Lecture 32 video
Wed Nov 11 Event-based programming and games Lecture 33 slides lecture_33_pacman_template.py
lecture_33_pacman.py
pacman.gif
Lecture 33 video
Fri Nov 13 Project 10, dictionaries, recursion Lecture 34 slides
Lecture 34 whiteboard
lecture_34_dictionaries_template.py
lecture_34_dictionaries.py
Lecture 34 video

Week 13

Date Topic Board/slides Code Recording
Mon Nov 16 Recursion Lecture 35 slides
Lecture 35 whiteboard
lecture_35_factorial_template.py
lecture_35_sum_list_template.py
lecture_35_factorial.py
lecture_35_sum_list.py
Lecture 35 video
Wed Nov 18 Recursion and trees Lecture 36 slides lecture_36_recursion_turtle_tree_template.py
lecture_36_recursion_turtle_tree.py
Lecture 36 video
Fri Nov 20 Recursion and binary search Lecture 37 slides lecture_37_linear_search.py
lecture_37_recursion_binary_search.py
Lecture 37 video

Week 14

Date Topic Board/slides Code Recording
Mon Nov 23 Game presentations!

© 2020 Oliver Layton