Write your question here.
so, often times even though I have a moderate understanding of a lot of stuff, and some history and experience coding, I can't complete basic tasks necessary for useful applications or games.
I have started going through and solving for the project euler problems without copying other peoples code -- instead, sometimes I use similar (yet very different programs) as a reference -- if the code does more than one task required for the problem I refuse to look at it so I can't steal the answer, instead only looking at snippets of reference code to get an idea of how to do something I have forgotten.
loops are one thing -- I forgot how for loops worked since I havent coded in awhile. and I also couldnt conceptualize a program that created a fibionacci sequence -- so I looked a a similar yet different reference, and modified all code until it was not recognizable.
all the code taught me was how to get the loop going for the sequence -- from there I created several different multi-part loops that solved for a different equation than the one used in sample code.
I find finding code that is different enough yet similar enough to help me solve the problems difficult -- but I am actually learning from what is done because im not copying anything -- only using someone elses similar problem as a reference.
also I am willing to look at the real math answers and equations without coding -- which is also teaching me mathematics (mainly calculus) in a more applied manner where I am actually solidifying and remembering these concepts, since it is applied, unlike in school where I would pass a unit test with 100, then forget some of it by midterms, and fail on the finals since I lost all knowledge of what I did earlier.
I know for a fact I Am learning math from these problems, but will this help me when I try to code a game and port it to android, ios and desktop operating systems? will the knowledge I am gaining from these math problems also be applicable to what I ultimately want to be doing?
It WILL definitely help from the math alone, since I intend to go back to college and abandon my liberal arts degree in favor of computer science and math/science... which I was previously afraid to do since I never solidify math concepts in my mind -- I always learn and forget them by the time I need to pass a test.
regardless of whether euler will help me with my computer science goals it WILL help me with that, so I intend to continue solving these problems in my spare time.
but is this a useful platform for taking my stupid tutorial knowledge and actually start learning to apply the concepts I know into finished computer programs projects later down the line?
.... but will this help me when I try to code a game and port it to android, ios and desktop operating systems? will the knowledge I am gaining from these math problems also be applicable to what I ultimately want to be doing?
Solving Project Euler problems is always going to be a good thing in my mind - it teaches on a lot about having efficient algorithms to get things done. The knowledge gained could be applied to all sorts of things.
Also, bear in mind that gaming isn't everything, a lot of young people have this as a goal - which by itself is fine. But not everyone is going to finish up as a game coder. There are many other things, such as business or science related projects. Another harsh reality, is that you may find yourself working on something really old and shitty, maybe not even C++. People have this vision of CS/IT being modern and cutting edge everywhere, but that is not the case, a lot people have jobs continuing to patch up code that is decades old. You might find yourself patching up Fortran code for example. I heard of someone who was working on a weather modelling project on a Cray super computer, Fortran was used as it had the smallest machine code footprint. I wonder about that though, how Fortran compares to C in that respect, these days?
but is this a useful platform for taking my stupid tutorial knowledge and actually start learning to apply the concepts I know into finished computer programs projects later down the line?
Yes. Apparently some of the problems are real "brain busters", having taking lots of time & thinking to figure them out, should mean one won't forget how it was done.
People have this vision of CS/IT being modern and cutting edge everywhere, but that is not the case, a lot people have jobs continuing to patch up code that is decades old.
oh, well I Dont care if the JOB I get is game programming -- its just a goal of mine to complete some small games and release them as part of a bigger portfolio.
I actually love the feeling of accomplishment related to coding, and since I did it a lot when I Was younger (even though I ran into a hard time with enemy generation and collision detection when I was 12, and then I gave up programming. I was 12 though, and I really wish I didnt give up at the time... Id be great t it by now!)
I dont care if I end up coding for a business and bringing old cobol programs back to life. I just find this a more realistic career path than say, digging ditches or building schools or working retail. It offers the possibility of a living wage, and something I enjoy and am capable of.
I dont expect to get a job making games -- but I want to be able to do it. for my own sake. As long as I get a job somewhere in networking, coding, or systems after I go back to college again or receive some certifications, im plenty happy with that.
I already COULD go get certified as a system admin, or in web design or something (I have more experience in web coding with PHP and MySQL than anything else, since I started in web design then moved over to coding in BASIC as a little pre-teen. I quickly gave up on BASIC though and moved to C, then to C++). Im 26 now btw, so that was a long time ago. I actually said fuck this, im gonna go party, and ended up becoming a drug addict and wasting my life. trying to fix that now i guess.
So yeah, I realize thats unrealistic.
what excited me about project euler was this -- that there are problems to solve of increasing difficulty so as to make a path of "steps" up a stairway to the top.
usually starting to code is hard, because after tutorials you are left to your own directions and designs, most likely to pick a project way too hard for a beginner to accomplish (even a space invaders clone is an insane goal for someone who JUST started) but this makes it so I Have like. homework problems of increasing difficulty, and all that I use to solve for one can be used in the next problem with a few additions to the code.
thus making it seem like a good way to learn for me.
the fact that it is applying calculus is VERY useful since the only reason I went to college for liberal arts and not computer science was calculus alone. like I said, without an applied reason to learn math, I always forget it. and i Have a deep seated fear of long math classes, where I do excellent on all the tests, ok on the midterms, then nobody understands why I am terrified and fail by finals time. I actually have a memory disability (not caused by but perhaps exacerbated by the drugs) since childhood, and my short term memory is damaged. but, because of this, if I actually APPLY some of the knowledge I gain to something, I have a photo-perfect longterm memory for applied knowledge!!!
I literally was able to pick up C++ very very quickly after years away... a few months ago I started up again and made more progress then ever, but gave up again once I ran into problems I couldnt solve because they were above my level of skill. now, I wish to try to approach this in a more logical manner that allows me to learn in increments, apply the knowledge, then learn more... eventually accomplishing the original goals and more.
i will now remember the principles of several different math concepts, including the sieve of eratosthenes forever, simply because I used these concepts in something rather then read, pass unit test, and forget. I was never BAD at math, just bad at remembering the equations for things by the final since it all seemed so useless.
I really think if nothing else, euler offers a legitimate and exciting way to learn mathematics.
I have started going through and solving for the project euler problems without copying other peoples code --
This a very good idea. You learn to program by programming.
instead, sometimes I use similar (yet very different programs) as a reference -- if the code does more than one task required for the problem I refuse to look at it so I can't steal the answer, instead only looking at snippets of reference code to get an idea of how to do something I have forgotten.
Ideally you should strive to stay away from code that solves the problem or even similar problems. Instead you should be studying documentation for the features desired in your program.
Before you even start to write a single line of code you should have the problem mapped out, either in pseudo code, flow charts, etc. To do this you need to throughly understand the problem. So finding and studying documentation on the problem is key. If you don't truly understand the problem staring at code probably won't solve this issue. For example if the problem is about a Fibonacci sequence, you must first know the definition of what makes a Fibonacci sequence.
By the way if you really want to create games you'll probably need to get over your phobia of math and physics.