♣ Due Date: Friday September 24, 2021 9:00 AM. This homework aims at giving you some experience with computer hardware and software. Please write your answers in a README.md
file and push them all to HW/2/
folder of your repository on GitHub.
-
What does ENIAC stand for?
-
Why is everything represented by integers in computers?
-
What is the name of the fastest part of the computer memory?
-
What is the slowest storage device in computers (that is typically integrated with computers)?
-
What is the smallest unit of information in computer science?
-
(A) What is the closest programming language to machine code (i.e., binary code)?
(B) Does it need interpretation in order to become machine-comprehensible?
-
(A) Name the oldest high-level programming language that is still in active daily use.
(B) Approximately how many decades is it old? ($\pm15$ years is acceptable answer. the decade it was created is also an acceptable answer)
-
(A) Name a second-generation programming language.
(B) Which language-generation are Fortran, C, C++, MATLAB, Python, R?
-
In what decades C, C++, and MATLAB/Python were created, respectively?
-
Name an ancestor programming language of C.
-
Name a programming language ancestor of C++.
-
Name a programming language ancestor of MATLAB and a programming language ancestor of Python.
-
What are the three common types of errors in computer programs? Provide an example for each category.
-
Suppose you write a program that has memory leak. What type of programming error you dealing with?
-
Extra credit: What are the three fundamental components of a Turing-complete language?
-
Extra credit: How would you distinguish exponential behavior vs. power-law behavior (function) in a 2-dimensional plot?
Hint: Recall our discussion of the ENAIC project and the relative frequency of keywords such as “computer” in our programming.