Mon Dec 8 16:46:43 EST 2003
HARDWARE prox cards; system architecture logical/functional organization of a computer physical structure major pieces: cpu, memory, disks, peripheral devices, etc. acronyms and numbers: MHz, GHz, MB, RAM, ROM, Kbps prefixes: pico, nano, micro, milli, ..., kilo, mega, giga, tera, peta, ... CPU operation arithmetic, memory access, decision making, control different processors intel vs mac vs palm pilot vs ... instructions; toy machine branching & conditional instructions fetch / decode / execute cycle instructions in same memory as data computer architecture caching in CPU and elsewhere von Neumann model of computer Turing equivalence of computers integrated circuit fabrication Moore's law exponential growth bits, bytes, representation of information analog versus digital binary numbers, arithmetic hexadecimal notation meaning of bits depends on context numbers, characters, addresses, instructions ascii and unicode powers of two and powers of ten color encoding and representation other kinds of computers SOFTWARE algorithms: defined operations, defined steps, terminates linear-time algorithms searching, selecting, summarizing binary search; divide and conquer; log n algorithms sorting quadratic (n^2), quicksort (n log n) complexity of algorithms (log n, n, n log n, n^2, n^3, ..., 2^n) what these complexity formulas mean towers of hanoi, traveling salesman problem, hard problems, P vs NP evolution of programming languages machine and assembly language high level languages compilers, compilation executable files; interpretation and simulation visual basic language, components, development environment variables and expressions assignment statements, print, msgbox, etc. declarations and types If-Then-Else-End If Do While ... Loop For ... Next loop subroutines and functions how it works, but NOT detailed syntax operating systems history what they do: manage memory, run programs, file system applications vs operating systems file systems directories / folders and files logical structure vs physical implementation file system implementation blocks, allocation table, free list finding files file open, save, delete, etc. what's remembered where for how long network file systems drivers bootstrapping operating system interface, API Microsoft case Unix / Linux programming in the real world bugs COMMUNICATIONS history ethernet, broadcast media Internet structure names, addresses, routing, protocols domain names, DNS caching IP addresses dotted decimal notation IP protocol unreliable datagrams packets TCP protocol reliable streams higher-level protocols: SSH, SMTP, HTTP layering, encapsulation bandwidth communications technologies Web url, http, html, browsers forms and cgi programs risks cookies, spam active content, Javascript, Java, ActiveX attacks on clients, servers, networks denial of service viruses defenses intellectual property, DMCA cryptography history secret key crypto: DES, AES public key crypto, digital signatures, key exchange compression lossless, lossy JPEG, MPEG, MP3 error detection & correction checksums, parity Napster and successors search engines cell phones; other radio devices