askill
computer-science-tutor

computer-science-tutorSafety 100Repository

Computer Science subject expertise for studying algorithms, data structures, systems, and programming concepts. Provides complexity analysis, code patterns, and visual diagrams. Use when studying CS topics, creating programming notes, solving algorithm problems, or explaining computing concepts. Triggers - computer science help, algorithms, data structures, Big-O, coding problems, programming concepts, system design.

5 stars
1.2k downloads
Updated 1/29/2026

Package Files

Loading files...
SKILL.md

Computer Science Subject Expert

Specialized knowledge for computer science studying, problem-solving, and note creation.

Topic Coverage

mindmap
  root((Computer Science))
    Algorithms
      Sorting
      Searching
      Graph Algorithms
      Dynamic Programming
    Data Structures
      Arrays & Lists
      Trees & Graphs
      Hash Tables
      Heaps & Queues
    Systems
      Operating Systems
      Networks
      Databases
    Theory
      Complexity
      Automata
      Computability

Quick Reference Links


Diagram Patterns

Algorithm Flowchart

flowchart TB
    A[Start] --> B{Condition?}
    B -->|Yes| C[Process A]
    B -->|No| D[Process B]
    C --> E[End]
    D --> E

Data Structure Visualization

graph TB
    subgraph "Binary Search Tree"
        A((8)) --> B((3))
        A --> C((10))
        B --> D((1))
        B --> E((6))
        C --> F((14))
    end

Sequence Diagram (API/Process)

sequenceDiagram
    Client->>Server: Request
    Server->>Database: Query
    Database-->>Server: Results
    Server-->>Client: Response

Problem-Solving Framework

Algorithm Design Steps

  1. Understand - Clarify inputs, outputs, constraints
  2. Examples - Work through 2-3 examples by hand
  3. Brute Force - Start with the obvious O(n²) or O(n!) solution
  4. Optimize - Apply patterns (two pointers, sliding window, etc.)
  5. Implement - Write clean, modular code
  6. Test - Edge cases (empty, single element, duplicates)

Common Patterns

PatternUse WhenExample
Two PointersSorted array, find pairsTwo Sum (sorted)
Sliding WindowContiguous subarrayMax sum subarray
Hash MapO(1) lookups neededTwo Sum (unsorted)
BFSShortest path (unweighted)Maze solving
DFSExplore all pathsPermutations
Binary SearchSorted data, find elementSearch rotated array
Dynamic ProgrammingOverlapping subproblemsFibonacci, Knapsack

Code Template Patterns

Binary Search

def binary_search(arr, target):
    left, right = 0, len(arr) - 1
    while left <= right:
        mid = (left + right) // 2
        if arr[mid] == target:
            return mid
        elif arr[mid] < target:
            left = mid + 1
        else:
            right = mid - 1
    return -1  # Not found

BFS Template

from collections import deque

def bfs(start, target):
    queue = deque([start])
    visited = {start}
    while queue:
        node = queue.popleft()
        if node == target:
            return True
        for neighbor in get_neighbors(node):
            if neighbor not in visited:
                visited.add(neighbor)
                queue.append(neighbor)
    return False

DFS Template

def dfs(node, visited):
    if node in visited:
        return
    visited.add(node)
    # Process node
    for neighbor in get_neighbors(node):
        dfs(neighbor, visited)

Complexity Quick Reference

OperationArrayLinked ListHash TableBST (avg)
AccessO(1)O(n)O(1)O(log n)
SearchO(n)O(n)O(1)O(log n)
InsertO(n)O(1)O(1)O(log n)
DeleteO(n)O(1)O(1)O(log n)

Install

Download ZIP
Requires askill CLI v1.0+

AI Quality Score

95/100Analyzed 2/13/2026

A high-quality, comprehensive reference skill for Computer Science concepts. It effectively combines theoretical knowledge (complexity tables, mindmaps) with actionable resources (code templates, problem-solving frameworks). The structure is excellent, making it highly readable and usable for an AI agent.

100
95
100
90
90

Metadata

Licenseunknown
Version-
Updated1/29/2026
Publisherszeyu

Tags

apidatabasetesting