## Test #1 Topics

The test covers Chapter 1, Chapter 2, Sections 3.1, 3.3 (except Huffman encoding), 3.4 & 3.5 of Chapter 3, Sections 16.1 & 16.2 of Chapter 16.

### Chapter 1

• Know the role of hardware, software, and data in a computing system.
• Understand the basic idea behind what each layer of a computing system represents.
• From the history of computing
• Know when the modern computer era began and the two main events that started it
• Know the role of each of the following important people in the history of computers: Joseph Jacquard, Charles Babbage, Ada Byron Lovelace, Herman Hollerith, Alan Turing, John von Neumann, Presper Eckert, John Mauchly.
• Know the importance of each of the following machines in the history of computing (and what problems each was designed to solve): Jacquard's loom, Analytical Engine, Hollerith's Tabulating Machine, Harvard Mark I, ENIAC, Colossus.
• Know the primary technology for switches in each of the four generations of hardware.
• Know the networking terms defined in Chapter 1 - Internet, protocol, TCP/IP, packet switching, file server.
• Know the three levels of language - Machine, Assembly, High Level

### Chapter 2

• Understand positional notation and place value number systems.
• Be able to convert a number in any base to its equivalent in base 10.
• Be able to convert a base 10 number to any base two different ways: (1) Using the place values (as we did in class); (2) Using the algorithm that involves repeatedly dividing by the base (this is the algorithm given in the book)
• Know the relationship between bases 2 (binary), 8 (octal), and 16 (hexadecimal) and be able to convert between these bases using the relationship.
• Be able to add and count in other bases.
• Know what a byte and a word are

### Chapter 3

• Know what compression is
• Know the difference between analog data and digital data
• Understand why digital is better for an electronic computer
• Understand the idea of binary codes - be able to determine the number of things that can be represented using an n-bit code and, on the other hand, if you know how many things you want to represent be able to determine the number of bits needed (bit-length) in the code.
• Know what a character set is; know what ASCII and Unicode are
• Be able to do keyword encoding and run length encoding
• Be able to compute the compression ratio when encoding text using a compression technique
• Understand the basics of audio representation - the idea of sampling and how sound is represented on an audio CD. Know the basics of MP3 representation.
• Understand the basics of representing color and images - an RGB value, pixel, resolution, raster graphics formats, a bitmap, GIF and JPEG (which is best for which types of images), PNG, vector graphics

### Chapter 16

• Know what HTML is
• Know what a tag is and that tags often come in pairs (what these pairs would look like)
• Know the two important parts that one must include to put a link on a Web page.
• Know the difference between the Web and the Internet
• Know what a Web server is and what a Web browser is
• Understand the interaction between Web browsers and Web servers (that is, understand how the Web works - what is happening when you request a Web page)
• Know what a URL is
• Know what a cookie is