Practice Problems

After Week 1

  • Debug, for becoming familiar with C syntax and debugging programs.
  • Half, for practice creating a function.
  • Prime, for practice using for loops.

After Week 2

  • Hours, for practice with arrays, passing arrays as parameters to a function, integer division and type casting.
  • N0 V0w3ls, for practice with strings, command-line arguments, and writing an entire program from scratch.
  • Password, for practice iterating through a string, using the ctype.h library, and using Boolean variables.

After Week 3

  • Recursive atoi, for practice creating recursive functions.
  • Average Temperatures, for practice working with structs and sorting algorithms.
  • Max, for practice passing arrays to functions and finding maximum values.
  • Snackbar, for practice using structs and writing a linear search algorithm.

After Week 4

  • Bottom Up, for practice working with images and metadata.
  • License, for practice working with files and file pointers.

After Week 5

  • Trie, for introducing more complex data structures and working with tries.

After Week 6

  • Bank, from CS50’s Introduction to Programming with Python, for practice with strs.
  • Frank, Ian and Glen’s Letters, from CS50’s Introduction to Programming with Python, for practice with libraries and command-line arguments.
  • Jar, from CS50’s Introduction to Programming with Python, for an introduction to classes and object-oriented programming, if feeling more comfortable.
  • Seven Day Average, for practice with requests, dicts, and data, if feeling more comfortable.
  • Taqueria, from CS50’s Introduction to Programming with Python, for practice with dicts and try-except blocks.

After Week 7

  • Favorites for practice using SELECT and UPDATE keywords.
  • Hall of Prophecy for practice refactoring a database, using CREATE.

After Week 8

  • Radio Shack Redo, for practice with Bootstrap (and some web development history!)

After Week 9

  • Hello, Flask, for practice writing a Flask application from scratch.