I am on week 1 and it is a lot frustrating to me. I certainly am not good with computers. When in first part of the lecture, teacher says things such as someone invented it, computer looks for it... I do not understand... how computer looks for something? who invented basic commands? how it was configured? how they added others? where is the list of those?
-
CS50 is an introduction to computer science. What you're asking is more along the lines of History of Computing. Unfortunately it's way too big a topic to answer here. You also might find this reddit thread helpful: ELI5: At the most basic level, how does computer software (code) actually communicate with computer hardware?– AirCommented Jan 21, 2015 at 18:06
2 Answers
Some of the "Shorts" in Week 0 and Week 1 dip a little into this (not much!) but they do provide a little insight into where you can go and do further research to find out the answers you may be looking for. Particularly, you can view the manual pages for whatever you are looking for in c. For example if you want to see the man page for the function printf, type "man printf" in the command prompt without the "" marks. This will explain in great detail more about the nuts and bolts of the function, library, etc.
When the lecturer says "someone invented it and the computer looks for it" that is all you would really need to know in order to program effectively. As beginner programmers it does not truly matter who wrote the library or the physical stack of operating system procedures employed to go out and get the library out of storage and load it into memory...all you need to know at that moment is: someone already coded the functions you need to use and the computer can access them by entering #include in your c program.
I encourage you to investigate what you want to learn and to not let it bog you down or discourage you. Once you nail down the basics, then dive into the who and why and how all that other stuff works. For now, just accept that it does. :)
Edited to add: this may also be of use to you. It is the C Reference document published by the Harvard CS50 faculty. https://cs50.harvard.edu/resources/cppreference.com/index.html
Well, I enrolled in one more introductory course to computer science and programming which is of MIT. There is a very good theoretical framework along with charts so I could easily picture what is that I am going to study and do and how it all works together.
The answer in few words: There are primitive computers that were doing only basic calculations, and then appeared computers that store programs and run algorithms. The basic elements are: - storage of programs - interpreter that executes previous in order - then it works with arithmetic logic unit, where the results are tested for the conditions - from logic unit, computer goes back to run another sequence of program or get an output.
This is from https://courses.edx.org/courses/MITx/6.00.1x_5/1T2015/info Actually it was very insightful to go through whole lecture. I think that CS50 lacks a bit of theory... especially for those who are not comfortable with computers such as myself ;)