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
forloops.
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 thectype.hlibrary, 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 andtry-exceptblocks.
After Week 7
-
Favorites for practice using
SELECTandUPDATEkeywords. -
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.