Best Free Online Courses (MOOCs) for Programming: A Curated Developer Guide
The best free online courses (MOOCs) for programming are catalogued in the README.md of the Best-websites-a-programmer-should-visit repository, specifically within the "🎓 MOOCs for learning something new" section that lists platforms like Coursera and edX.
The Best-websites-a-programmer-should-visit repository is a static, Jekyll-powered knowledge hub that aggregates community-vetted resources for developers. Its lightweight architecture stores the best free online courses (MOOCs) for programming directly in markdown, making the data instantly accessible without APIs or databases.
Where to Find the Best Free Online Programming MOOCs
The definitive list resides in README.md at the repository root. Around line 889, the section titled ## 🎓 MOOCs for learning something new organizes providers as markdown links:
- [Coursera.org](https://www.coursera.org) : Take the world's best courses, online.
- [edX](https://www.edx.org) : Free Online Courses, Advance Your Career, Improve Your Life.
Because this is plain markdown, parsers can extract the data without scraping HTML or invoking REST endpoints.
Repository Architecture and Key Files
Understanding the file structure reveals how this curated list is maintained and served.
README.md - The Primary Content Source
README.md serves as both documentation and database. The MOOCs subsection uses standard markdown list syntax, enabling direct consumption by static site generators or command-line tools. No server-side rendering is required to display the best free online courses (MOOCs) for programming.
_config.yml - Static Site Configuration
_config.yml configures the Jekyll build process using the jekyll-theme-architect theme. This single-line configuration allows the repository to deploy automatically to GitHub Pages while maintaining the curated resource list.
white_listed_sites.txt - URL Validation
white_listed_sites.txt contains an explicit whitelist of external domains. During site generation or CI validation, this file filters links to ensure only vetted MOOC providers appear in the final output.
package.json and .travis.yml - Build Automation
package.json provides npm scripts for linting and publishing workflows, while .travis.yml runs continuous integration checks. This infrastructure validates that the site builds without errors on every push, ensuring the best free online courses (MOOCs) for programming remain accessible via the badge displayed at the top of README.md.
How to Access and Use the MOOC List Programmatically
Developers can interact with this curated list without cloning the entire site infrastructure.
Extract the MOOC section via curl:
curl -s \
https://raw.githubusercontent.com/sdmg15/Best-websites-a-programmer-should-visit/master/README.md \
| awk '/## 🎓 MOOCs for learning something new/,/^##/' \
| sed '$d'
Clone and view locally:
git clone https://github.com/sdmg15/Best-websites-a-programmer-should-visit.git
cd Best-websites-a-programmer-should-visit
# Open README.md in your preferred markdown viewer
open README.md # macOS
xdg-open README.md # Linux
Add a new MOOC programmatically using Python:
import pathlib
repo_root = pathlib.Path('Best-websites-a-programmer-should-visit')
readme = repo_root / 'README.md'
lines = readme.read_text().splitlines()
mooc_start = next(i for i, l in enumerate(lines) if '## 🎓 MOOCs' in l)
insert_at = mooc_start + 1
new_entry = '- [OpenAI Learning](https://learn.openai.com) : Free AI courses and labs.'
lines.insert(insert_at, new_entry)
readme.write_text('\n'.join(lines) + '\n')
print('MOOC added!')
Render the site locally with Jekyll:
gem install bundler jekyll
bundle install
bundle exec jekyll serve # Serves at http://localhost:4000
Summary
- The Best-websites-a-programmer-should-visit repository stores curated MOOC listings in
README.mdunder the "🎓 MOOCs for learning something new" section. - The static Jekyll architecture requires no database; content lives in plain markdown starting around line 889 of the README.
- Key files include
_config.ymlfor theming,white_listed_sites.txtfor URL validation, andpackage.jsonfor build automation. - Developers can extract, modify, or serve the MOOC list using standard command-line tools, Python scripts, or Jekyll without proprietary APIs.
Frequently Asked Questions
What file contains the list of best free online courses (MOOCs) for programming?
The complete list resides in README.md at the repository root, specifically within the section headed ## 🎓 MOOCs for learning something new. This markdown section lists platforms like Coursera.org and edX as bullet-pointed links with descriptions.
How is the Best-websites-a-programmer-should-visit repository structured?
It is a static Jekyll site with no server-side code. Content lives in README.md, configuration in _config.yml, URL whitelisting in white_listed_sites.txt, and build scripts in package.json. Continuous integration runs via .travis.yml to ensure the site builds correctly on every commit.
Can I programmatically extract just the MOOC section from the repository?
Yes. Because the content is plain markdown, you can use command-line tools like curl combined with awk to isolate the section between the MOOCs heading and the next ## heading. This requires no API key or authentication, as demonstrated in the extraction command targeting the raw GitHub content URL.
How do I contribute a new MOOC to the list?
You can append a new markdown link to the MOOCs section in README.md. Automated Python scripts can locate the heading via string matching and insert entries while maintaining the existing list format. The white_listed_sites.txt file is used during CI to validate that new URLs are explicitly approved before site generation.
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 →