Review for Final
You are responsible for the answers to the questions
in the homeworks and labs.
Many of the questions on the exam will be based on the labs.
You should know the following concepts and terms:
General background / Data representation
- hardware/software
- monitor, keyboard, input, output
- CPU, processor
- memory, hard drive, floppy drive, RAM, diskette
- program, operating system, application program
- bits, bytes, KB, MB, GB
- processor speed, GHz
- ASCII text, binary, Unicode
- You should be able to convert a binary number into decimal - here is an
online tool to practice with
Windows (you will probably not be tested
on this directly, but you should certainly know these!)
- desktop, window, icon, title bar, menu bar
- control menu bar, minimize, maximize, restore, scroll bars
- point, click, double click, drag, dialog box
Internet
- LAN, WAN
- ARPANET, internetwork
- IP address, DNS name
- Domain Name System
- TCP/IP software, RFC
- packet switching, IP datagram, IP address
- email, mailing lists, email viruses
- communication protocol
- routers
Web pages and HTML
- URL, home page
- browser, hypertext
- HTML tags: html , head, body title,
underline, italics, boldface,
paragraph, line break, headings,
ordered and unordered lists
HR, links < a href....> ..</a> , img,
changing colors of background, using a background image
Software
- algorithm
- compiler, interpreter
- machine language, high level language
- stored program concept
- software life-cycle
Searching for Information
- search engines, subject directories, meta-search engines
- deep Web
- advanced searches
- spider, index
- AND
- TITLE: and URL:
- assessing credibility of information found online
- plagiarism
- copyright, common knowledge, public domain
History of Computer Science
You should be familiar with the contributions of these people:
- Pascal
- Jacquard
- Babbage
- Ada Lovelace
- John von Neumann
- Alan Turing
- Grace Hopper
- Hollerith
- Ritchie and Thompson
and also know what these refer to:
- Pascaline
- Difference Engine, Analytical Engine
- ENIAC
- ARPAnet
- Moore's Law
- vacuum tube, transistor, silicon chip
- MITS Altair 8800
- microprocessor
- RFC
- Internet 2
- Unix
An interesting video on the history of computer science
Programs
- algorithm, program, script
- stored program concept
- how programs are executed in the CPU - roles of the ALU,
Control Unit, registers, program counter, instruction register, bus
- input, output
- variables (identifiers)
- alert, prompt, confirm
- HTML forms - text input boxes and buttons
- event-driven programming
- onMouseOver, onMouseOut, onClick
- properties and methods of window and document, such as document.bgColor,
document.write(), window.close(), etc.
- the difference between NAME and VALUE of a field of a form
- purpose of a predefined function or method
Limits of Computation
- loops
- infeasible problems
- computable and non-computable problems
- paradox, Halting Problem
Security and Encryption
- secure transactions, SSL, https
- cookies, third party cookies
- digital certificate
- symmetric key encryption
- asymmetric key encryption. public and private keys
- digital signature
- PGP
- session key
Sample Questions
NOTE: These questions are only samples. The questions on the exam
may be different, and may cover other topics from the list above.
-
Short answer questions
-
What does a compiler do?
- What is the purpose of a variable?
- What is the difference between the statements below?
a) alert(number); b) alert('number');
- What is the difference between the statements below?
a) alert("number"); b) prompt("number");
- What is the difference between document.bgColor and
document.fgColor ?
- How does an image rollover work?
-
Why is it difficult to design a computer program that will always win at
playing chess?
- What is the Halting Problem?
- What is the difference between an infeasible problem and a non-computable problem?
-
Explain a web page containing a script and/or a form
Be prepared to look at the html for a web page and draw a picture
of what gets displayed on the page, and explain what happens
when buttons are pushed.
-
Write the code for a form and/or a script
Be prepared to write a complete Web page containing a form and/or a script
to accomplish a simple task:
Examples:
- Write the code to display one button on the web page. The button should
say "Push me". When the button is pushed, a message should appear saying "Ouch!"
-
Write a simple script that asks for a person's name and then produces a
message that says "Hello Jane" (or whatever the name is)
-
(Similar to problem above, but uses a form) Write the code for a Web page
that contains a form that allows the user to type in his name. The
form also contains a button that says "Press Here". When the button is
pressed, a message appears that says "Hello Jane" (or whatever the
user's name is)
-
Write a page that allows a user to enter a color and will change
the background color accordingly.