Live data from Hacker News

Practice coding with fun programming challenges

codingame.com

11–20 of 47 posts

Re: Practice coding with fun programming challenges

#11

I've always advised against being introduced to programming through game development. As much as game development is appealing and fun, the process is complicated and requires advanced knowledge of some fairly complicated algorithms even for fairly trivial games. Also you can find yourself spending hours shuffling sprites and designing levels which is time spent not learning programming. Also engines like Unity provi…

I feel like you could make a distinction between "making a AAA title game" vs. "modeling game logic in a terminal".

There are a lot of great learning opportunities for building a game without a graphics layer / engine. A new developer trying to build a Tic Tac Toe game in the terminal will be exposed to some challenging but not impossible challenges that will have a wide scale application.

Plus for many people, these types of games are already a familiar domain. For people new to coding I try to encourage them to build what they know. If that's a DOS-era blackjack game, it will be much more engaging to them than trudging page to page through an algorithms book.

Don't get me wrong the materials you listed in your last sentence have their application, but the sorting algorithm section of a learn programming book / video is (while useful!) less engaging for someone looking to get hooked on a new skill/hobby/career.

Re: Practice coding with fun programming challenges

#12

I've always advised against being introduced to programming through game development. As much as game development is appealing and fun, the process is complicated and requires advanced knowledge of some fairly complicated algorithms even for fairly trivial games. Also you can find yourself spending hours shuffling sprites and designing levels which is time spent not learning programming. Also engines like Unity provi…

Agreed. Implementing even a trivial game like chess or Pac-man requires either a huge amount of knowledge re: programming concepts or an equally huge amount of hand-holding from the game engine and tutorials.

In fact, I would rate game programming as one of the most difficult software domains of all. I can't think of any other domain where you're immediately hit with the same level of algorithms, performance concerns, design questions, etc.

Re: Practice coding with fun programming challenges

#13
post #9

"getting noticed" ? As an indie game dev, I really don't make sense of that one.

I'm trying to figure out why this site exists, what their business model is, and what they're hoping to accomplish. There's no pricing data available anywhere that I can tell, but it's obviously a company. I'll comb over it in more detail when I'm not at work.

Re: Practice coding with fun programming challenges

#14

I've always advised against being introduced to programming through game development. As much as game development is appealing and fun, the process is complicated and requires advanced knowledge of some fairly complicated algorithms even for fairly trivial games. Also you can find yourself spending hours shuffling sprites and designing levels which is time spent not learning programming. Also engines like Unity provi…

I feel like you could make a distinction between "making a AAA title game" vs. "modeling game logic in a terminal". There are a lot of great learning opportunities for building a game without a graphics layer / engine. A new developer trying to build a Tic Tac Toe game in the terminal will be exposed to some challenging but not impossible challenges that will have a wide scale application. Plus for many people, these…

I think this actually used to be easier. Back in the QBasic days, throwing some graphics up on the monitor was as easy as SCREEN 13, and then PSET, LINE, and CIRCLE away.

Re: Practice coding with fun programming challenges

#15

I've always advised against being introduced to programming through game development. As much as game development is appealing and fun, the process is complicated and requires advanced knowledge of some fairly complicated algorithms even for fairly trivial games. Also you can find yourself spending hours shuffling sprites and designing levels which is time spent not learning programming. Also engines like Unity provi…

[deleted]

Re: Practice coding with fun programming challenges

#16
post #9

"getting noticed" ? As an indie game dev, I really don't make sense of that one.

There are leaderboards. If you dig into the section targeted at companies:

    The best place to hire developers
    CodinGame for Work allows you to source, screen, and recruit bright and creative developers

Re: Practice coding with fun programming challenges

#17
Personally, I think the best way to learn to code for someone who has talent for it is project Euler (projecteuler.net). No dependencies, no IDEs, no graphics and no gimmicks. Very short, clear, discrete problems that can be solved using any language.

If you really need shooting, explosions and fancy graphics to keep you motivated then I don't think programming as a career is for you. Most programming jobs aren't going to give you much of that. And frankly, I think all the wizz-bang graphics just interferes with your learning and getting good at visualizing in your own head what the code is doing.

Re: Practice coding with fun programming challenges

#18

I've always advised against being introduced to programming through game development. As much as game development is appealing and fun, the process is complicated and requires advanced knowledge of some fairly complicated algorithms even for fairly trivial games. Also you can find yourself spending hours shuffling sprites and designing levels which is time spent not learning programming. Also engines like Unity provi…

I find the opposite to be true.

Sure writing an entire game is a lot of work. But starting with the typical "print "Hello world"" then looping. Then text input. Then average 5 numbers = Students quit out of boredom.

Where as inside a game you get instant visual feedback. You start possibly with a simple exiting game and start modifying. Whether it's Pong or Breakout or a simple space shooter. All of those can teach the same core elements and yet the instant visual feedback means students are far less likely to be bored and far more likely to explore other ideas.

Similarly creative coding (processing, p5.js, etc.) often go the same way. The instant visual feedback leads to excitement and exploration for many more than the "learn these 100 foundational things before you can actually do anything interesting"

Re: Practice coding with fun programming challenges

#19

Personally, I think the best way to learn to code for someone who has talent for it is project Euler (projecteuler.net). No dependencies, no IDEs, no graphics and no gimmicks. Very short, clear, discrete problems that can be solved using any language. If you really need shooting, explosions and fancy graphics to keep you motivated then I don't think programming as a career is for you. Most programming jobs aren't goi…

Project Euler (IMO) depends too much on math skills that many novice programmers (and experienced ones) lack. http://www.hacker.org is one that I introduced to a few friends that got more positive results with them. And I also encourage people to go to https://www.rosettacode.org and try their hand at adding solutions for the languages they're interested in.

Re: Practice coding with fun programming challenges

#20

Personally, I think the best way to learn to code for someone who has talent for it is project Euler (projecteuler.net). No dependencies, no IDEs, no graphics and no gimmicks. Very short, clear, discrete problems that can be solved using any language. If you really need shooting, explosions and fancy graphics to keep you motivated then I don't think programming as a career is for you. Most programming jobs aren't goi…

The problem with Euler is it is very heavy on math. Math and programming aren't the same things. (although certain programming paths do rely heavily on math)

Its better to do something. ANYTHING. Euler? Hackerrank.com (or other similar websites? exercism.io? "Crack the Coding Interview" (or any other similar book)? codereview.stackexchange.com? codegolf.se?

Or any of the other dozens of ideas here http://programmers.stackexchange.com/a/764/2536

The key is DOING. Repetition. Solving problems and overcoming obstacles. Repeatedly. Till you get better. Then do it again. Repeat yourself.

Did I mention repetition? repeatedly?

How do you learn to piano? Guitar? fix cars? Years and years of practice. Programming is no different.

Post reply on HN