CoTe Teacher
Overview
This skill automates the creation of structured learning materials for coding test (CoTe) algorithm and data structure patterns. When a user requests learning materials for a specific pattern or concept, this skill generates a comprehensive markdown document following a standardized template and automatically updates the project's README.md with a link to the new material.
When to Use This Skill
Use this skill when the user requests:
- Learning materials for algorithm patterns (e.g., "Create learning material for sliding window pattern")
- Concept explanations for data structures (e.g., "Explain hash table concept with examples")
- Study guides for specific problem-solving techniques (e.g., "Make a two-pointer technique guide")
Trigger keywords: 학습 자료, 패턴 정리, 개념 정리, 학습, 정리, learning material, pattern guide
Workflow
Step 1: Understand the Request
Identify the algorithm/pattern/concept from the user's request:
- Sliding window (슬라이딩 윈도우)
- Two pointers (투 포인터)
- Hash table (해시 테이블)
- Dynamic programming (동적 계획법)
- DFS/BFS
- Greedy algorithm (그리디)
- Binary search (이진 탐색)
- etc.
Step 2: Prepare the Environment
-
Check/create _learning/ folder:
mkdir -p _learning -
Determine the filename:
- Format: Korean pattern name with underscores
- Example:
슬라이딩_윈도우.md,투_포인터.md
Step 3: Select Appropriate Template
Template Selection Logic: Automatically choose the best template based on the content type:
-
visualization.md - Use when the topic involves:
- Graphs, trees, or complex data structures
- Step-by-step visual progression
- Keywords: "그래프", "트리", "탐색", "DFS", "BFS", "최단경로"
-
mathematical.md - Use when the topic requires:
- Mathematical proofs or recurrence relations
- Dynamic programming formulations
- Complexity analysis with formal proofs
- Keywords: "DP", "동적계획법", "조합", "증명", "점화식", "복잡도 분석"
-
implementation.md - Use when the topic focuses on:
- Data structure implementation details
- Class design and methods
- Internal mechanics
- Keywords: "구현", "자료구조", "힙", "세그먼트 트리", "Union-Find", "클래스"
-
basic_pattern.md - Use as default for:
- Simple algorithmic patterns
- Text-heavy concept explanations
- Techniques without heavy visualization or math
- Keywords: "슬라이딩 윈도우", "투 포인터", "그리디", "패턴"
Decision Process:
IF keywords match visualization criteria:
→ Use visualization.md
ELSE IF keywords match mathematical criteria:
→ Use mathematical.md
ELSE IF keywords match implementation criteria:
→ Use implementation.md
ELSE:
→ Use basic_pattern.md (default)
Step 4: Generate Learning Material
-
Read the selected template: Load the appropriate template from
assets/ -
Create the learning document at
_learning/[패턴명].md -
Fill in the content based on the template structure:
- Use clear, educational Korean explanations
- Include practical Python code examples
- Reference real coding test problems
- Add complexity analysis
- Follow the template's specific sections
Step 5: Update README.md
-
Locate the section: Find "## 고민 없이 풀는 방법은 없을까?" in the main README.md
-
Add the link following existing pattern:
## 고민 없이 풀는 방법은 없을까? - [변수 및 함수 작명법](NAMING.md) - [문제 풀이 방법](SOLVING.md) - [슬라이딩 윈도우 패턴](_learning/슬라이딩_윈도우.md) -
Maintain alphabetical or logical ordering if preferred
Step 6: Confirm Completion
Inform the user:
- Location of the created file
- What was added to README.md
- Suggest reviewing and customizing the content as needed
Resources
This skill provides 4 specialized templates for different types of learning content. Choose the appropriate template based on the topic's characteristics.
assets/basic_pattern.md
Purpose: Default template for simple algorithmic patterns and techniques
Best for:
- Sliding window, two pointers, greedy algorithms
- Text-focused concept explanations
- Simple problem-solving patterns
Structure:
- Concept explanation
- Step-by-step approach
- Python code examples
- Complexity analysis
- Related problems
- Learning tips
assets/visualization.md
Purpose: Template emphasizing visual learning with diagrams and step-by-step illustrations
Best for:
- Graph algorithms (DFS, BFS, shortest paths)
- Tree structures and traversals
- Complex data structures requiring visualization
- Algorithms with clear state changes
Special features:
- Mermaid diagrams
- ASCII art visualizations
- Step-by-step execution tables
- Flowcharts
- Hand-drawing practice checklists
assets/mathematical.md
Purpose: Template focused on mathematical formulations and proofs
Best for:
- Dynamic programming with recurrence relations
- Combinatorics and number theory
- Algorithms requiring mathematical proof
- Complexity analysis with formal proofs
Special features:
- Recurrence relation derivation
- Mathematical induction proofs
- Optimal substructure proofs
- Asymptotic notation analysis
- Formula-heavy explanations
assets/implementation.md
Purpose: Template for detailed data structure implementation guides
Best for:
- Heap, segment tree, Union-Find
- Custom data structure implementations
- Class design and method explanations
- Internal mechanics and invariants
Special features:
- Complete class implementation
- Method-by-method breakdown
- Invariant conditions
- Helper method patterns
- Test code examples
- Optimization techniques
Example Usage
Example 1: Basic Pattern
User request: "슬라이딩 윈도우 패턴 학습 자료 만들어줘"
Template selected: basic_pattern.md (simple algorithmic pattern)
Actions:
- Create
_learning/슬라이딩_윈도우.mdusing basic_pattern.md - Fill in text-focused content:
- Concept: Definition of sliding window pattern
- Principle: How it works with examples
- Code: Python implementation with comments
- Complexity: O(N) time, O(1) space
- Problems: Programmers/Baekjoon recommendations
- Update README.md with link
- Confirm: "✅ Created at
_learning/슬라이딩_윈도우.mdusing basic pattern template"
Example 2: Visualization Template
User request: "그래프 DFS 알고리즘 학습 자료"
Template selected: visualization.md (requires visual diagrams)
Actions:
- Create
_learning/그래프_DFS.mdusing visualization.md - Fill in visualization-rich content:
- Mermaid graph diagrams
- Step-by-step execution tables
- ASCII art for graph states
- Hand-drawing practice checklist
- Update README.md
- Confirm: "✅ Created with Mermaid diagrams at
_learning/그래프_DFS.md"
Example 3: Mathematical Template
User request: "동적 계획법 원리 정리해줘"
Template selected: mathematical.md (DP recurrence relations)
Actions:
- Create
_learning/동적_계획법.mdusing mathematical.md - Fill in math-heavy content:
- Recurrence relation derivation
- Mathematical induction proof
- Optimal substructure proof
- Complexity analysis with proofs
- Update README.md
- Confirm: "✅ Created with mathematical proofs at
_learning/동적_계획법.md"
Example 4: Implementation Template
User request: "힙 자료구조 구현 방법 설명"
Template selected: implementation.md (data structure implementation)
Actions:
- Create
_learning/힙_구현.mdusing implementation.md - Fill in implementation-focused content:
- Complete class implementation
- Method-by-method breakdown
- Invariant conditions
- Test code examples
- Update README.md
- Confirm: "✅ Created with complete implementation at
_learning/힙_구현.md"
Notes
- All learning materials use Korean for explanations to match the project's documentation language
- Code examples should always be in Python as per project standards
- Maintain consistency with existing project structure and naming conventions
- Learning materials are separate from problem solutions - they focus on teaching concepts, not solving specific problems
Scan to contact