This repository contains my solutions to the problem sets and final project from Harvard's CS50x: Introduction to Computer Science. It covers topics such as C, Python, algorithms, data structures, SQL, web development, and more.
- Week 0 – Scratch
Visual programming with Scratch, focusing on logic and problem-solving. - Week 1 – C
Introduction to the C language, variables, conditionals, loops, and basic programs. - Week 2 – Arrays
Working with arrays, strings, cryptography, and Caesar/Vigenère ciphers. - Week 3 – Algorithms
Sorting and searching algorithms, algorithmic complexity (Big O). - Week 4 – Memory
Pointers, memory allocation, files, and data representation. - Week 5 – Data Structures
Linked lists, hash tables, tries, and dynamic data structures. - Week 6 – Python
Introduction to Python, syntax, libraries, and problem-solving. - Week 7 – SQL
Databases, SQL queries, relationships, and data analysis. - Week 8 – Web
HTML, CSS, JavaScript, Flask, and web programming basics. - Week 9 – Flask
Deeper dive into Flask, sessions, authentication, and final web projects. - Final Project
My final project for CS50, applying concepts learned throughout the course.
CS50x is Harvard University's introduction to the intellectual enterprises of computer science and the art of programming, available online for free.