/harvard-cs50

problem sets for CS50: Intro to Computer Science.

Primary LanguageHTML

harvard-cs50

all of my solutions for the CS50: Intro to Computer Science's problem sets. =)

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.

What you will learn:

A broad and robust understanding of computer science and programming

How to think algorithmically and solve programming problems efficiently

Concepts like abstraction, algorithms, data structures, encapsulation, resource management, security, software engineering, and web development

Familiarity in a number of languages, including C, Python, SQL, and JavaScript plus CSS and HTML

How to engage with a vibrant community of like-minded learners from all levels of experience

How to develop and present a final programming project to your peers

observations

to compile and run the problem sets that were based in C, you will need to have GCC installed on your device, as well as the CS50's original library (cs50.h and cs50.c); more on that here.

not all of my solutions will use the CS50's library, but if one does, remember to add the argument -lcs50 while compilling.

clang name_of_file.c -o name_of_output -lcs50

after compilling, a new file will be created in your source folder, which is an executable. to execute it:

./name_of_output