CS101 Midterm Exam Topics
The midterm exam is open book and open notes. Calculators are
not allowed. For Anchorage students, the exam will be held in BEB 110 this
Saturday, October 12, from 9:00 am to 5:00 pm. The exam will
not take all eight hours; I anticipate it will take approximately 1
hour. However, you have the time window of 9-5 to take the test. For
students outside of Anchorage, contact your distance education coordinator for
the time and location.
There will be a number of problems to work through (no multiple choice) that
are similar to the homework. Consequently, the best way to study for the
test is to understand your homework questions and be able to answer the
questions at the end of the chapters in the book.
Algorithms
- Be able to write an algorithm in pseudocode that solves a particular
problem
- Better to be more specific than too general on your pseudocode
- Typical algorithms to understand:
- How to loop sequentially to process a list of values
- Sequential search through a list of names
- Find the largest or smallest
- Compute the median of a list of numbers
- Binary search
- Sorting with selection sort
- Complexity of algorithms
- Order of magnitude, concept of theta notation
- Why we want the lowest order of magnitude possible to solve a
problem
- Why a super-fast computer doesn't necessarily help much to solve a
problem of high order of magnitude (e.g., n2 or
2n)
Data Representation
- Concept that data can represent many things (sound, instruction, number,
picture, text)
- How text is stored (ASCII, UNICODE)
- Be able to represent and convert between decimal, unsigned binary, hex,
octal, two's complement, and sign magnitude
- Negative number representation using S/M and two's complement
- Be able to convert a floating point number from decimal to IEEE 754 and
vice versa
Computer Arithmetic
- Know how to add and subtract numbers using two's complement representation
- Concepts of carry and overflow
Computer Architecture
- Basic components of a computer (e.g. disk, primary memory, secondary
memory, input units, output units)
- Memory and memory addressing
- Role of the data, address, and control bus
- Components of the CPU
- Registers
- ALU
- Control Unit
- Instruction Cycle, what it is
Machine Language
- Given a hypothetical machine language, such as that given in the homework
handout, you should be able to:
- Write a simple program
- If given a program, be able to describe what it will do
- Map the machine language into assembly language, and vice
versa