I'm learning programming at university and would like to keep my coding assignments, examples in different languages, documentation, and screenshots or PDFs showing the results of my work. I'm considering GitHub as both a backup and a public record of my progress, almost like a portfolio that shows what I learned from the beginning of university through graduation. Is GitHub suitable for this, and how should I organize the repositories?
4 Answers
GitHub works best for plain-text files such as source code, README files, Markdown notes, and configuration files. Word documents, PDFs, and images can be stored there too, but Git cannot show useful line-by-line differences when those binary files change. Large files can also become inconvenient, so avoid using a repository as a general-purpose drive for textbooks or lots of unrelated documents.
For a learning portfolio, organize your work into a small number of clearly named repositories or folders rather than uploading every file randomly. Give each project a useful README with the goal, technologies used, how to run it, what you learned, and screenshots or a short demonstration. Keep polished, representative projects public and store private or unfinished coursework separately. A portfolio website can link to the strongest repositories and present them more clearly than a raw list of assignments.
So GitHub can show the work, while a separate portfolio page can provide the overall story of my progress?
Yes, you can upload almost any type of file to a repository. A basic workflow is to create a repository, clone it to your computer, add your folders and files, then commit and push the changes. For code, GitHub is especially useful because you can track changes over time and explain each update in commit messages.
That makes sense for the code itself, but I’d still like people to understand what each assignment does and see the results.
If you want editable homework documentation, Markdown is a practical choice and works well inside GitHub. LaTeX is another option when you need professionally formatted documents or want to generate PDFs. For simple file backup or frequently changing notes, a cloud drive or a note-taking app may be more convenient than GitHub. You can use several tools together: GitHub for code and project history, a notes or document app for coursework, and a portfolio site for presentation.

Would Markdown be a better way to write the explanations and document the projects?