Computer Club is a great time for collaboration, not just competition! I think it will be quite fun to collaboratively work on side projects/open-source during Computer Club time. In the near future, Computer Club will be hosting work and planning sessions for members to collaboratively develop CS side projects.
Why work on collaborative CS side projects?
- Collaboration is fun!
- To develop a resume that appeals to CS internships, colleges, and jobs ; Many people ask: “How do you make money from side-projects/open source?”; the answer is that open source/side-projects gives an incredible boost to your resume, helping you get high-paying jobs (if you desire). One of my Senior-Developer/Manager friends said that personal projects are a major indication of an applicant’s ability to perform on the job — and that most people applying for jobs do not have any meaningful projects! For many (myself included), the resume boost is a major motivation for side-projects/open source.
- Science Fair Awards!
- To learn programming languages (Python, Java, C++, …)
- To learn technologies (web servers, databases, …)
- To create products that solve your problems. Often, there are bugs or unimplemented features we want in software that we frequently use and the software may happen to be open source or support extensions; In this case, you can actually write the features for the software yourself (I do this all the time!). You of course can also create passion products from scratch too.
- To create products that solve other people’s problems. Helping others is rewarding, even if you do not directly benefit.
Ideas
Beginners
Learn a language while working on projects. Pick the most interesting of the following
- Jetbrains academy projects (students can get this free for one month https://lp.jetbrains.com/jba-students/); Pick a learning track from here
- https://www.dataquest.io/blog/python-projects-for-beginners/ Pick a project for you and your partners to do
- Learn javascript and react for web development through project tutorials: https://react.dev/learn
- Leetcode beginner topics
- Check out some ideas from here
Intermediate
- Find an issue on an open-source project on Github and try to solve it. There are some issues that are marked as “good for beginners” which can be a great way to get into open source. A good place to start looking for projects is by the language you are familiar with, or if you have used the software before
- Learn NextJS and create a NextJS web app. https://codedamn.com/news/nextjs/top-10-project-ideas
- Learn Unity and create a simple Unity game; There are many Unity tutorials you can find online; pick one that interests you
- Learn SQL and build a full-stack app;
- I recommend using Supabase; here is a tutorial where you will learn to build a supabase-based web app: https://supabase.com/docs/guides/getting-started/tutorials/with-nextjs. After you go through this, you and your team member can modify the app; A todo list is a popular idea
- Any other idea that you or your partners have
- Build a personal blog using any web technologies (I like both https://astro.build/ and nextjs)