Giter VIP home page Giter VIP logo

cs50's Introduction

Harvard University's CS50 2020: Introduction to Computer Science Problem Set Solutions

Harvard University's CS50: Introduction to Computer Science is an entry-level computer science and programming MOOC (massive online open course). It is often recommended in Reddit and Stack Overflow discussions for beginner programmers as a starter course. Best of all, all the material is available online and completely free!

I started the course with a novice understanding of programming concepts and a little bit of experience with C, C++, and Lua. This Git repository contains my solutions to the problem sets for the Fall 2020 course.

I have refrained from going back to "improve" earlier problem sets as I've advanced through the course because I also wanted to document my learning progress. The repo is updated as I go through the course.

Here is my week-by-week analysis of the problem sets:

Week 1 - C

The first program you ever write when learning a new programming language. Spiced up by using a function from cs50.h library to query for a name and print it out.

While and for loop structures, the basic building blocks of programming. Getting back to C syntax and being frustrated with forgetting those semicolons.

The main lesson was using if-else control flow to get the desired result. This was a decent challenge for me, took a few hours to finish.

Week 2 - Arrays

Character data type, getting to know ASCII. String is just an array of characters. Using a few more libraries.

Taking a command-line argument, making your own functions. Again, a nice challenge that took an evening to complete.

This was a tough nut to crack for me. Took a lot of thought to figure out how to make sure each alphabet was used exactly once and how substitution was to be done correctly. This actually felt like programming.

Week 3 - Algorithms

Partial code with the main block given. The task was to complete 2 functions to get the program, was over before I knew it.

A step up in difficulty again. The task was to complete 6 functions, which were nicely bite-sized and contained. Text to logical problem, 2D arrays, loops inside loops. Didn't understand the whole logic behind the program even though I completed the code.

Oh man, the legendary Tideman. The logic was very hard to reason, I had to draw 2 pages full of visualizations and even a separate program to dial in lock_pairs function. Sorting algorithms, recursive functions, I felt like a total failure. Got all smiley faces in the end, but would've appreciated a little more hand-holding.

Week 4

Week 5

Week 6

Week 7

Week 8

cs50's People

Contributors

ob3calp avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.