humanwhocodes/computer-science-in-javascript

Collection of classic computer science paradigms, algorithms, and approaches written in JavaScript.

View on GitHub ↗Jump to charts ↓

Summary Information

Updated 33 minutes ago
Added to GitGenius on September 7th, 2026
Created on April 12th, 2009
Open Issues & Pull Requests: 12 (+0)
GitHub issues: Enabled
Number of forks: 1,175
Total Stargazers: 9,108 (+0)
Total Subscribers: 319 (+0)

Repository Insights (GitGenius)

Most active contributors

Sign in to see contributor activity.

Related repositories by overlapping contributors

No overlapping-contributor repos identified yet.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 0
New in 7 days: 0
Closed in 7 days: 0
Avg open age: N/A days
Stale 30+ days: 0
Stale 90+ days: 0

Recent activity

Opened in 7 days: 0
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

No label distribution available yet.

Most active issues this week

No issue events were indexed in the last 7 days.

Detailed Description

Computer Science in JavaScript is a collection of classic computer science paradigms, algorithms, and approaches implemented in JavaScript.

The project addresses the need to understand foundational computer science concepts through practical JavaScript implementations. It provides working code for data structures like linked lists and binary search trees, along with sorting algorithms and other classic approaches. Each implementation is accompanied by detailed blog posts that explain the underlying concepts and design decisions, making it a learning resource as much as a code reference.

This project suits developers who want to deepen their understanding of computer science fundamentals or refresh their knowledge of algorithms and data structures. It works well for those learning JavaScript who benefit from seeing how classic patterns translate to the language, or for interview preparation. The implementations use modern JavaScript features, so the code reads naturally to contemporary developers rather than relying on older patterns.

The project maintains two parallel versions: the original 2009 implementations available on a separate branch, and updated versions on the main branch that use modern ECMAScript features. The codebase includes a test suite for implementations and is organized with source code in a dedicated directory alongside tests. Updates to implementations are gradual, with older code in separate folders awaiting modernization as the maintainer works through the collection systematically.