These are the solutions to the problem sets from cs50x 2024.
The solutions pass all check50 tests.
My final project is not included here yet.
I enjoyed working on the finance project from week 9 very much, so I created another repository called "finance" to keep developing that app.
- Scratch - a graphics-based programming language.
Binary, ASCII, Unicode, Color, Algorithms, Pseudocode, Artificial Intelligence, Conditionals - C.
Machine Code, CS50 Library, Format Codes (%i, $d, %s etc.), Types, Conditionals, Variables, Loops, Functions, Scope, Function Composition, Linux, Integer Overflow, Truncation, Type Casting, Floating-Point Imprecision - Arrays
Compiling, Debugging, Memory, Arrays, Strings, String Length, Command-line Arguments, Exit Status, Cryptography - Algorithms
Linear Search, Binary Search, Running Time, Structs, Sorting, Selection Sort, Bubble Sort, Recursion, Merge Sort - Memory
Hexadecimal, Memory, Pointers, Strings, Pointer Arithmetic, String Comparison, Copying, malloc and Valgrind, Garbage Values, Swapping, Overflow, scanf, File I/O - Data Structures
Stacks and Queues, Resizing Arrays, Linked Lists, Trees, Dictionaries, Hashing and Hash Tables, Tries - Python
Functions, Types, Conditionals, Compare, Object-Oriented Programming, Loops, Truncation, Exceptions, Lists, Dictionaries, sys, pip - SQL (using sqlite3)
Flat-file Databases, Relational Databases, Schema, Data Types and Constraints, Primary and Foreign Keys, Querying, Indexes, Python and SQL, Race Conditions, SQL injection attacks - HTML, CSS, JavaScript The Internet, TCP/IP, Ports, DNS, DHCP, HTTP, Inspect, Status Codes, HTML, Regular Expressions, CSS, Bootstrap, JavaScript, Autocomplete, Geolocation
- Flask web framework
Flask, Forms, Templates, Request Methods, SQLite and Python, Cookies and Sessions, Shopping cart, APIs
- Bonus Lecture: Artificial Intelligence
Image Generation, ChatGPT, Prompt Engineering, CS50.ai, Generative AI, Descision Trees, Minimax, Machine Learning, Deep Learning, Large Language Models, Hallucinations - Bonus Lecture: Cybersecurity
Passwords, Password Managers, Two-Factor Authentication, Hashing, Cryptography, Passkeys, Encryption, Deletion, Ransomware
This is CS50x , 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. An entry-level course taught by David J. Malan, CS50x 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 on-campus version of CS50x , CS50, is Harvard's largest course.
Students who earn a satisfactory score on 9 problem sets (i.e., programming assignments) and a final project are eligible for a certificate. This is a self-paced course–you may take CS50x on your own schedule.
Description copied from harvard.edu
More information: here