Skip to content

Latest commit

 

History

6 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CS50x Harvard – Problem Sets & Projects


Overview

This repository contains my completed coursework for CS50x, Harvard University's introduction to the intellectual enterprises of computer science and the art of programming. The curriculum emphasizes computational thinking, algorithmic efficiency, and practical software development across multiple programming paradigms.


Course Content

CS50x provides a comprehensive foundation in the following domains:

  • Procedural Programming – C language, memory management, pointers, and data structures
  • Algorithm Design – Sorting, searching, recursion, and complexity analysis
  • Data Structures – Arrays, linked lists, hash tables, tries, queues, and stacks
  • Object-Oriented Programming – Python, classes, inheritance, and modular design
  • Database Management – SQL, relational models, and CRUD operations
  • Web Development – HTML, CSS, JavaScript, and the Flask framework

Throughout this course, I developed solutions to challenging problem sets that strengthened my problem-solving abilities and deepened my understanding of how software functions at both high and low levels.


Project Portfolio

Project Domain Description
Hello C Introductory program demonstrating basic syntax and compilation
Caesar C Command-line encryption tool implementing Caesar's cipher
Substitution C Encryption utility using a substitution cipher with key validation
Speller C Dictionary-based spell checker utilizing hash tables for O(1) lookups
Finance Python/Flask Full-stack web application for virtual stock portfolio management

All projects are implemented with clarity, efficiency, and strict adherence to CS50's style and design guidelines.


Technical Stack

  • Languages: C, Python, SQL, HTML5, CSS3, JavaScript (ES6)
  • Frameworks: Flask, Jinja2
  • Databases: SQLite3
  • Tools: Git, CS50 IDE, Valgrind, Check50, Debug50

Code Usage Guidelines

This repository is shared for educational reference and portfolio demonstration purposes.

Academic Integrity Notice: Direct copying or submission of this code as your own work violates academic honesty policies. Please review the CS50 Academic Honesty Policy before using any materials. The purpose of sharing this repository is to inspire learning and provide reference material—not to facilitate academic dishonesty.


Contact

For inquiries, collaboration opportunities, or feedback, feel free to reach out:


Acknowledgments

This work would not have been possible without the exceptional instructional materials and support provided by:

  • Harvard University – CS50x course staff and teaching fellows
  • Professor David J. Malan – For exemplary lectures, clarity, and pedagogical excellence
  • edX Platform – For accessible online delivery of course content

"This is CS50."
— Vida Khoshpey


Licensing

This project is distributed under the MIT License. Refer to the LICENSE file for complete terms and conditions.


Thank you for visiting my repository. Happy coding!

About

No description, website, or topics provided.

Resources

Stars

9 stars

Watchers

2 watching

Forks

Releases

Packages

Used by

Contributors

Languages