Open-source project
amfoss/vidyaratna avatar
amfoss/vidyaratna

Vidyaratna is a syllabus for learning software engineering, and the order matters

A collection of resources to get started with and to learn a variety of different domains in Software Engineering.

521 stars59 forksUnknownCC-BY-4.0

At a glance

What is it?
Vidyaratna is a community curriculum from amFOSS that lays out a path through computer science and open source development, from programming fundamentals to web, system design and mobile work, with a year-wise task checklist and a set of curated resources. It suits a self-taught developer who needs a sequence, and it is a document, not a tool.
Who is it for?
Vidyaratna is worth adopting if you are learning software engineering alone and the problem is not what to learn but in what order, because the curriculum is explicitly sequenced from programming fundamentals through web development, system design and mobile application development, and because the year-wise task checklist turns that sequence into year-wise objectives with outcomes and recommended resources.
Can I use it commercially?
Yes, with credit. CC-BY-4.0 allows commercial use as long as you credit the authors and indicate what you changed. It is written for creative content, so check how it applies to any code.
Is it still maintained?
Activity is slowing. The repository last received commits 6 months ago.
What is it written in?
GitHub does not report a main language for this repository.

Answers come from the project's GitHub data, last synced on October 23, 2026, and from our analysis. They are not legal advice.

Editorial analysis

The curriculum is a sequence, and the ordering is the contribution

The framing is unusual for a link collection, and it is worth being precise about what Vidyaratna is. Vidyaratna, which the project expands as Jewel of Learning, is an initiative to provide a structured curriculum aimed at anyone interested in exploring computer science and open source development. It covers a range of topics, practical tasks, and additional resources designed to help you build foundational skills, develop expertise, and discover new interests in the field. The curriculum overview describes what that means in practice: a pathway from beginner to advanced topics, with each section structured to help you progressively develop your skills, from programming fundamentals to web development, system design, and mobile application development. A directory of links cannot do that. A curriculum can, because the unit of content is not a resource but a position in a sequence, and the reader is told what comes after what.

A year-wise checklist turns the pathway into dated objectives

The second component is the part that makes the curriculum usable rather than decorative. The task checklist organizes learning activities in a year-wise format, guiding you through concepts and projects that build upon each other, and each task includes objectives, outcomes, and recommended resources. Three fields per task is a small design decision with a large effect. Objectives tell you what the task is for, outcomes tell you what you should be able to do afterwards, and the resources are the reading that gets you there. That structure means the checklist can be self-assessed, which is the difference between a reading list and a plan. The year framing also makes the ambition legible. A reader can see that this is a multi-year path and can decide which year to care about, rather than being handed a flat list of links with no indication of which ones come first.

The resources section is deliberately separate from the curriculum

The third component is a collection of resources to complement the curriculum, including tutorials, guides, and references to support your learning journey and deepen your understanding of computer science principles. The separation is the point. A curriculum is a spine, and a resource list is a set of limbs you can attach to it. Keeping the two in different documents means the resource collection can grow in any direction, from a single deep tutorial on one topic to a broad set of references, without disturbing the order the curriculum depends on. It also means the two answer different questions. The curriculum answers what should I learn next, and the resources page answers where do I read about this specific thing. The repository structure is correspondingly small, with a `docs/` directory holding the two documents, an `assets/` directory, a `CONTRIBUTING.md` file, a `LICENSE` and the readme file itself, which is what a documentation project looks like when it has no code to ship.

There is nothing to install, and the entry point is two markdown files

The setup for this project is unusual in a good way, because there is nothing to install. Vidyaratna is a collection of documents, and the only two that matter to a reader are the curriculum overview at `docs/curriculum.md` and the resources list at `docs/resources.md`, both linked from the project page. A learner starts by reading the curriculum overview to see the sequence of sections, then opens the year-wise task checklist to see which tasks belong to which year, then works through a task using the recommended resources, then documents the solution in a repository of their own. The entry point for a contributor is `CONTRIBUTING.md`, and the assets directory holds whatever images the documents use. The tooling footprint is zero because there is no build, and the cost of that is that a learner gets a document rather than a sandbox, which is worth keeping in mind when you set your expectations for what the first hour of work looks like.

Submission means documenting your own solutions, not shipping a project brief

The submission guidelines are the most opinionated part of the structure and they say something about how the project expects learning to work. To keep track of your progress and share your work, the guidelines ask you to create a GitHub repository and document your solutions for each task. So the deliverable is not an artefact the curriculum provides, it is a record you produce. The project supplies the sequence and the resources, and you supply the work and the written account of it. Two things follow from that. A learner gets a portfolio of small, year-organised solutions with the reasoning written down, which is a better artefact for a hiring conversation than a certificate. And a contributor gets a stream of documentation to read, because every learner's solution is another view of the same task. It also explains the empty link targets in the table of contents, since the checklist and submission pages are where the specific instructions live rather than in the summary.

Contributions come from learners and educators, which shapes the repository

The project states that Vidyaratna welcomes contributions from learners and educators alike, and that if you want to help expand the curriculum or share resources you should check the contribution guidelines. The repository root is small enough to see the whole thing: a `CONTRIBUTING.md`, a `LICENSE` file, the readme file, a `docs/` directory and an `assets/` directory. There is no source directory, no test suite, no package manifest and no build configuration, which confirms that this is a written artefact rather than a software product. The licence is Creative Commons Attribution 4.0 International, which the project attributes to amFOSS for 2024, and that choice is the correct one for the medium. A curriculum is a document meant to be copied, translated and taught from, and a copyleft or source-available licence would obstruct the reuse the project is asking for. Attribution 4.0 asks for credit and permits everything else, which is the right bargain for course content.

Where a curriculum is the wrong answer

Two limits are worth naming, and both come from the same fact, that this is a plan rather than a course. The first is that a curriculum cannot adapt. It tells you the order that worked for the people who wrote it, across a range of topics from programming fundamentals to system design, and it cannot tell you that you already know the first third of it, or that your day job covers web development and the interesting part for you is the system design section. The second is that the tasks depend on you doing them, and the documentation does not describe what a completed submission looks like in any detail, only that you should create a repository and document your solutions. The alternative to weigh against is not another curriculum but a single deep resource in one area, which is what a working professional usually needs. The difference in approach is scope against depth. Vidyaratna trades depth in any one area for breadth across the field and a defensible order, and it works best for someone early in a career or switching into the field, where the sequence of what to learn is genuinely the hard part. Once you know the shape of the field, the value of a syllabus drops sharply, and a curated set of references in your area is the better tool.

Editorial conclusion

Vidyaratna is worth adopting if you are learning software engineering alone and the problem is not what to learn but in what order, because the curriculum is explicitly sequenced from programming fundamentals through web development, system design and mobile application development, and because the year-wise task checklist turns that sequence into year-wise objectives with outcomes and recommended resources. It is a poor fit if you want to be told what to build, because the submission guidance asks you to document your own solutions rather than supplying a project brief, and a poor fit if you already know which part of the field you want to work in, since the value of a curriculum is in the parts you did not know you needed. Before you start, read `docs/curriculum.md` and `docs/resources.md`, and note that the last push to the repository was on 2026-04-09.

Frequently asked questions

What is Vidyaratna and who is it for?

Vidyaratna, which the project expands as Jewel of Learning, is an initiative from amFOSS to provide a structured curriculum for anyone interested in exploring computer science and open source development. It covers a range of topics, practical tasks and additional resources, and is aimed at people who want to build foundational skills, develop expertise and discover new interests.

What is in the year-wise task checklist?

The task checklist organizes learning activities in a year-wise format, guiding you through concepts and projects that build on each other, and each task includes objectives, outcomes and recommended resources. It is the component that turns the curriculum pathway into something you can follow and self-assess.

What am I expected to submit when following the Vidyaratna curriculum?

The submission guidelines ask you to create a GitHub repository and document your solutions for each task, so that you can track your progress and share your work. The curriculum supplies the sequence and the resources, and the learner produces the work and the written account of it.

What licence does the Vidyaratna curriculum use?

The project states that Vidyaratna is licensed under Creative Commons Attribution 4.0 International by amFOSS. The repository root holds a LICENSE file and a CONTRIBUTING.md file, and the project welcomes contributions from learners and educators alike through the contribution guidelines.

Official sources

  1. amfoss/vidyaratna on GitHub
  2. Issues
  3. License: CC-BY-4.0
  4. README
Add this badge to your README

If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.

Add this badge to your README

markdown
[![Hysen Labs](https://hysenlabs.com/badge/amfoss-vidyaratna.svg)](https://hysenlabs.com/projects/amfoss-vidyaratna)

Was this useful?