Skip to content

My CS50x solutions and projects. This repository showcases my foundational understanding of programming concepts, problem-solving, and algorithms using C/Python, covering data structures, memory, and web development basics.

License

Notifications You must be signed in to change notification settings

marceloxreis/CS50x

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🏷️ About CS50X

CS50X is an online introductory course on computer science and programming. It teaches the languages C, Python, SQL, HTML, CSS & JavaScript, as well as fundamental computer science concepts such as algorithms & data structures, abstraction, encapsulation, resource management, security, and the Flask web framework.



💻 About the Repository

An important part of the course, it's submitting the problem sets, as well as the final project for feedback. This repository contains the solutions I've come up with for the problem sets.

Also down below are links and short descriptions for each of the projects.



📕 Academic Honesty

Keep in mind the course's academic honesty. You should try figuring out a solution yourself before looking at other implementations. Also, bear in mind that I am a beginner, I've taken the course to learn, so the solutions might not be the best implementations.



📖 Content


▶️ Notes


PNG Badge

  • Notes - contains notes I took from various sources, mostly from each week's notes section.

▶️ Week 1 - C


C

  • Hello - _ print a hello + your name

  • Mario - create an adjacent pyramid of blocks.

  • Cash - minimize the number of coins given to a customer when making a change using greedy algorithms.


▶️ Week 2 - Arrays


C

  • Scrabble - determine which of two scrabble words is worth more.

  • Substitution - program that encrypts messages using Caesar's cipher.

  • Readability - calculates the approximate reading grade level of a given text using the Coleman-Liau index.


▶️ Week 3 - Algorithms


C

  • Sort - analyze three sorting programs to determine which algorithms they use.

  • Plurality - program that runs a plurality election.

  • Runoff - program that runs a runoff election.


▶️ Week 4 - Memory


C

  • Volume - modify the volume of an audio file.

  • Filter Less - program that applies filters to BMPs.

  • Filter More - program that applies filters to BMPs.

  • Recover - program that recovers JPEGs from a forensic image.


▶️ Week 5 - Data Structures


C

  • Inheritance - simulates the inheritance of blood types for each member of a family.

  • Speller - program that spell-checks a file using a hash table.


▶️ Week 6 - Python


Python

  • Hello - _ print a hello + your name

  • Mario - create an adjacent pyramid of blocks.

  • Cash - minimize the number of coins given to a customer when making a change using greedy algorithms.

  • Readability - computes the approximate grade level needed to comprehend some text.

  • DNA - program that identifies a person based on their DNA.


▶️ Week 7 - SQL


SQLite

  • Songs - SQL queries that answer questions about a database of songs.

  • Movies - SQL queries that answer questions about a database of movies.

  • Fiftyville - write SQL queries to solve a mystery.


▶️ Week 8 - HTML, CSS, JavaScript


HTML5 CSS3 JavaScript Bootstrap

  • Trivia - simple webpage that lets users answer trivia questions.

  • Homepage - simple web application with multiple pages.


▶️ Week 9 - Flask


Python Flask SQLite HTML5 CSS3 JavaScript

  • Birthdays - web application that keeps track of birthdays.

  • Finance - website via which users can 'buy' and 'sell' stocks.


▶️ Final Project


Python Flask SQLite HTML5 CSS3 JavaScript



📚 Credits

First of all, a huge thank you to Prof. David J. Malan and the rest of the CS50 staff for giving us this free learning opportunity. I thoroughly recommend the CS50 course for anyone who wants to get into or improve their skills in the Computer Science field.


If you'd like to know more about CS50, I'll leave a few link down below.

About

My CS50x solutions and projects. This repository showcases my foundational understanding of programming concepts, problem-solving, and algorithms using C/Python, covering data structures, memory, and web development basics.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published