How to start a program

Hi whenever I come up against a programming challenge i.e. the Simon Game, I never know how to begin without looking at what somebody else has done.

My question is, what process do people use to plan the program they are about to write?

Thanks

1 Like

@kwal0203 for myself I usually start with something that doesn’t take much thought - I build a basic webpage with a header and a crude interface to display whatever the problem is asking you to do; it could be as simple as a div with an ID that the JavaScript part is going to write to. And maybe something to get the user’s input. Then a bit of simple CSS. While I am doing all of this I’m thinking about the problem and how I may structure things, and usually by the time the basic website part is functional I will have a pretty good idea how to proceed with the rest of the program.

The thing is this methodology is a bit of a trick just to get me going and thinking without sitting in front of my monitor spinning my wheels. I think getting started is sometimes the hardest part, and this always gets me through that…

4 Likes

I took a lot of inspiration from the book Getting Real by 37 Signals (now Basecamp). The whole book is full of great ideas but page 70 describes how they work on new features / projects.

https://basecamp.com/about/books/Getting%20Real.pdf

The core idea of Getting Real is to start with what the UI will look like from the user perspective and build everything to support that.

My Process:

  1. Draw a thumbnail sketch of what I am building
  2. Create mock up using HTML / CSS
  3. Make it functional

As @rickstewart said, starting is the hardest part. When I have a hard time starting it is normally one of two things. 1) I am using technology new to me and I don’t understand yet how to accomplish what I want to build. 2) I don’t fully understand the problem.

Hope this helps. Looking forward to hearing from others as starting is one of the hardest parts of a project.

4 Likes

I was fearing people would reply with answers such as “first you will have to learn Scrum and then you must learn all Pseudocode Flowchart symbols from the top of your head”… but seriously I have been watching some of this teacher´s logic videos (below) because in webdev class I was taught that it helps to break down everything you need to do in very broad sentences first and then specify more and more and deeper and deeper detailed concepts later.

I´m not sure what the flowchart for Simon Says would look like but i´m thinking it would be extremely helpful to just start with only a few sentences for the whole process:

  1. draw random coloured shape & play sound
  2. if user input === sound then goto 1 but add 1 more
  3. if user input =/= sound then goto 1 again

I am not a programmer! So I´m also looking for ways on how to truly grasp the process and hope to be able to use logic and think like a programmer, more tips welcome :slight_smile:

1 Like

Is any of our answers helpful to you?

Great answers guys, thanks for that