This repository contains my coursework for Harvard University's CS50x: Introduction to Computer Science, an entry-level course teaching the basics of computer science. The course covers a broad range of topics including algorithms, data structures, memory management, software engineering, and web development.
CS50x is Harvard University's introduction to the intellectual enterprises of computer science and the art of programming. The 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.
The repository is organized into three main sections:
- Image Viewer: A simple GUI-based image viewer application developed in Python using the Tkinter library. This project demonstrates my understanding and application of GUI programming in Python.
- These are smaller assignments and exercises completed throughout the course, designed to reinforce key concepts and provide hands-on experience with various programming languages and tools.
- A collection of more in-depth problem sets I solved during the course, each focusing on a specific area of computer science. These problems sets challenged me to apply the concepts learned in lectures and were instrumental in solidifying my understanding of programming and computer science fundamentals.
Special thanks to the educators and staff of Harvard University for creating and providing the CS50x course, a remarkable resource for anyone looking to begin their journey in computer science.