Materials
Unit 0 - Intro to our Course
- Discussion notes: Unit 0
- Daily Programming Problems: Show/hide problems
- Hi! :) No programming problems for this unit.
- Read Course Policies (required)
- Fill out Student Info form (required)
- View How to Think Like a Computer Scientist, Brad Miller's and David Ranum's excellent online textbook that we'll use in this course.
- Read Turning in Work (reference)
- Read Working Efficiently (reference)
- Setting up your computer for this course
- Install Linux Subsystem on Windows (Windows users only).
- Install Python 3.
- Visual Studio Code, a free, cross-platform editor (see VSCode [crashwhite] and How to Install VS Code [YouTube])
- Notepad++, a free text editor for Windows users (recommended), or
- BBEdit, a free text editor for Mac users (recommended)
- Worksheets:
- In-Class: Reflection
Unit 1 - Programming Fundamentals: Calculations and Functions
- Discussion notes: Unit 1
- Unit 1 Quiz (Practice)
- Daily Programming Problems: Show/hide problems
- hello_world
- hello_world_personal
- hello_world_input_name
- hello_world_input_name_age
- minutes_seconds
- temp_converter
- temp_converter_input
- cricket_temperature
- calculating_height
- hello_function
- old_macdonald
- celebrate_birthday
- add_function1
- add_function2
- die_function1
- die_function2
- die_function3
- calculate_perimeter
- four_functions
- Project: Biography [PDF]
- Activity: story_time.py [PDF]
- Activity: Quad Functions (Parsons) [PDF]
- Handout: Functions [PDF]
- Handout: Errors [PDF]
Unit 2 - Programming Fundamentals: Conditionals and Loops
- Discussion notes: Unit 2
- Daily Programming Problems: Show/hide problems
- secret_message
- voting_age
- bar_bouncer
- lunch_or_dinner
- coin_toss
- odd_even
- breakfast_lunch_dinner
- solid_liquid_gas
- grade_identifier
- sorting_hat
- magic_8_ball
- paycheck
- counting_0_to_9
- looping_n_times
- countdown
- for_loops
- 99_bottles
- coin_flipper
- sentinel_hello
- counting_positives
- summing_positives
- counting_evens
- maximum_value
- data_analysis
- random_walker1
- odometer
- draw_boxes
- draw_rectangles
- random_walker2
- prime_finder1
- times_table1
- Handout: Conditionals [PDF], Solutions [PDF]
- Handout: Iterations [PDF], Solutions [PDF]
- Project: coin_flipper.py
- Project: craps.py
Also: pseudocode and YouTube advice part 1 and part 2.
Unit 3 - Data Structures: Strings and Lists
- Discussion notes: Unit 3
- Daily Programming Problems: Show/hide problems
- Project: secret_code.py
- Handout: Lists [PDF], Solutions [PDF]
- Worksheet: scary_monsters.py [PDF]
- Halloween!
- Teacher/Course Evaluation Results
Unit 4 - Sorting and Searching Algorithms; Lists of Lists
- Discussion notes: Unit 4
- Daily Programming Problems: Show/hide problems
- selection_sort.py
- 15 Sorting Algorithms in 6 Minutes [YouTube] - Classic!
- Activity: Random Walker
- Project: Game of Life, game_of_life.py (part 1)
- Activity: Elf Name
- Project: Address Book, Project: Address Book 2
- Teacher/Course/Text Evaluation Results
Unit 5 - Introduction to Computer Graphics
- Discussion notes: Unit 5
- Activity: Graphics Intro: Image Processing. Image file: periodG-1200.jpg (1200 x 800 pixels)
ImageProcessingBasics.zip (handout + image + starter code) - Review: winter_octathlon.zip
- Workshop: Graphics Project: SnowflakeCatcherGame [PDF], SnowflakeCatcherGame1.zip
- Activity: Graphics Intro: Bar Graphs
- Activity: bouncing_ball.zip
Unit 6 - Data Structures: Dictionaries and Classes
- Discussion notes: Unit 6 - Dictionaries and Classes
- AliceInWonderland-words.txt
- AliceInWonderland.txt
- Introductory Project - Address Book 2
- Project - Object-Oriented Programming
- Rainfall
Unit 7 - End of Course
- Winter Octathlon [zip download]
- Last Day of Class :(
- Final Project Options, and readme_examples.zip.
General Resources for this Course
- Course Policies
- Textbook: How to Think Like a Computer Scientist, Miller, B. and Ranum D.
- Read Turning in Work.
- Videos of some classroom presentations