Author Topic: Learning to program ???  (Read 1040 times)

0 Members and 1 Guest are viewing this topic.

Offline diceman111

  • 28
  • Keep on playing Glottis, keep on playing.....
Learning to program ???
Ok I have got it into my head that I want to learn computer programming, I have done some cources in High School so i know the basics of C++ and Delphi but I want to know if anybody have recomendations for either books or websites with good tutorials.

Any help would be welcome and with any hope maybe I can help with the bug hunting drive in Mantis ina few months


/Dice
Flames Of War Chapter III - http://web.comhem.se/~u35702611

"If at first you don't succeed try a bigger thermonuclear weapon" - My philosophy on life

"I dont care if we smack it into her or smack it out of her just aslong as there's smacking invovled" - Max from Sam & Max Situation Comedy

 I live in Sweden and before anybody ask NO we do not have polar bears walking on our streets thats Norway, we have penguins (Red ones with blue dots)

 (These messages was brought to you by the people from DFWD (Diceman For World Domination))

 

Offline Mika

  • 28
Re: Learning to program ???
Depending on your mathematical background, I would recommend taking a look at common optimization routines and in general a numerical programming book as Numerical Recipes (available online if memory serves) at least. Then if I wanted to become better programmer, I would take a book about 3D graphics and rendering, also how to make it quick. After that some real application (must be small applications) development to understand the communication between various system layers. After that you'd have quite good general view of programming and set to do pretty much anything. Programming Operating Systems is then a chapter of its own, but I supposed you were not that interested about them.

Mika
« Last Edit: September 27, 2007, 05:39:57 pm by Mika »
Relaxed movement is always more effective than forced movement.

 

Offline diceman111

  • 28
  • Keep on playing Glottis, keep on playing.....
Re: Learning to program ???
Ok well I am pretty good with math (have studied at the university)
Flames Of War Chapter III - http://web.comhem.se/~u35702611

"If at first you don't succeed try a bigger thermonuclear weapon" - My philosophy on life

"I dont care if we smack it into her or smack it out of her just aslong as there's smacking invovled" - Max from Sam & Max Situation Comedy

 I live in Sweden and before anybody ask NO we do not have polar bears walking on our streets thats Norway, we have penguins (Red ones with blue dots)

 (These messages was brought to you by the people from DFWD (Diceman For World Domination))

 

Offline Mika

  • 28
Re: Learning to program ???
Then I would say about optimization:

[Local algorithms]

- Brent's method (secant and parabolical fitting with some really involved mathematical tricks) since you don't always have gradient information and this involves both secant and parabolical fitting methods, both of them are recommendable.

- Newton's method for multivariate problems (important)

- Conjugate Gradients method

- Levenberg-Marquardt damped least squares optimization (important)


[Global Algorithms]

- Spall's SPSA (this is interesting from mathematical point of view because common sense would tell this doesn't work. I suspect it was discovered by an accident.)

- Simulated Annealing (modelling of the natural cooling processes)

- Differential Evolution algorithm (evolution is always interesting)

- And the newest, anthill / bee colony optimization strategies

It will take a long time to go through each of these and understand why them work as they do. But remember that quadratic convergence rocks.

Neural networks I would also say could be beneficial to understand, especially if you can combine neural network with a optimizer.

Sorting routines are also important. Matrix routines and image filtering functions are also important. Basically, the Numerical Recipes will give you a brief introduction into the calculation algorithms. But I'm only a semi-professional, and would not like to know how the professional programmers calculate stuff in C++. Might be radically different and use bitwise operations.

Mika
Relaxed movement is always more effective than forced movement.

 

Offline CP5670

  • Dr. Evil
  • Global Moderator
  • 212
Re: Learning to program ???
Although that stuff is very interesting, it's highly specialized and would be of no use for a general purpose programmer to read up on. You aren't exactly going to be using conjugate gradients and finite element methods to fix FS2 bugs on Mantis. :p
« Last Edit: September 27, 2007, 06:32:17 pm by CP5670 »

 

Offline Turey

  • Installer dude
  • 211
  • The diminutive form of Turambar.
    • FreeSpace Open Installer Homepage
Re: Learning to program ???
If you know C++, start looking into the FSO code. Once you've understood enough of it, it's trivial to fix things.
Creator of the FreeSpace Open Installer.
"Calm. The ****. Down." -Taristin
why would an SCP error be considered as news? :wtf: *smacks Cobra*It's a feature.

  

Offline Nuke

  • Ka-Boom!
  • 212
  • Mutants Worship Me
Re: Learning to program ???
its also trivial to break things worse :D
I can no longer sit back and allow communist infiltration, communist indoctrination, communist subversion, and the international communist conspiracy to sap and impurify all of our precious bodily fluids.

Nuke's Scripting SVN