CS 107
Final Review, Spring 2006
Final is Tuesday, May 16, 12 Noon, HR 235
closed book, closed notes
Anatomy of a Computer
Bit, byte, kilobyte, megabyte, gigabyte, terabyte, petabyte
Converting bit sequences into numbers and ASCII characters, and vice-a-versa.
What is the largest number that can be represented with n bits?
RAM, Persistent Data
Internet Organization
Client-Server
IP, DNS, Static web page, dynamic web page, CSS
Web Services and Mashups -- what is the difference between a web service and web page? Why is Amazon happier to give away web service data compared to Google?
Technology Issues
ICANN, Domainers
Collaborative Software
Blogs, Wikis, and self-publication
Social Bookmarking
Folksonomy
Wikipedia
What key technological advancements have made things like the Internet Archive, delicious, and wikipedia possible?
Programming
Mostly Python Language and JES image manipulation programs.
Do understand "CountGreens" NQC robot program, how to set a sensor, how to check a sensor, how to loop doing nothing (e.g., while in green).
Write code that is similar but different than the examples we've done in class
On test, write 'template' out, then change for specific problem
All library function specifications will be provided to you-- you don't need to memorize names, but need to know what each does. For instance, what do the following functions do?
getPixel(pic,x,y)
makeColor(r,g,b)
What is a variable?
Trace a program-- given a program, can you show how the variables change and what is printed out?
Functions
What is the purpose of being able to write functions?
parameter, return values, function call, 'main' program.
Write a function that performs some computation, then call it from the 'main' program.
Label the parts of a program.
Conditionals
And, Or, Not
Iteration
Loop variable
The standard loop-- doing something n times.
Processing a list, e.g., how do you add a list of numbers with a program? What is an 'accumulator' variable?
Here's an example
Nested loops
Comparing two lists
Processing a matrix, e.g., JES image manipulation
Input-Output -- How do you get input from the end-user?