Step 1: create a repository for each project
GitHub's repository quickstart is short: choose New repository, give it a short memorable name, optionally add a description, choose visibility, turn on Add README and create it. You can then edit README.md in the browser and commit the change with a message that describes it.
Name repositories for what the project does, not the course module, for example rental-price-analysis rather than week-4-assignment. A visitor sees the name before anything else, and a descriptive one survives the course being renamed or retired.
One repository per substantial project is easier to read than one large repository of every exercise. Small practice exercises can live together in a single learning-log repository that you do not pin.
Step 2: write a README that answers five questions
GitHub's documentation says a README usually covers what the project does, why it is useful, how users can get started, where they can get help and who maintains it. GitHub looks for the README in the .github folder, then the repository root, then the docs folder, and truncates anything beyond 500 KiB. Relative links to other files in the repository work and follow the branch being viewed.
For a course project, adapt those five questions into this outline:
- Title and one-sentence summary: the question the project answers.
- Context: the course it grew out of, credited by name, and what you added beyond the course brief.
- Data: source, date accessed, licence or terms, and any cleaning you did.
- How to run it: required software and the exact commands or the notebook to open first.
- Findings or screenshots: two or three results with one sentence each on what they show.
- What you would do next: limits of the analysis and an honest list of open questions.
Step 3: profile README and pinned projects
A profile README appears at the top of your GitHub profile when four conditions are met: the repository name exactly matches your username, the repository is public, it has a README.md in the root, and that file is not empty. GitHub pre-fills a template when you create it. If you made a matching repository before July 2020, GitHub does not show it automatically; use Share to profile from the repository.
Below that, you can pin up to six repositories and gists combined, and drag them into order. Pin the two or three projects you would want an interviewer to open first; leave the rest unpinned.
- Profile README: three to five lines on what you are learning, the tools you use and links to your best two projects.
- Pins: finished projects with a README, not empty repositories or forks you have not changed.
Step 4: a static site with GitHub Pages
GitHub Pages hosts static sites built from HTML, CSS and JavaScript in a repository. A user site lives in a repository named after your username followed by .github.io and is served at that github.io address; each account gets one user site. Project sites are served at that same address with the repository name added as a path, one per repository. The Pages quickstart says to open the repository's Settings, choose Pages, select Deploy from a branch and pick the publishing branch, and that changes can take up to 10 minutes to appear.
GitHub lists usage limits: published sites may be no larger than 1 GB, with a soft bandwidth limit of 100 GB a month and a soft limit of 10 builds an hour for branch builds. GitHub says Pages is not intended for or allowed to be used as free hosting for an online business, an e-commerce site or commercial software as a service, and that sites should not be used for sensitive transactions such as sending passwords or credit card numbers. GitHub also notes that visitor IP addresses are logged for security purposes.
| Site type | Repository | Address | Good use for a learner |
|---|---|---|---|
| User site | Your username followed by .github.io | The github.io address named after your username | A one-page portfolio that links to each project |
| Project site | Any repository with Pages turned on | Your github.io address followed by the repository name | A rendered report, chart gallery or small web app from one project |
Honor codes and licences: what you may publish
Coursera's Honor Code prohibits making information about or solutions to homework, quizzes, exams, projects or other assessments available to anyone else unless an assessment explicitly permits sharing. That covers solutions you wrote yourself. Its Acceptable Use Policy also prohibits reproducing, transferring, selling or reselling content from its services unless specifically authorized. Other platforms have their own rules; read them before you push.
Your own code is covered by copyright too. GitHub's licensing page explains that without a licence, default copyright applies and others cannot legally reuse your code, although on a public repository other GitHub users can view and fork it under GitHub's terms, and making it private later does not remove existing forks. Add a LICENSE file if you want others to reuse your work; choosealicense.com compares common licences.
Some course material is openly licensed. MIT OpenCourseWare uses a Creative Commons BY-NC-SA 4.0 licence (attribution, non-commercial, share-alike) and asks reusers to cite MIT OpenCourseWare as the source. Check each source; do not assume one platform's terms apply to another.
| Course work | Publish publicly? | Safer alternative |
|---|---|---|
| Your answers to a graded quiz or exam | No | Do not publish |
| Your solution to a graded programming assignment | Only if the assessment explicitly permits sharing | Solve a different problem with the same technique |
| Course starter code, slides or datasets | Only if their licence allows it | Link to the course and use a public dataset |
| Ungraded follow-along exercise | Check the platform terms | Rewrite with your own data and explanation |
| Your own project using skills from the course | Yes | Credit the course in the README |
Checklist: turning a course exercise into a portfolio project
- Change the question: ask something the course did not, such as a different city, year or customer segment.
- Change the data: use a public dataset whose licence you have read, and record its source and access date.
- Remove anything the course provided that you may not redistribute, including graded solutions and starter files.
- Add a README using the outline above and a LICENSE file for your own code.
- Include a requirements list or install cell so someone else can run it.
- Clear notebook outputs that contain personal data or large files before committing.
- Pin it only when a stranger could understand it in two minutes from the README alone.
Questions before you decide
How do I make a GitHub profile README?
Create a public repository whose name exactly matches your GitHub username, turn on Add README, and edit the README.md file. GitHub shows it on your profile when the file is in the root and is not empty.
How does GitHub Pages work for a portfolio site?
GitHub Docs describe Pages as static site hosting from a repository, with one user site at a github.io address named after your username and project sites at that address plus the repository name. Limits include a 1 GB published site and soft limits of 100 GB bandwidth a month and 10 builds an hour.
Can I post my Coursera assignment solutions on GitHub?
Coursera's Honor Code prohibits making solutions to homework, quizzes, exams or projects available to anyone else unless an assessment explicitly permits sharing. Publish an extended or original version of the project instead.
What happens if my repository has no licence?
GitHub's documentation says default copyright law applies, so you retain all rights and others cannot reproduce or adapt your code. Other GitHub users can still view and fork a public repository under GitHub's terms.
Sources & verification
Product details and prices can change. Check the linked provider before buying.
- GitHub Docs: Quickstart for repositories Accessed 30 Oct 2026
- GitHub Docs: About the repository README file Accessed 30 Oct 2026
- GitHub Docs: Managing your profile README Accessed 30 Oct 2026
- GitHub Docs: Pinning items to your profile Accessed 30 Oct 2026
- GitHub Docs: What is GitHub Pages? Accessed 30 Oct 2026
- GitHub Docs: Quickstart for GitHub Pages Accessed 30 Oct 2026
- GitHub Docs: GitHub Pages limits Accessed 30 Oct 2026
- GitHub Docs: Licensing a repository Accessed 30 Oct 2026
- Coursera: Terms of Use and Honor Code Accessed 30 Oct 2026
- MIT OpenCourseWare: About OCW Accessed 30 Oct 2026
Sources link directly to providers. Product buttons may use separately labeled affiliate links. Read our disclosure.