CS50x: Introduction to Computer Science
This course teaches students how to think algorithmically and solve problems efficiently. Topics include abstraction, algorithms, data structures, encapsulation, resource management, security, software engineering, and web development. Languages include C, Python, SQL, and JavaScript plus CSS and HTML. Problem sets inspired by real-world domains of biology, cryptography, finance, forensics, and gaming. Designed for majors and non-majors alike, with or without prior programming experience.
Codes implementations here are my solutions to CS50 problem sets
Expectations
- Submit nine problem sets and
- Submit a final project.
Lectures
Lectures | Topics |
---|---|
Week 0 | Scratch |
Week 1 | C |
Week 2 | Arrays |
Week 3 | Algorithms |
Week 4 | Memory |
Week 5 | Data Structures |
Week 6 | HTTP |
Week 7 | Machine Learning |
Week 8 | Python |
Week 9 | SQL |
Week 10 | JavaScript |
Week 11 | The End / Final Project |
Problem Sets
A summary of problem sets appears below
Problem Set | Language | |
---|---|---|
Problem Set 0 | Scratch | Scratch |
Problem Set 1 | C | C |
Problem Set 2 | Crypto | C |
Problem Set 3 | Game of Fifteen | C |
Problem Set 4 | Forensics | C |
Problem Set 5 | Mispellings | C |
Problem Set 6 | Sentimental | Python |
Problem Set 7 | C$50 Finance | Python, SQL |
Problem Set 8 | Mashup | JavaScript |
Final Project | Any | Any |
Website
Credits
Professor David J. Malan Brian Yu Zamyla Chan Doug Lloyd Rob Bowden StackOverFlow Sololearn