Study Guide
First Midterm Exam: Tuesday, Oct. 15, 2013
The exam will be in class, and you will have 75 minutes to complete it.
It will be closed book, closed notes, closed calculators, closed cell phone, and closed class mates during the exam.
Here is a list of topics that you should be able to explain or
use in a program. Understanding these topics well will help you
do well on the exams.
This is a guide, not a guarantee. I intend for it to help you,
but questions on the exam can come from any material we have
studied in this class.
- the main components of a computer system
- internal representation of information in a computer...
bits, bytes, words, binary
- the fetch/execute cycle
- the storage speed vs. cost vs. capacity pyramid (slow cloud to fast ram)
- The structure of an HTML document (head, body, etc.) and the
location(s) of JavaScript programs within that structure
- HTML tags... what are the common ones we have been using, what
do they do in the browser window
- data types: numeric, string, boolean
- variable declaration... creating storage in your program
- basic arithmetic expressions on numeric data
- assignment... storing values in variables
- constants and flag data values
- for loop
- while loop
- conditional statements: if, if-then, if-then-else,
if-then-else-if, switch
- boolean expressions and comparison of data values (less than,
greater than, less than or equal, equal, not equal, etc.)
- input via prompt
- input via form text fields
- simple output via alert
- output to a form text field
- HTML output via document.write()
- function definition
- function calls
- passing parameters into functions
- passing information back from a function with the return statement
- scope rules ... what names are visible where
- variables used as counters (with addition, with multipication)
- variables used as accumulators (with addition, with multipication)
- symbolic execution of a program, organizing the variable value
changes with memory maps (tables)
- basic software development habits: write a few lines of code,
compile, test, make sure it works before adding more lines
- grow your program, dont write it
- always have a working version
- design your algorithm to start... your first working version
is a program of mostly comments that indicate what major
activities to do in what order
- understand the basic algorithms we study... like binary search