- The Computer Revolution: Historical development of the PC (1 week)
- Hardware (2 weeks)
- CPU Architecture
- Address and Data lines
- Interrupts
- Pipelining
- Cache
- RISC vs. CISC
- ALU, FPP, MMX and SSE
- RAM/ROM
- Internal and external bus design (local bus, PCI, AGP)
- Memory allocation and management
- Memory addressing schemes
- Multiprocessing algorithms
- Interfaces
- I/O and storage devices
- Graphics (hardware, resolution, color depth, etc.)
- Software (2 weeks)
- Instruction hierarchy
- Program interpretation and execution
- Data representation (ASCII, Unicode, graphics, music, and video)
- The role of the operating System
- Windows 9x architecture
- Windows memory management
- Data exchange DDE vs. OLE
- Programming Methodologies (1½ weeks)
- Programming abstraction (APIs, MFC)
- Multiplatform development (simulators, virtual machines)
- Java vs. Active-X
- Security issues
- Networking (3 weeks)
- Mode of use (servers vs. file sharing, distributed databases)
- Peer-to-peer architectures
- Client-server architectures
- Point-to-point vs. packet based networks
- ISO/OSI model
- Network operating systems
- Topologies, cabling and protocols
- Switches and routers
- TCP/IP (addressing and protocols)
- LANs and WANs
- Internet (historical development and architecture)
- Internet applications (Telnet, FTP, USENET, SMTP/POP, WWW)
- MIME
- WIFI and Bluetooth
- Video Conferencing
- SOHO/Home networking issues
- Social issues (2 weeks)
- Legal, ethical and moral issues
- Copyright
- Privacy
- SPAM
- Free speech vs. Filtering
- Viruses, Trojan horses and worms
- Computing limits – artificial intelligence – A historical approach
- Communication (PC to PC, PC to mainframe) (1 week)
- Simulators
- Communication parameters
- Modems and broadband
- Compression (1½ weeks)
- Lossless vs. lossy
- Symmetric vs. asymmetric
- RLE
- Huffman coding
- Review of popular multimedia CODECS