Skip to content

🎓 My solutions to Harvard University's CS50 Introduction to Computer Science (2017 and 2021 solutions) #CS50 #GD50 #WEB50

License

Notifications You must be signed in to change notification settings

glennlopez/CS50.HarvardX

Repository files navigation

Harvard CS50: Introduction to Computer Science

These are my solutions to Harvard University's "CS50: Introduction to Computer Science" course offered at edX. I used both CS50's c9.io IDE and my own text editor on linux & macOS + CS50's Libraries to complete this course (library references here.)

To complete the following Problem sets, I studied all of the CS50's lectures (2017 and 2018), shorts, walkthrough (2017), and participated in class discussions via /r/CS50 on Reddit. All Problem set submissions received correctness scores of 5/5 and "style" score of atleast 4/5 (efficiency doesn't '\n' before and after '{' ).

NOTE: Do not use 2017 solution for 2018 as they will have different "check50" standards.

CS50 (2018) Problem Sets: (whats new?)

CS50 (2017) Problem Sets:

CS50 2018 Sylabus:

This course teaches you 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. Designed for concentrators and non-concentrators alike, with or without prior programming experience. 68% of CS50 students have never taken CS before.

IDE, Command Line, Data Types, Operators, Conditional Statements, Loops

Debugging, Functions, Variables and Scope, Arrays, Command Line Arguments, Magic Numbers

Computational Complexity, Selection Sort, Bubble Sort, Insertion Sort, Linear Search, Binary Search, Algorithms Summary, Recursion, Merge Sort, GDB

Call Stacks, File Pointers, Pointers, Dynamic Memory Allocation, Hexadecimal

Structures, Defining Custom Types, Singly-Linked Lists, Hash Tables, Tries, Stacks, Queues, Data Structures

Internet Primer, IP, HTTP, HTML, CSS

Dynamic Programming, Rod cutting, Network Routing, Sequence matching, Image Composing, Seam Carving

Python Basics, More Python

Web Programming, Frosh IMs, Similarities

Flask, MVC, SQL, Cookies, Databases

JavaScript, DOM, Ajax, Model View Converter, Javascript basics, DOM, Ajax

WIP? - Nothing announced: Start final project.

Final Project, 2018 Seminars

Recomended Books (check eBook folder for availability)

  • C Programming Absolute Beginner’s Guide, Third Edition
  • Hacker’s Delight, Second Edition
  • How Computers Work, Tenth Edition
  • Programming in C, Fourth Edition
  • more..

Useful Links:

About

🎓 My solutions to Harvard University's CS50 Introduction to Computer Science (2017 and 2021 solutions) #CS50 #GD50 #WEB50

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published