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

Video recordings You may view video recordings of lectures on Google Drive, numbered to match the lecture number below.

Week 1

Date Topic Board/slides Code
Wed Feb 10 Syllabus and computer science applications Lecture 1 slides
Fri Feb 12 Academic integrity, Project 1 notes, functions, parameters, debugging, whitespace, commenting out code Lecture 2 slides lecture_02_rectangle_template.py
lecture_02_whitespace_errors_template.py lecture_02_rectangle.py lecture_02_whitespace_errors.py

Week 2

Date Topic Board/slides Code
Mon Feb 15 Operators, data types, printing Lecture 3 slides Lecture 3 notes lecture_03_turtle_print_template.py lecture_03_turtle_print.py
Wed Feb 17 Symbol lookup tables, code organization best practices, more helpful turtle functions Lecture 4 slides
Symbol table notes
lecture_04_right_template.py
lecture_04_hexagon_style_template.py
lecture_04_right.py
lecture_04_hexagon_style.py lecture_04_operator_wrapup.py
Fri Feb 19 Project 2 notes, review scale and position parameters, for loops Lecture 5 slides lecture_05_house_compound_shape_template.py
lecture_05_my_shapes_template.py
lecture_05_for_loop_template.py
lecture_05_hexagon_loops_template.py
lecture_05_house_compound_shape.py
lecture_05_my_shapes.py
lecture_05_for_loop.py
lecture_05_hexagon_loops.py

Week 3

Date Topic Board/slides Code
Mon Feb 22 For loops, variables, assignment Lecture 6 slides
Lecture 6 notes
Lecture 6 whiteboard
lecture_06_for_loop_warmup_template.py
lecture_06_convertTemp.py
lecture_06_assignment.py
lecture_06_for_loop_warmup.py
Wed Feb 24 Modules in symbol tables, Variable scope, conditionals, boolean operators Lecture 7 slides
Lecture 7 whiteboard
Symbol table notes
Fri Feb 26 Project 3 notes, practice conditionals Lecture 8 slides
Conditional worksheet sols
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

Week 4

Date Topic Board/slides Code
Mon Mar 1 Compound boolean operators, return statement Lecture 9 slides
Lecture 9 notes
lecture_09_distance_template.py
lecture_09_birthday_template.py
lecture_09_mpg.py
lecture_09_distance.py
lecture_09_birthday.py
Wed Mar 3 Return value symbol table, objects Lecture 9 notes
Lecture 10 slides
Lecture 10 whiteboard
lecture_10_turtle_objects_template.py
lecture_10_turtle_objects.py
Fri Mar 5 Object symbol tables Lecture 11 notes
Lecture 11 whiteboard
lecture_11_turtle_objects_template.py
lecture_11_random_walk_template.py
lecture_11_turtle_object_symbol_table.py
lecture_11_turtle_objects.py
lecture_11_random_walk.py

Week 5

Date Topic Board/slides Code
Mon Mar 8 No class (Spring recess)
Wed Mar 10 Object symbol table review, object shallow copy Lecture 12 slides
Lecture 12 notes
Lecture 12 whiteboard
lecture_12_shallow_copy_template.py
lecture_12_shallow_copy.py
Fri Mar 12 Object deep copy, Project 4 notes, lists Lecture 13 slides
Lecture 13 whiteboard
lecture_12_shallow_copy.py
lecture_13_object_bugs_template.py
lecture_13_lists_template.py
lecture_13_object_bugs.py
lecture_13_lists.py

Week 6

Date Topic Board/slides Code
Mon Mar 15 Lists lecture_14_lists.py
Wed Mar 17 Zelle Graphics module Lecture 15 slides
Lecture 15 whiteboard
lecture_15_lists.py
lecture_15_sum_list_template.py
graphics.py
graphics.pdf
lecture_15_zelle_demo_template.py
lecture_15_sum_list.py
lecture_15_zelle_demo.py
Fri Mar 19 Project 5 overview, copying and slicing lists Lecture 16 slides
Lecture 16 whiteboard
lecture_16_copy_bugs_template.py
lecture_16_copy_bugs.py
lecture_16_objects_in_lists_zelle_template.py
lecture_16_objects_in_lists_zelle.py

Week 7

Date Topic Board/slides Code
Mon Mar 22 Sublists and nested loops Lecture 17 slides
lecture_17_sublists_template.py
lecture_17_sublists.py
lecture_17_copying_sublists_template.py
lecture_17_copying_sublists.py
lecture_17_nested_loops_template.py
lecture_17_nested_loops.py
Wed Mar 24 Images Lecture 18 notes
Lecture 18 whiteboard
lecture_17_nested_loops.py
graphics.py
display.py
miller.ppm
lecture_18_show_template.py
lecture_18_rainbow_image_fun_template.py
lecture_18_show.py
lecture_18_rainbow_image_fun.py
Fri Mar 26 Project 6 overview, placing images on a larger canvas Lecture 19 notes
Lecture 19 whiteboard
lecture_18_rainbow_image_fun_template.py
lecture_19_solid_colors_sidebyside_template.py
lecture_18_rainbow_image_fun.py lecture_19_solid_colors_sidebyside.py

Week 8

Date Topic Board/slides Code
Mon Mar 29 Organizing image placement information with list of lists, while loops Lecture 20 slides
Lecture 20 whiteboard
lecture_20_list_sidebyside_template.py
lecture_20_while_miles_template.py
lecture_20_list_sidebyside.py
lecture_20_while_miles.py
Wed Mar 31 While loops, top-down design lecture_20_for_as_while_template.py
lecture_21_racquetball_template.py
lecture_20_for_as_while.py lecture_21_racquetball.py
Fri Apr 2 Top-down design, File IO, strings lecture_22_racquetball.py
alice_chapter_1.txt
lecture_22_strings_template.py
lecture_22_strings.py

Week 9

Date Topic Board/slides Code
Mon Apr 5 File IO, strings lecture_23_strings.py
Wed Apr 7 Dictionaries, ASCII Art Lecture 24 slides
Lecture 24 notes
Lecture 24 whiteboard
lecture_24_dictionaries_template.py
lecture_24_dictionaries.py
Fri Apr 9 ASCII Art, Project 7 overview, classes Lecture 25 notes
Lecture 25 whiteboard
lecture_25_student_template.py
lecture_25_student.py

Week 10

Date Topic Board/slides Code
Mon Apr 12 No class (cancelled)
Wed Apr 14 Classes lecture_25_student.py
Fri Apr 16 No class (spring recess)

Week 11

Date Topic Board/slides Code
Mon Apr 19 Class symbol tables, L-systems Lecture 27 slides
Lecture 27 notes
Lecture 27 whiteboard
Wed Apr 21 L-systems implementation Lecture 28 notes
Lecture 28 whiteboard
lecture_28_koch_lsystem_template.py
lecture_28_koch_lsystem.py
Fri Apr 23 Replacing with multiple L-system rules, L-system tree branching Lecture 29 notes
Lecture 29 whiteboard

Week 12

Date Topic Board/slides Code
Mon Apr 26 Class design, class global variables, practice classes, inheritance Lecture 30 slides
Lecture 30 whiteboard
lecture_30_colbystudent_template.py
class_worksheet_elevator_template.py
lecture_30_veggie_inherits_template.py
lecture_30_colbystudent.py
class_worksheet_elevator.py
lecture_30_veggie_inherits.py
Wed Apr 28 No class (CLAS)
Fri Apr 30 Inheritance Lecture 31 slides lecture_31_veggie_ivs_template.py
lecture_31_colbystudent_template.py
lecture_31_csstudent_template.py
lecture_31_veggie_ivs.py
lecture_31_colbystudent.py
lecture_31_csstudent.py

Week 13

Date Topic Board/slides Code
Mon May 3 Event-based programming and games Lecture 32 slides
lecture_32_pacman_template.py
lecture_32_pacman.py
pacman.gif
Wed May 5 Finish Pacman game implementation and events, Lab/Project 10 instructions lecture_32_pacman.py
Fri May 7 Project 10 summary, recursion Lecture 34 slides Lecture 34 notes Lecture 34 whiteboard lecture_34_factorial_template.py
lecture_34_sum_list_template.py lecture_34_factorial.py
lecture_34_sum_list.py

Week 14

Date Topic Board/slides Code
Mon May 10 Recursion and trees Lecture 35 slides lecture_35_fibonacci.py
lecture_35_recursion_turtle_tree_template.py
lecture_35_recursion_turtle_tree.py
Wed May 12 Final exam information, game demos!

© 2021 Oliver Layton