Materials
Unit 0 - Beginning of Course
You'll need to do all of these things at the start of the semester. Contact the instructor immediately if you have any difficulty completing these.
- Read Course Policies.
- Fill out Student Info form.
- 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.
- Read Working Efficiently.
- Download and install
- Install Python 3.
- Install Installing Bash on Windows 10 (Windows users only).
- Visual Studio Code, a free, cross-platform editor (see VSCode [crashwhite] and How to Install VS Code [YouTube]), or
- Notepad++, a free text editor for Windows users, or
- BBEdit, a free text editor for Mac users
- Discussion notes: Unit 0
- Encapsulation
- Binary and Hexadecimal
- Worksheet-Encapsulation and Binary
- Worksheet-Organizing Files
- Worksheet-Files and Folders
- Worksheet-Navigating with the Command Line, Key
- Project: Backing Up Your Data
- In-Class: Reflection
- Daily Programming Problems: Show/hide problems
- Hi! :)
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
- 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
- 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: coinflipper.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: secretcode.py
- Handout: Lists [PDF], Solutions [PDF]
- Worksheet: scary_monsters.py [PDF]
- Halloween!
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-rw.py
- 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: periodD-thumb.jpg (1200 x 826 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.
- Selected videos from classroom sessions are here.