How to Find Courses That Use Specific Programming Languages in the CS Video Courses Repository

To find courses that use specific programming languages, search the README.md file in the Developer-Y/cs-video-courses repository for language keywords using grep, Python regex, or the GitHub web interface.

The Developer-Y/cs-video-courses repository aggregates thousands of computer science lectures from universities like MIT, Stanford, and Berkeley in a single, searchable markdown file. Because the entire catalog lives in README.md as plain text with embedded language tags, you can filter courses by programming language using standard text-search tools without needing a database or complex API.

Searching the Master Course Catalog

The repository stores all course listings in README.md at the root level. Each entry follows a consistent bullet-point pattern:


- [Course Title - University] (URL) ... *Programming language(s)*

Programming languages—such as Python, C++, Java, or Rust—typically appear in the course title or in italics at the end of the line. Since the file is static markdown, the most reliable way to find courses that use specific programming languages is direct keyword search.

Method 1: Command-Line Search with Grep

Use grep with the -i flag to perform a case-insensitive search for a single language across the entire catalog:

grep -i "python" README.md

This returns every line mentioning "python", including entries like CS 61A - Structure and Interpretation of Computer Programs [Python], UC Berkeley and 6.0001 - Introduction to Computer Science and Programming in Python - MIT OCW.

Regex Search for Multiple Languages

To search for several languages simultaneously, use extended regular expressions with the -E flag and the | operator as an OR delimiter:

grep -Ei "c\+\+|java|python" README.md

This command finds all courses that mention C++, Java, or Python in a single pass, returning the full matching lines from README.md.

Method 2: Automated Filtering with Python

For reusable queries or formatted output, implement a Python helper script that reads README.md line-by-line using the re module:

#!/usr/bin/env python3
import re, pathlib

def find_courses(language: str, path: str = "README.md"):
    pattern = re.compile(language, re.IGNORECASE)
    with open(path, encoding="utf-8") as f:
        for line in f:
            if pattern.search(line):
                print(line.strip())

if __name__ == "__main__":
    # Example: list all Rust courses

    find_courses("rust")

Save this script in the repository root and execute it with python3 script.py "java" to retrieve all Java-related courses. The script compiles a case-insensitive regex pattern and streams matching lines from the markdown file.

Method 3: Using the GitHub Web Interface

You can find courses that use specific programming languages directly in the browser without cloning the repository:

  1. Navigate to README.md in the Developer-Y/cs-video-courses repository.
  2. Press t to activate the file finder, then type README.md to open it.
  3. Click the Search file button in the top-right corner.
  4. Enter the language keyword (e.g., C++). GitHub highlights every matching occurrence and displays the total count.

Alternatively, use the repository's main search bar, though file-specific search (t shortcut) filters results to the catalog file only.

Understanding Supplementary Files

While README.md contains the primary data, two additional files help interpret the catalog structure:

  • NOTES.md – Documents formatting conventions and explains how programming languages are annotated in course entries.
  • CONTRIBUTING.md – Provides guidelines for contributors, detailing the standard entry style when adding new courses with specific language tags.

Consult these files if you need to understand edge cases, such as courses that use multiple languages or unconventional naming schemes.

Summary

  • The Developer-Y/cs-video-courses repository stores all courses in a single file: README.md.
  • Use grep -i "language" for quick command-line filtering.
  • Use grep -Ei "lang1|lang2" to search for multiple programming languages at once.
  • Implement a Python regex script for automated, reusable searches across the catalog.
  • Use the GitHub web interface (t shortcut) to search without downloading the repository.

Frequently Asked Questions

What file contains the complete list of courses?

The entire catalog resides in README.md at the repository root. This single markdown file contains every course entry as a bullet point with hyperlinks and language annotations.

Can I search for multiple programming languages simultaneously?

Yes. Use grep with the -E flag for extended regex support, allowing you to chain languages with the pipe character: grep -Ei "python|go|rust" README.md. This returns all courses mentioning any of the specified languages.

Is there an API or database to query courses programmatically?

No. The repository uses a static markdown file architecture. There is no REST API, database, or JSON index. All queries are performed as plain-text searches against README.md, which makes the repository portable and version-controlled.

How are programming languages indicated in course entries?

Programming languages typically appear in square brackets within the course title (e.g., [Python]) or in italics at the end of the entry line (e.g., *C++*). The CONTRIBUTING.md file specifies these formatting conventions for maintainers.

Have a question about this repo?

These articles cover the highlights, but your codebase questions are specific. Give your agent direct access to the source. Share this with your agent to get started:

Share the following with your agent to get started:
curl -s "https://instagit.com/install.md"

Works with
Claude Codex Cursor VS Code OpenClaw Any MCP Client

Maintain an open-source project? Get it listed too →