WGU C950: Data Structures and Algorithms II
C950 is the project course that follows C949: you build the well-known WGUPS package-routing program in Python, applying hash tables and a routing heuristic to deliver packages under constraints. It's assessed as a performance assessment (PA) — code plus a written analysis — not an exam.
Fennie is independent and not affiliated with Western Governors University. This is an unofficial study guide.
Build my C950 study planWhat makes it hard
This is many students' first substantial self-directed program, and the requirements doc takes several reads to parse. The coding itself (self-implemented hash table, nearest-neighbor style routing) is manageable; what burns time is meeting every rubric line in the write-up — complexity analysis, justification of choices, and the screenshots evaluators expect.
What you'll cover
- • Hash table implementation
- • Greedy and nearest-neighbor heuristics
- • Algorithm complexity analysis
- • Python program design
- • Requirements-driven development
- • Technical write-ups
The C950 study guide
How to study for WGU C950, step by step.
- 1
Read the rubric before writing any code
The WGUPS requirements doc takes several reads to parse — do those reads first and list every rubric line as a checkbox. Evaluators grade against that list, not against clever code.
- 2
Plan the project as milestones
Split it into: parse requirements, load package data, build the hash table, get routing working, then write-up. The students who stall are the ones treating it as one giant task.
- 3
Build the hash table yourself
The rubric requires a self-implemented hash table — no Python dict shortcuts for the core structure. Get insert and lookup working against the package data before touching routing.
- 4
Keep the routing heuristic simple
A nearest-neighbor approach meets the mileage constraint. Resist optimizing further; the rubric rewards a working, explained solution, not the best possible route.
- 5
Write the analysis to the rubric headings
Mirror the rubric's structure in your write-up — complexity analysis, justification of choices, and every required screenshot. Submit early; revisions are free and rubric misses are the usual return reason.
- 6
Keep the project on schedule with Fennie
Upload the C950 requirements and rubric to Fennie and Daily Plans turns the milestones into a day-by-day schedule so the PA doesn't sprawl across your term. Free to start.
Start my C950 plan free
How Fennie helps with C950
Fennie's Daily Plans turn the C950 PA into milestones — parse requirements, build the hash table, get routing working, then write-up — so the project doesn't sprawl across a whole term. Use chat to clarify algorithm concepts and complexity analysis while you build; the code and submission stay entirely your own work.
FAQ
Is WGU C950 hard?
It's a time investment more than a difficulty spike. Students who plan the project in milestones finish in a few weeks; those who treat it as one giant task stall. Read the rubric before writing any code.
What is the WGUPS project in C950?
A Python program that routes package deliveries for a fictional courier under distance and deadline constraints, using a self-built hash table and a routing heuristic, plus a written analysis of your approach and its complexity.
How long does C950 take?
Commonly 3–6 weeks. The coding is often done in the first half; budget real time for the write-up, since rubric misses there are the usual cause of returned submissions.
Pass C950 with a plan, not a cram
Upload your C950 materials and Fennie generates a Daily Plan paced to your deadline — plus chat, flashcards, and quizzes built from the actual course content.
Get started freeMore WGU courses
C959 — Discrete Mathematics I
C959 introduces logic, set theory, functions, relations, and proof techniques — the math backbone of WGU's computer science degree. It ends in an OA and is widely treated as the first real difficulty checkpoint in the BSCS.
C960 — Discrete Mathematics II
C960 continues from C959 into counting, probability, graph theory, trees, recursion, and algorithm analysis concepts. It ends in an OA and rounds out the discrete math requirement for the BSCS.
C949 — Data Structures and Algorithms I
C949 covers core data structures — arrays, lists, stacks, queues, trees, hash tables — plus searching, sorting, and Big-O analysis, with examples in Python. It ends in an OA and is a pillar course in WGU's computer science and software degrees.
C952 — Computer Architecture
C952 covers how computers actually work: data representation, CPU datapaths, pipelining, memory hierarchy and caches, and a look at parallelism. It's a BSCS requirement built around a famously dense textbook (Patterson and Hennessy) and ends in an OA.