This quiz aims at testing your basic knowledge of values and variables. Don’t forget to push your answers to your remote repository by the end of quiz time. Push all your answers to quiz/2/ folder in your Github project.

  1. Name three different levels of the computer memory.

    Answer: Register (L1 Cache), L2 Cache, L3 Cache, RAM (Random-Access Memory), HDD (Hard Drive Disk).

  2. Suppose that you have a matrix of rank 2 to store in the computer memory. How would each one of the following languages store this matrix (column-wise vs. row-wise):
    b) C
    a) Fortran
    c) MATLAB
    d) Python

    a) row-wise
    b) column-wise
    c) column-wise
    d) row-wise

  3. What are the three fundamental components of a Turing-complete language?


    1. a way for accessing the memory
    2. a way for iteration
    3. a way for branching
  4. What are the three common types of errors in computer programs?


    1. syntax errors
    2. runtime errors
    3. semantic errors
  5. Suppose you write a program that has memory leak. What type of programming error you dealing with?

    Answer: runtime error

  6. What is the biggest integer (in base 10) that you could store in an int32 type?

    Answer: 2,147,483,647

  7. What is the difference between int16 and uint64 types (two major differences is enough)?

    1) int16 is only 16 bits storage, whereas uint64 is 64 bits storage.
    2) int16 is a signed integer storage meaning that one bit is reserved for the integer’s sign representation, whereas uint64 can only represent positive integers.