CS50
This repo is to track progress, and gather notes from CS50's Introduction to Computer Science.
📝
Blog posts - Kick off CS50 with Study Group
- Learn CS from Scratch
- Battle with Recursion
- Spell-Checker with Hash Table Dictionary
- What Makes a Good Hash Function?
- Valgrind and Memory Issues
- Step Away From Stack Overflow
ide.cs50.io is fantastic for getting started with CS50, but I wanted to have some of my code in this repo, and to run these projects in my local terminal. Here's an approach to that:
Run locally
- Install cs50/libcs50
- Compile with for example
gcc -lcs50 -o recursion recursion.c
- Run program
./recursion
- Credit: https://cs50.harvard.edu/x/2020/psets/1/credit/
- Readability: https://cs50.harvard.edu/x/2020/psets/2/readability/
- Caesar’s cipher: https://cs50.harvard.edu/x/2020/psets/2/caesar/
- Plurality: https://cs50.harvard.edu/x/2021/psets/3/plurality/
- Runoff election: https://cs50.harvard.edu/x/2021/psets/3/runoff/
- Modify volume of .wav file: https://cs50.harvard.edu/x/2021/labs/4/
- Filter for bitmap: https://cs50.harvard.edu/x/2021/psets/4/filter/less/
- Recover forensic image: https://cs50.harvard.edu/x/2021/psets/4/recover/
🔥 - Simulate inheritance of blood types: https://cs50.harvard.edu/x/2021/labs/5/
- Speller with hash table: https://cs50.harvard.edu/x/2021/psets/5/speller/
- FIFA World Cup simulations: https://cs50.harvard.edu/x/2021/labs/6/
⚽️ - DNA in Python: https://cs50.harvard.edu/x/2021/psets/6/dna/
🐍 - Movies with SQL: https://cs50.harvard.edu/x/2021/psets/7/movies/
- SQL Mystery in Fiftyville: https://cs50.harvard.edu/x/2021/psets/7/fiftyville/ 🕵🏻♀️
- C$50 Finance: https://cs50.harvard.edu/x/2021/psets/9/finance/
🤑
Progress
😺
Week 0 Scratch - Lecture
- Problem set 0
Week 1 C
- Lecture
- Shorts: Data Types, Operators, Conditional Statements, Loops, Command Line
- Problem set 1: Hello, Mario, Cash, Credit
Week 2 Arrays
- Lecture
- Shorts: Functions, Variables and Scope, Arrays, Command Line Arguments
- Problem set 2: Readability, Caesar
Week 3 Algorithms
- Lecture
- Shorts: Linear Search, Binary Search, Bubble Sort, Selection Sort, Insertion Sort, Recursion, Merge Sort
- Lab 3
- Problem set 3: Plurality, Runoff
Week 4 Memory
- Lecture
- Shorts: Hexadecimal, Pointers, Defining Custom Types, Dynamic Memory Allocation, Call Stacks, File Pointers
- Lab 4: Volume
- Problem set 4: Filter, Recover
Week 5 Data Structures
- Lecture
- Shorts: Data Structures, Singly-Linked Lists, Hash Tables, Tries
- Lab 5
- Problem set 5: Speller
Week 6 Python
- Lecture and Shorts: Python
- Lab 6: World Cup
- Problem set 6: Mario, Cash, Credit, Readability, DNA
Week 7 SQL
- Lecture and Shorts: SQL
- Lab 7: Songs
- Problem set 7: Movies, Fiftyville
Week 8 HTML, CSS, JavaScript
- Lecture
- Shorts: Internet Primer, IP, TCP, HTTP, HTML, CSS, JavaScript, DOM
- Lab 8
- Problem set 8
Week 9 Flask
- Lecture
- Shorts: Flask, Ajax
- Lab 9
- Problem set 9: C$50 Finance
Week 10 Ethics
- Lecture & Lab
Final Project
- Wanderlust! A personal travel journal — using JavaScript and 9 years of data from my Untappd account — to stroll down memory lane of past trips. github.com/elisabethirgens/wanderlust