Skip to content

InfectedDuck/CS50x-Solutions

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

46 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

My CS50x Problem Set Solutions

⭐️ Star this repository! It really motivates me to document my work and share my solutions!! ⭐️

Introduction

This repository contains my personal solutions for the problem sets from Harvard University's CS50x: Introduction to Computer Science. This course is an incredible journey through the fundamentals of computer science and programming, from C to Python, SQL, and web development.

⚠️ A Note on Academic Honesty

These solutions are intended for reference and educational purposes only. If you are currently enrolled in CS50, I strongly encourage you to attempt every problem set on your own first. The real learning comes from grappling with the problems and finding your own solutions. However, if you are stuck, you can use these files as an example or for insights.

Weekly Breakdown

Here is a brief overview of the topics and problem sets covered each week.

Week 0: Scratch 👾

  • Topic: Introduction to programming fundamentals using the Scratch visual programming language. Covers concepts like functions, loops, conditions, and variables.
  • Problem Set: The assignment is to create an open-ended project of your own design in Scratch. My project for this week is "Space Adventures."

Week 1: C 🚀

  • Topic: A deep dive into the C programming language. Covers the command line, data types, operators, and conditional logic.
  • Problem Sets: hello.c, mario_less.c, mario_more.c, cash.c, and credit.c.

Week 2: Arrays 🔡

  • Topic: Working with arrays, strings, command-line arguments, and basic cryptography.
  • Problem Sets: caesar.c, readability.c, scrabble.c, and substitution.c.

Week 3: Algorithms 🗳️

  • Topic: Algorithm efficiency (Big O notation), recursion, and different sorting and searching algorithms.
  • Problem Sets: plurality.c, runoff.c, tideman.c, and sort (demonstrating Bubble, Merge, and Selection Sort).

Week 4: Memory 🧠

  • Topic: Understanding memory in C, including pointers, memory allocation (malloc, free), file I/O, and data structures.
  • Problem Sets: volume.c and filter (implemented via filter.c, helpers.c, and helpers.h).

Week 5: Data Structures 📖

  • Topic: Implementing and using more complex data structures like linked lists, hash tables, and tries to optimize performance.
  • Problem Sets: inheritance.c and speller (implemented via speller.c and dictionary.c).

Week 6: Python 🐍

  • Topic: Transitioning from C to Python. Covers Python's syntax, data structures (lists, dictionaries, tuples), and common libraries.
  • Problem Sets: hello.py, mario-less.py, mario-more.py, cash.py, credit.py, and DNA.py.

Week 7: SQL 📊

  • Topic: Introduction to databases using Structured Query Language (SQL). Covers SELECT, INSERT, UPDATE, DELETE, and JOIN operations.
  • Problem Set: fiftyville (a SQL mystery).

Week 8: HTML, CSS, JavaScript 🌐

  • Topic: Front-end web development. Building static web pages with HTML (structure), CSS (style), and JavaScript (interactivity).
  • Problem Sets: Trivia Game and Mini Portfolio Homepage.

Week 9: Flask 📈

  • Topic: Back-end web development using Python and the Flask framework. Covers web applications, sessions, and integrating databases.
  • Problem Sets: finance (a stock trading platform) and birthdays (a birthday manager).

Credits

           
CS50 Logo      

Credits to CS50x

     

This project was inspired by and developed as part of the CS50x course offered by Harvard University. CS50x is Harvard University's introduction to the intellectual enterprises of computer science and the art of programming for majors and non-majors alike, with or without prior programming experience.

     
           
  • Course: CS50x: Introduction to Computer Science
  •        
  • Institution: Harvard University
  •        
  • Instructor: David J. Malan
  • Website: CS50x Official Site
  •      
     

Thank you to the CS50x team for providing such a comprehensive and engaging introduction to computer science.

   

About

A complete collection of my problem set solutions for CS50x: Introduction to Computer Science.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors