Concept List
This is the enumerated list of concepts for the Robot Faces: Drawing Expressive Displays for STEM Robots learning graph, generated from course-description.md.
Concepts are grouped below by taxonomy category purely for readability during review. The authoritative ConceptID-to-label mapping used everywhere else (dependencies CSV, JSON graph) is the numbering shown here.
- Total concepts: 293
- Each label is Title Case, an entity name (not a question), and at most 32 characters long.
Please review this list. If concepts should be added, removed, split, or merged, do that now — changes made after the dependency graph (Step 3) is built are much more expensive.
Hardware & Electronics Foundations (1-25)
- Raspberry Pi Pico
- RP2040 Microcontroller
- Microcontroller
- Cytron Maker Pi RP2040
- Solderless Breadboard
- Jumper Wires
- Momentary Push Button
- Potentiometer
- Rotary Encoder
- SPI Interface
- I2C Interface
- SPI Clock Line
- SPI Data Line
- Chip Select Pin
- Data Command Pin
- Display Reset Pin
- 128x64 Monochrome OLED
- SSD1306 Display Driver
- 240x240 Color Round Display
- GC9A01 Display Driver
- Pull-Up Resistor
- Low-Cost Robotics Kit
- Breadboard Wiring Diagram
- Display Power Requirements
- Display Mounting Considerations
History Of Screen-Based Robot Faces (26-50)
- Screen-Based Robot Face
- Social Robot
- Anki Cozmo
- Anki Vector
- Emotix Miko
- Blue Frog Robotics Buddy
- Cozmo Emotion Engine
- Vector Companion App
- Miko Educational Robot Design
- Buddy Mobile Robot Base
- Robot Startup Funding
- Robot Product Discontinuation
- Crowdfunding Campaign
- Robot Commercial Outcome
- Robot Face Design Scoping
- Companion Robot Category
- Mass-Market Robot Toy
- Robot Voice Interaction
- Robot Business Case Study
- Hardware Cost Trade-Off
- Anki Company History
- Consumer Robotics Market
- Robot Personality Branding
- Screen As Face Metaphor
- Educational Robotics Market
MicroPython Programming Fundamentals (51-79)
- MicroPython
- Thonny IDE
- MicroPython REPL
- Variable
- Constant
- Data Type
- Integer Data Type
- Boolean Data Type
- Function Definition
- Function Parameter
- Function Return Value
- For Loop
- While Loop
- Conditional Statement
- Import Statement
- Module
- List Data Structure
- Tuple Data Structure
- Dictionary Data Structure
- Comment Syntax
- Indentation Rules
- Bitwise Operator
- Bit Shifting
- FrameBuf Module
- String Formatting
- Default Parameter Value
- Multiple Return Values
- Global Versus Local Scope
- Docstring Convention
Display & Coordinate Systems (80-98)
- Screen Coordinate System
- Origin At Upper-Left
- X Axis Direction
- Y Axis Direction
- Pixel
- Frame Buffer
- Display Resolution
- Monochrome Color Model
- Display Buffer Memory
- Screen Refresh Cycle
- Aspect Ratio
- Circular Display Geometry
- Coordinate Plane Quadrant
- Bounding Box
- Display Initialization
- Show Method
- Frame Buffer Size Calculation
- Bit Depth
- Byte Alignment In Buffer
Basic Drawing Primitives (99-119)
- Fill Method
- Horizontal Line Method
- Vertical Line Method
- Line Method
- Rectangle Method
- Filled Rectangle Method
- Scroll Method
- Blit Method
- Transparent Color Key
- Blit Palette Mapping
- Pixel Method
- Drawing Color Value
- Drawing Constants
- Sprite
- Bitmap
- Unsigned Byte Array
- Text Method
- Draw Order Layering
- Overdraw
- Clipping At Screen Edge
- Draw Call Order Optimization
Ellipse & Polygon Drawing (120-134)
- Ellipse Method
- Quadrant Fill Code
- Ellipse Radius Parameter
- Filled Versus Outlined Shape
- Poly Method
- Point Array
- Polygon Vertex
- Closed Polygon Path
- Convex Polygon
- Concave Polygon
- Approximating Curves With Lines
- Circle As Special Ellipse
- Triangle Eyebrow Shape
- Rounded Rectangle Approximation
- Anti-Aliasing Limitation
MicroPython FrameBuf Version History (135-146)
- FrameBuf Version Timeline
- Blit Cross-Format Support V1.17
- Framebuf Method Set Before V1.20
- Ellipse Poly Dev Branch Merge
- Nightly Build Firmware
- MicroPython V1.20.0 Release
- Ellipse Bug Fix V1.24.1
- Pre-2023 Curve Workaround
- MicroPython Release Versioning
- MicroPython Firmware Update
- Open Source Contribution Model
- MicroPython GitHub Repository
Facial Anatomy & Layout (147-169)
- Face Outline
- Eye Placement
- Eye Size Parameter
- Eye Spacing
- Pupil
- Pupil Size Parameter
- Eyebrow Shape
- Eyebrow Angle Parameter
- Mouth Shape
- Mouth Curvature Parameter
- Bottom-Half Mouth Curve
- Nose Representation
- Facial Symmetry
- Facial Proportion
- Draw Face Function
- Parameterized Face Design
- Face Layout Grid
- Feature Independence
- Eyelid Representation
- Cheek Representation
- Face State Data Structure
- Default Face Parameters
- Feature Scaling For Screen Size
Emotion Psychology & Expression Design (170-202)
- Ekman Universal Emotions
- Basic Emotion Theory
- Facial Action Coding
- Minimal Feature Robot Research
- Emotion Recognition Accuracy
- Neutral Expression
- Happy Expression
- Sad Expression
- Angry Expression
- Afraid Expression
- Surprised Expression
- Disgusted Expression
- Contempt Expression
- Tired Expression
- Stern Expression
- Sleepy Expression
- Confused Expression
- Excited Expression
- Expression Intensity
- Expression Ambiguity
- Eyebrow Emotion Signaling
- Mouth Emotion Signaling
- Eye Emotion Signaling
- Cross-Cultural Recognition
- Human-Robot Interaction
- Emotional Design Rubric
- Viewing Distance Readability
- Classroom Lighting Consideration
- Valence Arousal Model
- Uncanny Valley Effect
- Anthropomorphism
- Affective Computing
- Multimodal Emotion Cues
Animation & Timing (203-225)
- Animation Loop
- Frame Rate
- Blinking Animation
- Eye Scanner Animation
- Pupil Movement Gaze
- Timing Loop
- Sleep Function Timing
- Expression Interpolation
- Easing Function
- Idle Animation
- Animation State Timer
- Ticks Function Timing
- Ticks Diff Calculation
- Draw Time Benchmarking
- Frame Buffer Redraw Rate
- Flicker Reduction
- Double Buffering
- Animation Keyframe
- Randomized Blink Timing
- Smooth Transition Design
- State-Based Animation Trigger
- Non-Blocking Delay Pattern
- Cooperative Multitasking
Interactive Controls & State Machines (226-249)
- Digital Input Reading
- Analog Input Reading
- Analog-To-Digital Conversion
- Button Debounce
- Button Interrupt Handler
- Potentiometer Value Mapping
- Rotary Encoder Position Tracking
- Encoder Direction Detection
- Mode State Machine
- Multi-Mode Menu
- Expression Selection Menu
- Live Parameter Tuning
- Event-Driven Programming
- Polling Input Loop
- Dual-Core Processing
- Core Task Assignment
- Global State Variable
- Input Debouncing Delay
- User Interface Feedback
- Control Mapping Design
- State Transition Diagram
- Default Idle State
- Debounce Time Constant
- Encoder Quadrature Signal
Color Display & RGB565 Porting (250-270)
- RGB565 Color Model
- Color565 Function
- Red Green Blue Channels
- Color Bit Depth
- Color Palette
- Named Color Constants
- Color Wheel Function
- Color Cycling Animation
- Round Display Layout
- Color Versus Mono Trade-Off
- Display Driver Porting
- Cross-Display Code Compatibility
- Color Contrast Design
- Color Emotion Association
- Display Performance Comparison
- Memory Use Comparison
- SPI Bus Speed
- Color Display Init Sequence
- Color Theory Basics
- Warm Versus Cool Color
- Hue Saturation Brightness
Computational Thinking & Capstone Design (271-293)
- Computational Thinking
- Abstraction
- Decomposition
- Modularity
- Pattern Recognition
- Algorithm Design
- Code Reuse
- Design Critique
- Design Trade-Off Analysis
- Expressiveness Versus Complexity
- Software Display Emulator
- Turtle Graphics Prototype
- Iterative Design Process
- Peer Design Review
- Rubric-Based Assessment
- Constraint-Driven Design
- Minimum Viable Feature Set
- Capstone Project
- Capstone Demonstration
- Original Robot Personality
- Project Documentation
- Design Justification
- Expression Set Planning