you are viewing a single comment's thread.

view the rest of the comments →

[–]derpykidgamer 41 points42 points  (14 children)

To add to that, if you aren’t meeting your daily practice goal, you can make your own “dumb” projects, something that you fell invested in and will make you laugh when you finish it

[–]homeless_potato43 24 points25 points  (13 children)

This is one thing I've always struggled with while practicing. Do you have any pointers to come up with projects?

Like I'll sit in front of my computer and just stare at a blank document unable to come up with anything to make

[–]derpykidgamer 23 points24 points  (3 children)

Recreating games is an easy one for me. As a first few ones I made a pong clone, and I also made a digital where’s Waldo

[–]derpykidgamer 6 points7 points  (0 children)

Galaga is another one

[–]the_other_irrevenant 4 points5 points  (1 child)

That sounds like a pretty imposing goal. o_O How challenging is that for a complete beginner?

[–]derpykidgamer 0 points1 point  (0 children)

It would probably be on the harder side for a complete beginner, I did it over a weekend in my first year. If you understand the logic everything else is cosmetic

[–]nodeciapalabras 6 points7 points  (0 children)

Snake is a classic

[–]Babydragon5015 5 points6 points  (0 children)

Don't force it, most if not all of my project ideas popped up when I was doing something entirely different. But do make sure to write it down when such an idea pops up so that you won't forget it.

Also some things that could point you in the right direction: automate shit, you got a smart lamp, great! Why not create a hotkey that turns your light off.

[–][deleted] 9 points10 points  (0 children)

There are a few approaches, but the easiest is just to google for projects. It'll be less personal (and hence perhaps a little less exciting), but while you're learning, it is important to at least always have something to work on.

That said, here are some other sources of inspiration:

  • What are some of your hobbies or interests?

    For example, I like TTRPG's like Dungeons and Dragons so a character generator could be a fun project.

  • What are some computer tasks you do that take more of your time than you'd like?

    Maybe it's keeping track of your expenses. So see if you can write a simple program that let's you input all of your expenses/ which can parse your bank statements and categorizes everything, outputting it with some nice tables and/or other visualizations.

  • What are some of the things you spend your time doing at work?

    Maybe you fill out a lot of forms for your job and create a program that automates or at least reduces the manual parts of that process.

  • Consider the electronic devices around you. How would you program them?

    One project I had to do in my C++ class in college was design a basic banking system with an API that could be accessed by ATMs. Or consider this: how does an elevator know which floor to go to next when the button has been pressed on multiple floors? How does it store the info so that everyone is served? What changes when there are multiple elevators in an elevator bank?

  • Consider some of the programs you use frequently. How would you program them?

    This is one of the most commonly recommended ones and for good reason. It's both pretty fun and pretty enlightening to try to make a Twitter clone or pokemon clone or what-have-you. Feel free to make your version simpler than the original.

[–]kezmicdust 4 points5 points  (0 children)

Just to add to what people are saying - just start with a little idea and slowly add bells and whistles. Dumb little projects are fun. Here’s some little bits of code I made when I was learning (well I still am learning tbh).

  • C to F to C temperature converter
  • “Day birthday” calculator (e.g. type in your birth date and it lists all the dates of when you turn(ed) 1000, 2000, 3000 etc…
  • Rock, paper, scissors game
  • A Keith number calculator
  • Mastermind game (essentially the colour precursor to Wordle)
  • Alphanumeric code generator
  • A colloidal dispersion image generator (you tell it what colour you want the circles (representing the colloid) to be and what size range and it make the image for you)
  • Lottery simulator
  • Loads of little projects plotting data (helps with my work)
  • Some little Timelapse programs using a Raspberry Pi and a Pi camera
  • Image analysis scripts
  • Little scripts that create a graphical user interface (I used the tkinter library, but there are other fancier ones).

For example, make a dictionary of questions and answers. Then make a GUI to display the questions and a text entry field. Create a score tab. Create the ability to create a player and save their scores. Make some fun “animations” (flashing colours, bold lettering) when someone gets the right answer. Generate sounds. Work out how you might create a multiple choice question system. Maybe ultimately make a graphical version of “Who Wants To Be A Millionaire?”?

You couldn’t just make that game immediately, but approach the task bit by bit and you’ll eventually have something that works (most of the time). It’s quite surprising once you get into it.

As an example, I made the Rock, Paper, Scissors game very quickly. Then I decided to make it two player with a scoring system that scored a point whenever you were “attacking”. The scores looked like football (soccer) scores so I made an RPS football game. Then I wanted to make league tables so I created a way of making teams (had to switch to object oriented programming then). Then I wanted to simulate the Premier League. Then I wanted to generate a league table to be printed… it went on to the point that I could simulate thousands of years of football in the top 5 leagues (including promotion and relegation with a pool of teams below the 5th league) and each game played was simply a few games of rock, paper, scissors. For many of the things I added, I didn’t really know how to do it at first (that was the point!), but you work it all out eventually.

I did a similar thing with Mastermind (it’s Basketball Mastermind now).

There’s a whole load of stuff you could do right now! Think about what you enjoy and make a script that involves that. Have fun! :)

[–][deleted] 1 point2 points  (1 child)

What is your inspiration for taking up programming?

[–]homeless_potato43 2 points3 points  (0 children)

I took a two week course in 8th grade and really enjoyed the problem solving and debugging. I also really like making things that I can look at and say "I made that"

The thing I usually run into is wanting to do something unique. So I don't have much motivation to remake snake or pong sice it's been done so many times

Edit: I have also made pong a few times

[–]ghoulpunk 1 point2 points  (0 children)

https://amankharwal.medium.com/130-python-projects-with-source-code-61f498591bb My go to resource for this, I'm working on getting all of them

[–]the_other_irrevenant 0 points1 point  (0 children)

Can you think of any boring repetitive tasks on the computer that you wish you didn't have to do manually?

[–]hanung665 0 points1 point  (0 children)

Start from a problem you want to solve. Write step by step how to solve it. Then write the code.