This repository contains materials for CS50, Harvard University's introduction to computer science and the art of programming. It includes practice problems, labs and problem sets for each week, along with a final project.
CS50 teaches problem-solving both with and without code, emphasizing correctness, design and style. The course covers computational thinking, abstraction, algorithms, data structures and more. It starts with C, covering the fundamentals of programming and computer operations, then transitions to Python, explores SQL for database management and finally introduces web development technologies (HTML, CSS, JavaScript and related framekworks). The course also includes lectures about cybersecurity and artificial intelligence. At the end of the course, students must work on a final project where they design and implement a solution to a problem of their choice.
- Week 0: Scratch
- Week 1: C
- Week 2: Arrays
- Week 3: Algorithms
- Week 4: Memory
- Week 5: Data Structures
- Week 6: Python
- Week 7: SQL
- Week 8: HTML, CSS, JavaScript
- Week 9: Flask
- Week 10: Cybersecurity
- AI
- Final Project
This course's philosophy on academic honesty is best stated as "be reasonable". So, please don't submit solutions on this repository as your own work. Instead, use the code only as a reference and try to solve the problems yourself. If you are stuck on a specific problem, you can ask for help on the CS50 communities, like the CS50 subreddit, CS50 Discord server or CS50 Stack Exchange. You can also reach out to me if you wish to and I'll help as much as I can.
This README is just a brief overview of CS50. For detailed information, visit the course website.