Practice Problems
If you want some extra practice after completing the problem set for a week, you can choose from these practice problems. These are not warm-up exercises; in many cases, they can be harder than the problem set problems themselves!
All of these problems are entirely optional and cannot be submitted!
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
string
s, command-line arguments, and writing an entire program from scratch. - Password, for practice iterating through a
string
, using thectype.h
library, and using Boolean variables.
After Week 3
- Recursive
atoi
, for practice creating recursive functions. - Average Temperatures, for practice working with
struct
s and sorting algorithms. - Max, for practice passing arrays to functions and finding maximum values.
- Snackbar, for practice using
struct
s 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
str
s. - 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,
dict
s, and data, if feeling more comfortable. - Taqueria, from CS50’s Introduction to Programming with Python, for practice with
dict
s andtry-except
blocks.
After Week 7
- Favorites for practice using
SELECT
andUPDATE
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.