Build small, finished projects that solve problems you or people around you actually have: a script that automates a chore, a command line tool, a simple website for a society or family business. First year is about finishing things and using Git, not about impressive ideas.
What people tell me
I am in my first year of computer science. I keep seeing seniors with impressive GitHub profiles and I feel I should be building something too, but I only know the basics of one language from our programming course. Every project idea I find online is either too simple, like a calculator, or far too advanced. What should I actually build in my first year?
A composite of the messages behind this question, with personal details left out.
Key takeaways
- Aim for small, finished projects rather than one big unfinished idea.
- The best ideas come from your own life: chores, societies, family, classmates.
- Use Git from the first project and write a short README for each.
- Go from scripts to a command line tool to a simple web or mobile app.
- Three to five finished projects by the end of first year is a strong start.
What first-year projects are for
In first year, projects are not for impressing recruiters. They are for learning to finish things. Starting is easy. Getting a program to work end to end, handling the odd inputs, and writing down how to run it is where the real learning happens. A small finished project teaches more than an ambitious one abandoned at 40 percent.
A progression that works
| Stage | Project type | What you learn |
|---|---|---|
| Months 1 to 2 | Scripts that automate something you do | Files, loops, functions, reading errors |
| Months 3 to 4 | A command line tool with a few commands | Structure, arguments, saving data to a file |
| Months 5 to 7 | A simple app with a database | Tables, queries, basic forms |
| Months 8 to 10 | A small web or mobile app someone else uses | Deployment, feedback, fixing real bugs |
You do not need to hit these months exactly. The point is the direction: each project adds one new layer.
Ideas that are neither calculators nor startups
- Timetable or deadline tracker: read your course schedule from a file and remind you what is due this week.
- Expense splitter: for hostel roommates or friends, track who paid what and who owes whom.
- Society website: a simple site for a university society with events and a sign-up form.
- Quiz generator: turn your own study notes into flashcards or multiple choice quizzes.
- Small shop inventory: if someone in your family runs a shop, build a tiny stock tracker for it.
- File organiser: a script that sorts your downloads folder by type and date.
- Past-paper search: index PDFs or notes and search them by keyword.
The best idea is one where you know the user. If your roommate actually uses your expense splitter, you will get feedback that no tutorial can give you.
Habits worth building from project one
- Use Git from day one. Commit small, write clear commit messages, push to GitHub. Learn Git Branching makes the model click.
- Write a README. What it does, how to run it, one screenshot. Two minutes of work, and it forces you to think about the user.
- Keep a short log of what broke and how you fixed it. Those notes become great stories later.
- Ask for one piece of feedback on each project, from a senior, a friend or an online community.
Where AI fits
Use AI to explain an error or suggest how to structure a program, then write the code yourself. In first year, typing it out and getting it wrong is the learning. If an assistant writes the whole project, you end up with a repository you cannot explain, which is worse than no repository.
What not to worry about yet
You do not need a polished portfolio site, a complex framework, or a project in every trending area. You do not need to contribute to large open source projects yet either. That can come in second or third year, and the open source roadmap is there when you are ready.
Useful starting points
The programming roadmap builds exactly these skills in order. Project Based Learning collects step by step project tutorials if you need a starting structure, and the GitHub Student Developer Pack gives students free access to many developer tools. When final year gets closer, browse the FYP ideas library to see where these small projects can lead.
If you are still stuck
Read What should I do in the summer after my first year of computer science? and How do I build a developer portfolio as a beginner?. If you want feedback on your project ideas, join Sefism and, as a member, book a 1:1 session.
Was this answer helpful?
Read next
- What to Do When You Are Stuck Learning to CodeStuck learning to code? The problem is rarely the material. Sixteen things to do when you hit a wall, a stuck timer to pin by your editor, how to use AI without losing the learning, and a four week reset plan.
- GitHub Repositories Worth More Than a StarTen GitHub repositories for developers that are worth opening, not just starring: system design, projects to build, practice sets and free CS foundations, each checked active, with how to use it.
Your situation is not quite this one?
Members get written answers to their own questions, a roadmap built for them and feedback on their projects. Early access is open: sign up and your account is active shortly after. Prefer to talk? A free call works too.