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
Basic Case-Insensitive Search
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:
- Navigate to
README.mdin the Developer-Y/cs-video-courses repository. - Press
tto activate the file finder, then typeREADME.mdto open it. - Click the Search file button in the top-right corner.
- 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 (
tshortcut) 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:
curl -s "https://instagit.com/install.md" Maintain an open-source project? Get it listed too →