Computer Science Advanced Studies Lessons
Computer Security
Symmetric Cipher Model
Cryptanalysis
Substitution Ciphers
Transposition
Block Ciphers
Data Encryption Standard (DES)
Advanced Encryption Standard (AES)
Multiple Encryption
Block Cipher Modes of Operation
- Electronic Codebook
- Cipher Block Chaining Mode
- Cipher Feedback Mode
- Output Feedback Mode
- Counter Mode
- XTS-AES
Random Numbers
Stream Ciphers
Public-Key Cryptography
- Public-Key Cryptography
- Requirements for Public-Key Cryptography
- Applications for Public-Key Cryptography
The RSA Algorithm
Cryptographic Hash Functions
The Secure Hash Algorithm
Message Authentication
- Message Authentication Requirements
- Symmetric Message Encryption
- Public-Key Message Encryption
- Message Authentication Codes
- Requirements for MACs
HMAC and CMAC
Digital Signatures
- Properties of Digital Signatures
- Digital Signature Requirements
- The Digital Signature Algorithm
- RSA Algorithms
Key Management
- Symmetric Key Distribution
- Hierarchical Key Control
- Symmetric Key Distribution Using Asymmetric Encryption
- Distribution of Public Keys
- X.509 Certificates
- Public-Key Infrastructure
User Authentication
Secure Sockets Layer
HTTPS and SSH
Wireless Network Security
SQL Injection
Cross-Site Scripting (XSS)
Upload Vectors
Database Programming
Database Management Systems
- What is a Database?
- Database Management Systems
- Database Terms
- Advantages and Disadvantages of Databases
HTML
ER Diagrams
Relational Databases
Normalization
SQL SELECT
SQL Updates
PHP
SQL in PHP
jQuery
Query Optimization
User Interface Design
Usability
- Usability Case Study: Scrolling Awards
- Usability Case Study: Clock Time Picker
- Usability Case Study: Gimp Context Menus
- Usability Case Study: Emacs Incremental Search
- The Importance of Usability
Learnability
Visibility
- Visibility Case Study: Museum of Modern Art
- Visibility Case Study: Movado
- Visibility
- Actions
- States
- Visibility Case Study: Unix Command Line
Efficiency
- Efficiency Case Study: Deleting Cookies
- Efficiency Case Study: Microsoft Web Publishing Wizard
- Efficiency Case Study: Eclipse
- Human Information Processing
- Pointing Efficiency
- Shortcuts
- Predictive Evaluation
Errors & User Control
- User Control Case Study: Windows Calculator
- Human Errors
- Error Prevention
- Error Messages
- User Control
- Undo
User-Centered Design
- Usability Case Study: Tabbed Browsing
- Iterative Design
- User-Centered Design Case Study: The Olympic Message System
- User-Centered Design
Task Analysis
- Usability Case Study: Alt-Tab
- Usability Case Study: Expose
- User Analysis
- Task Analysis
- Domain Analysis
- Requirements Analysis
Generating Designs
- Usability Case Study: Ghostview and Adobe Acrobat
- Usability Case Study: Scrollbars
- Sketching Designs
- Scenarios and Storyboards
- Design Patterns
- Simplicity
UI Software Architecture
- Usability Case Study: Modal Dialog Boxes
- View Tree
- Listeners
- The Model-View-Controller Pattern
- GUI Implementation Approaches
- HTML
- Javascript and JQuery
Layout
Output
- Usability Case Study: Pizza Builder
- Output Approaches
- Drawing
- Rasterization
- Image File Formats
- Debugging Output
Input
User Testing
Controlled Experiments
- Usability Case Study: Adaptive Menus
- Research Methods in HCI
- Controlled Experiments
- Validity and Reliability
- Blocking
- Counterbalancing
- Measurements
Experiment Analysis
- Usability Case Study: Password Engine
- Error Bars
- Hypothesis Testing
- t Tests
- Analysis of Variance (ANOVA)
Web Research Methods
- Usability Case Study: Midwest Microwave Website
- A/B Testing
- Remote Usability Testing
- Recruiting Users Online
Prototyping
Graphic Design
Informational Visualization
- Usability Case Study: Name Voyager
- Motivation for Information Visualization
- Information Visualization
- Interaction
Color and Typography
Accessibility
Internationalization
- Usability Case Study: Sorting via Radio Buttons
- Internationalization
- Internationalization Implementation