59.102 - Computer Science Fundamentals Questions you should know the answer to

Number Representation

Why do computers use binary?

What is a number?

How do people represent numbers?

How do machines represent numbers?

How do you convert from decimal to binary representation?

How do you convert from binary to decimal?

What is hexadecimal notation?

What is precision?

What precision is used for the different types in C?

How are unsigned binary numbers added and subtracted?

What is carry?

How can negative numbers be represented in binary?

Why is two's complement the most common method?

What is overflow?

How do signed numbers work in C?

How are characters represented?

How are strings represented?

How are real numbers represented?

What are the biggest and smallest floats and doubles?

What is overflow and underflow?

Digital Logic

What is a logic function?

What is a truth table?

What possible 1 input 1 output functions are there?

What possible 2 input 1 output logic functions are there?

Which of these are useful?

What is a logic diagram?

How does C allow us do perform logical operations

Why does C have two of each?

What is combinational logic?

How can we build a device to add two numbers together?

What is an ALU?

What is Sequential Logic?

What is a flip flop?

What is a register?

How can we build a register?

What is a memory ?

What is an Address?

Computer Hardware

What is a CPU?

What are the parts of a CPU?

What is a bus?

What is the the datapath?

What is the control unit?

What is the data bus?

What is the address bus?

How is memory organised?

What is an instruction?

What is the execution cycle?

What is an instruction set?

What different types of instruction must be in the instruction set?

What is the program counter?

What are the flags?

How are instructions stored?

What is assembly language?

What are some possible operands?

What is an assembler?

How does assembly language compare to C?

How is a simple program executed?

How does the cpu communicate with the outside world?

What is memory mapped I/O?

What is polling?

What are interrupts?

How do we measure the speed of a CPU?

How can we speed up a cpu?

What is pipelining?

What is superscalar?

What is the difference between risc and cisc?

What is multiprocessing?

Data structures

What is a data structure?

how is data stored in memory?

What is a list?

How can we use an array to store a list?

What are the properties of a list?

What operations can be performed on lists?

What is the difference between an ordered list and an unordered list?

What is a binary search?

What are some uses of lists?

What is a stack?

What operations can be performed on stacks?

How can we use a list to implement a stack?

What are stacks used for ?

How is a stack used for function parameters in C?

What is a queue?

What operations can be performed on queues?

What are queues used for?

what is the producer consumer problem?

How are data structures declared in C?

What is an ADT?

What is a tree?

What is a binary tree?

What is traversing?

What is Inorder traversal?

What is preorder traversal?

What is postorder traversal?

How can a tree be implemented using a list?

What is an ordered tree?

How can a tree be used for sorting?

When are trees efficient for searching?

Algorithms and Languages

What is an algorithm?

How are algorithms described?

What is pseudo code?

What are algorithms made of?

What is recursion?
What are some algorithms for sorting?

What is the Bubble sort?

What is the Insertion sort?

What is the Quicksort?

How does the partition algorithm work?

What is complexity?

What is big O notation?

What is a polynomial algorithm?

What is an exponential algorithm?

What is the complexity of some common algorithms?

What is the complexity of Bubble sort?

What is the complexity of Insertion sort?

What is the complexity of Quick sort?

What types of programming language are there?

What is a programming paradigm?

What is an Imperative programming language?

What is an Object Oriented programming language?

What is a Functional programming language?

What is a Declarative programming language?

What is syntax and semantics?

How can we describe the syntax of a language?

what is a grammar?

What is BNF?

What is the Church-Turing thesis?

What is a Turing machine?

What is correctness?

What is Testing?

What is Proving?

Operating Systems and AI

What is an operating system?

What is a process?

What is memory management?

What is file management?

What is networking?

What is AI?

What is the Turing test?

How can a machine use search to solve a problem?