Coding Supply

Everything a Programmer Needs

  • Programming Monitors
  • Learn Programming
  • Programming Laptops
  • Start a Programming Blog
  • Blog
Best Programming Projects for College Students

Updated: March 1, 2017 Leave a Comment

Best Programming Projects for College Students

When you’re a student starting out on your path towards a career in programming, there’s a lot of theory and concepts that you’ll learn in the classroom. While this part of your education is vital, it usually doesn’t focus much on actually putting your skills to use in building an interesting programming project.

As a result, many students turn to doing their own programming projects on the side which is one of the smartest decisions students can make. Here are the big benefits to starting your own side project –

  • Hone your skills. The more you practice and attempt, the better of a programmer you will become. There’s no substitute for experience in programming.
  • Show a hunger to learn. By doing a self-driven programming project, you show prospective employers that you’re driven to succeed and love to learn new technologies. Today, programming languages and frameworks rise in popularity quickly, and employers want employees that can keep up with these new demands.
  • Practice with a variety of languages. While it doesn’t hurt to focus on one programming language for your career, trying several different languages out early on is very beneficial to your understanding of programming. You’ll see different ways languages went about solving the same problems and develop a sense of best-practices. This will also help you guide your career path towards a programming language you enjoy.
  • Build a portfolio on Github. A portfolio of cool projects is always a good thing to be able to show off in an interview, whether you’re going out for your first job or a senior position. By writing code and placing it on a source control site like Github, you start to develop a true portfolio that demonstrates your skills better than any answer to an interview question could.
  • Programming is fun! Often times the book-learning aspects of programming are pretty dry, and some of the projects you have to do in school are not exactly inspiring. By choosing your own project you can pick something you’re passionate about, which will lead to a much better end product to show off.

Now that we’ve sold you on why it’s a great idea for students to start a programming project, we would also suggest you start a programming blog to go along with it. You don’t have to be an entertaining author, but being able to communicate well in writing is something companies always look for in technical positions as it has a tendency to be a liability. By writing about your project as you do it, you’ll have a log of why you’re doing the project, why you made certain decisions, etc.

What Makes for a Good Project?

student programming project

To us, a good project for a student is one that starts out simple, and can grow more and more complex as desired. Students often have periods of no free time, so it’s nice to be able to leave a project in a “finished for now” state, then return later to add more features to it.

We’re also going to favor projects that have some sort of demonstrable output, or result. Being able to see how each change is affecting the output will make it much easier for newer coders to spot their mistakes or unintended consequences.

Here’s our list of the top programming projects for college students.

Text-Based Adventure Game

Suggested Language – Python, Ruby, or most any other that can easily be run and output text in a console window.

text based game project

Here’s a classic throw-back project that won’t “wow” anyone, but it’s a perfect first project. Create a game/script that will ask the user for input. You can ask their name and store it in a variable to use throughout the rest of the text.

Also, add some conditional, branching events. For example, you can have a user choose to go through one of two doors and give them different events as a result. Be sure to handle for when a user gives invalid input!

Sports Simulator Project

Suggested Language – Python, Ruby, or most any other that can easily be run and output text in a console window.

Pick a favorite sport of yours, and create a text-based “simulator” for matches. If you have any interest in sports, this is a really great choice because you can start extremely simple and then implement more and more logic, making it more in-depth and interesting.

For example, start out by having the program output the final score of the game. Maybe your logic says the scores should be randomly generated to be between 90 and 105.

Test the output and see how it looks. Maybe you get something like the following –

Game 1: 90 to 99, Game 2: 100 to 93, Game 3: 98 to 98

Oh no, we forgot about ties! Now implement some changes to handle for ties, since a game can’t end in a tie. You can designate this game as an “Overtime” game, and randomly add 6-14 points to both sides. The output could then be –

Game 3 (OT): - 106 to 110

What if the game ends in a tie after 1 period of OT? You can add another quarter by iterating the same scores through the previous “Overtime” function!

Also, instead of randomly picking a score from 90 to 105, try modeling the scores to a normal distribution curve so that outlier scores will appear once in awhile, but most scores will remain around the average. Here’s a Stackoverflow topic that could guide you towards doing such with Ruby.

Once you feel like you have a good function created for generating realistic final scores, you could take the simulation to the next level by creating some team-specific attributes.

For example, let’s say Team 1 has an offensive rating of 100 out of 100, whereas Team 2 has an offensive rating of 80 out of  100. Factor the offensive rating into your score generator so that more times than not, Team 1 will score more points.

Then you could assign defensive ratings to teams and have that factor into the opponents scores! The possibilities are really endless at this point – you get the idea.

Calculator App

Suggested Language – Android, Java, or Swift.

If you want to get some practice with a simple GUI, a calculator app is a basic programming project that many people do.

You will learn how to set up a GUI and map buttons to function behind the scenes. You’ll also learn a lot about storing and modifying variables which never stops important to programmers.

Once you get the basics of the calculator down, you can try to take things to the next level by adding some “Scientific” functions, or by adding some hotkey button to the interface that save the current number to a variable that they can summon any time they press that hotkey again.

Web Scraping

Suggested Language – php

programming project college student

Web scrapers are always in demand and are frequently built in php, so this is a great and challenging project to undertake – possibly too challenging for beginners. If you don’t have a server to run php on, you can always build a web scraper in a different language to run from your local computer.

Building a web scraper requires some basic networking knowledge, and typically a lot of XML, json, or Regular Expression knowledge in order to grab the right elements of the page reliably.

Start out with really basic websites that don’t require authentication. For example, scraping the titles of all of the submissions on the front page of Hacker News and displaying them as a list. You could then scrape more data points like the number of comments, points, etc.

Some Sort of Database

Suggested Language – SQL, anything that interacts with it

database icon

You can’t build much intricate without storing data. Being proficient with databases will serve you regardless of the primary programming language you end up using, so you would be wise to add a SQL database into one of your projects.

You could easily add them into a web scraper to store and recall results as well as the sports simulator to track previous game results.

You could also go the route of building a database outright, using only SQL. Oracle, MS SQL Server, PostgreSQL, MySQL, and SQLite all have ways to run a free, local database that you can use to build a small database. Again, with this project you can start out really small and expand the scope slowly.

For example, maybe you want to start a database for your favorite TV shows. You can start with a “show” table. Then maybe you want to add actors, so you add an “actor” table. Then you can link the two with a “show_actor” table, which will let you query the database for what shows an actor has been a part of, or all the actors in a certain show.

Build a Simple Web App

Suggested Language – Ruby (on Rails), Python (Django), php

If you’re looking to get into web development, then get some experience spinning up a simple web app. By using something like Heroku, you can run a free web server to work on your full-stack programming skills.

Going down this path is going to be much more complex than the above project ideas, because you’re going to be doing server management, database management, as well as learning a web framework. These are all useful skills to have, but might be too much to take on if you’re busy. Luckily there are a ton of tutorials out there to help you on your way. Heroku has an excellent list of resources for all of their supported languages.

As far as what to make, pick anything that suits your interests. One simple idea would be to read the browser data of the visitor and output to the screen what the visitor’s IP address is, web browser, screen resolution, etc. See something like this site for an example.

One nice thing about this project is you can show it off in the real world, during an interview or anywhere else.

 

The Most Important Thing…

Regardless of what you end up doing, just doing any project will help you stand out from the crowd when you’re seeking employment or an internship.

Don’t be afraid to ask for help along the way regardless if you feel the question is dumb or not. Places like StackOverflow are very newcomer friendly – just make sure you actually put some effort in to solve the issue yourself first and have used the search feature on the site to try to solve your issue. Also, don’t ask for homework help – it’s not what the site is for!

Related posts:

Code School Review: Quality Courses Outweigh Cost

Filed Under: Students Tagged With: college, programming project

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

Search codingSupply

Categories

  • Career
  • Learn Programming
  • Productivity
  • Programming Gear
  • Programming Languages
  • Students
best-keyboards-for-programming

Best Keyboard for Programming [2021 Update]

A computer programmers most important tool (besides our glorious minds, of course) is the keyboard. A keyboard is vessel in which you turn the solutions to problems into code, and thus it’s vitally important that every developer has a keyboard they feel awesome with. But a keyboard is just a keyboard, right? No way! Keyboards […]

starting programming blog

How to Start a Programming Blog in 2021

If you’re looking to make the most out of your programming career, making a name for yourself is the best way to open up countless opportunities. The best way to do this is by starting your very own programming blog. Certainly not every programmerneeds to do this in order to have a great career, but […]

best headphones programming

Best Headphones for Programming in 2021

Any experienced programmer can tell you that achieving a flow state while coding is one of the most fulfilling professional you can hope to have. Entering the “flow state” can be described as when you become engrossed in your work, and your coding flows effortlessly. In these flow states, it’s possible to be extremely productive and […]

Copyright © 2023 Coding Supply · Amazon Affiliate Disclosure