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
- processor, CPU, parts of the CPU
- memory, hard drive, floppy drive, RAM, diskette
- program, operating system, application program
- bits, bytes, KB, MB, GB
- processor speed, GHz
- ASCII text, binary, Unicode
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
Networking and the Internet
- LAN, WAN
- ARPANET, internet
- IP address, DNS name
- Domain Name System
- TCP/IP protocol, RFC
- packet switching, IP datagram, IP address
- email, mailing lists, email viruses
- distributed network
- 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
< input .../>
buttons, textboxes
Programming and Algorithms
- algorithm, program, script
- compiler, interpreter
- machine language, high level language
- stored program concept
- input, output
- 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
Hardware
- how programs are executed in the CPU - the CPU datapath
- roles of the ALU,
Control Unit, registers, program counter, instruction register, bus
- main memory
Javascript
- properties and methods of window and document, such as document.bgColor,
document.write(), window.close(), etc.
- variables (identifiers)
- predefined functions such as alert, prompt, confirm
- purpose of a predefined function or method
- accessing textboxes and buttons
- the difference between the ID and VALUE of a textbox
- event-driven programming
- onMouseOver, onMouseOut, onClick
- user written functions
- loops in javascript
Limits of Computation
- loops
- infeasible problems
- computable and non-computable problems
- paradox, Halting Problem
Security and Encryption
- secure transactions, SSL, https
- browser security settings, lock icon, phishing
- 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
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 script
Be prepared to write a complete Web page containing 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 textbos) Write the code for a Web page
that contains a textbox that allows the user to type in his name. There is
also 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.