Author Topic: Assumed level of learning..  (Read 4016 times)

0 Members and 1 Guest are viewing this topic.

Offline Shockwave

  • good/evil
  • Founder Member
  • DBF Aficionado
  • ********
  • Posts: 17409
  • Karma: 498
  • evil/good
    • View Profile
    • My Homepage
Assumed level of learning..
« on: July 08, 2008 »
Recently a friend of mine (gooner) has started to learn programming, he's doing pretty well too but it's made me think how easy it is to forget all the stuff that most of us here take for granted.

I mean things like;

What a loop is.
What a variable is.
What double buffering is.
What arrays are.

II spent an evening with him and now he's moving some text around the screen, text mode stuff mind you, not graphics, and I just showed him there is a line command in freebasic.

I guess that he's messing around with that now....
I really hope that if there are any new programmers who havent even written thier first "hello world" that they can post confidently so we can turn them into the demo makers of the future.
Shockwave ^ Codigos
Challenge Trophies Won:

gooner

  • Guest
Re: Assumed level of learning..
« Reply #1 on: July 08, 2008 »
Cheers for that Shockie.Ive learnt so much in the last couple of weeks and finding coding very addictive and i urge anybody reading this who has never tried codiing before   
to register an account with this great forum and introduce themselves.The buzz you get from something you coded actually work is fantastic.I was and still am a complete novice but as i'm learning more and more i'm able to appreciate and participate in other parts of the site.I am looking forward to the the day when i am able to release some of my work to this forum knowing i will a get an honest and helpful responce to further my coding education.
 :cheers: Wayne

Offline stormbringer

  • Time moves by fast, no second chance
  • Amiga 1200
  • ****
  • Posts: 453
  • Karma: 73
    • View Profile
    • www.retro-remakes.net
Re: Assumed level of learning..
« Reply #2 on: July 09, 2008 »
Hi gooner/Wayne

keep it up man! in the beginning, programming seems to be very frustrating. the machine does not "do" things the way "we" want it to do.. but in the end you will see it is not that difficult. It's all about the mindset. It takes some time before you get the right mindset (and you can only shorten the time it takes by make efforts and trying and trying and trying again).. but one day you will suddenly get it. That's how it is..

The only advice I can give you is not to start with a high-level language. I do not know much about FB (although I can understand the code posted on this forum) but try to stick to the low level first. Usually high-level languages show you lots of cool tricks and make you think that it's all going to be nice and easy. Then when you get away from the nice examples and try your own stuff, you feel lost. Get the basics done first, get the mindset, understand how the machine executes the program first. Then any language with all the bells and whistles in the world would seem easy.

Best,

Stormbringer
We once had a passion
It all seemed so right
So young and so eager
No end in sight
But now we are prisoners
In our own hearts
Nothing seems real
It's all torn apart

gooner

  • Guest
Re: Assumed level of learning..
« Reply #3 on: July 09, 2008 »
Thanks for them words of advice Stormbringer.You've managed to put into words

exactley what i've been thinking.Understanding how the computer executes each

part of the program will be major step in helping me crack this.Thanks for your help

 ;)
« Last Edit: July 09, 2008 by gooner »

Offline Pixel_Outlaw

  • Pentium
  • *****
  • Posts: 1382
  • Karma: 83
    • View Profile
Re: Assumed level of learning..
« Reply #4 on: July 09, 2008 »
Have you had your first memory leak yet? :xmas:
Challenge Trophies Won:

Offline rain_storm

  • Here comes the Rain
  • DBF Aficionado
  • ******
  • Posts: 3088
  • Karma: 182
  • Rain never hurt nobody
    • View Profile
    • org_100h
Re: Assumed level of learning..
« Reply #5 on: July 09, 2008 »
It takes some time before you get the right mindset (and you can only shorten the time it takes by make efforts and trying and trying and trying again).. but one day you will suddenly get it. That's how it is..
x2

tear those examples apart, comment out entire lines and have a look see at what broke. Then change values and see what the change did. if you cant see any difference undo your changes and look somewhere else, pick your battles you dont have to understand everything.

Have you had your first memory leak yet? :xmas:
lol

Challenge Trophies Won:

Offline benny!

  • Senior Member
  • DBF Aficionado
  • ********
  • Posts: 4384
  • Karma: 228
  • in this place forever!
    • View Profile
    • bennyschuetz.com - mycroBlog
Re: Assumed level of learning..
« Reply #6 on: July 09, 2008 »
@gooner:
Yep, gooner. Especially in the beginning programming can be very
frustrating. But in the end - and when you routines work - it really
pays out - and it becoming more and more fun to be creative and
code some fun applications.

Good luck!
[ mycroBLOG - POUET :: whatever keeps us longing - for another breath of air - is getting rare ]

Challenge Trophies Won:

Offline stormbringer

  • Time moves by fast, no second chance
  • Amiga 1200
  • ****
  • Posts: 453
  • Karma: 73
    • View Profile
    • www.retro-remakes.net
Re: Assumed level of learning..
« Reply #7 on: July 09, 2008 »
@gooner: Second advice: do not learn from "sterile" examples such as those usually available in books. Set youself a goal and then look for information and learn what you need in order to reach that goal. Examples in books usually focus on a situation that maybe will never exist in the rela-life. Moreover, most of the timeyou will wonder when such a thing would be useful.

If you set yourself a goal, then your motivation will be at its maximum and even the most boring thing to program would then seem interesting, simply because *you* need it. The advantage of this is that it forces you to look for information and learn. It's useless to learn things by heart, learn where to find the information and how to adapt it to your problem. I always hated teachers in school giving us "sterile" exercises. I can still hear them saying "we would like to do this and that..." NO! WE DO NOT WANT TO DO THIS AND THAT. Show me how to analyse the problem I WANT to solve and HOW TO LOOK FOR INFOMATION. This way the motivation of learning will always be at its maximum.

Shockwave had a very good idea in pushing you directly into graphic programming. Drawing stuff on the screen is much more motivating that starting with a program that manages a list of clients or converts the temperature from Farenheit into Celsius degrees. IMHO, the best projects to jump in are games (1st place) then intros/demos. The take you through pretty much everything you need to understand/learn in order to become a good programmer. Things like organizing your code, optimizing your code, understanding how the machine works are not visible in a simple Farenheit to Celsius conversion (which is an real example in a reference book for learning the C language...)

With the "line drawing" example Shockwave gave you, you can easily code your first game: Tron (see here: http://en.wikipedia.org/wiki/Tron_(arcade_game)). If you achieve this kind of goal, then your knowlegde would increase quite rapidly....

I used to teach programming for kids during summer camps. The way we (I was not the only teacher) did it was to give a 2 weeks challenge to absolute beginners: write a Tron game and the best game among all the participants at the summer camp would be rewarded with a prize. Since they were all kids between 8 and 12 years old, the prize would be like a game, a joystick and that kind of stuff.

Believe me or not, the motivation they had was incredible. At the end of the 2 weeks challenge, we had really good games with multiple players, high scores, traps, bonuses, etc. Everyone added extra stuff beyond the basic game in order to win. And of course our goal was reached => they learned programming in 2 weeks. We had tons of questions like "how do I do this and that?". We never had to force them to learn things => they wanted to learn.

Best regards,

Stormbringer
We once had a passion
It all seemed so right
So young and so eager
No end in sight
But now we are prisoners
In our own hearts
Nothing seems real
It's all torn apart

Offline benny!

  • Senior Member
  • DBF Aficionado
  • ********
  • Posts: 4384
  • Karma: 228
  • in this place forever!
    • View Profile
    • bennyschuetz.com - mycroBlog
Re: Assumed level of learning..
« Reply #8 on: July 09, 2008 »
Totally agree here with Stormbringer. The motivation level is really
high - when you set yourself a goal (well, this goal has to be of
course achieveable.). Of course - in the end the final game/prog
may not turn out in that way that you actually thought - but while
experimentating it could turn out into something different but even
better program.

Especially in the beginning, when you do not know how every line of
code turn out - this is very interesting and experimental and pure fun.


@Stormbringer:
The way you teach children programming sounds really like fun to me.
Cool!
[ mycroBLOG - POUET :: whatever keeps us longing - for another breath of air - is getting rare ]

Challenge Trophies Won:

gooner

  • Guest
Re: Assumed level of learning..
« Reply #9 on: July 09, 2008 »
@Benny
@Stormbringer
@Rainstorm
 
Cracking advice from all three  of you thank you for taking the time to reply.
My motivation for doing this is really high and i am deteremined to see it through
whatever frustrations i encounter along the way. My initilal goal is to be able to produce
something in any future challenge on this forum.Also by seeking your advice i have a
reason to reach my goals as to simply give up would be a complete waste of everybodies time.Cheers for  now Gooner
 :)
« Last Edit: July 09, 2008 by gooner »

Offline Shockwave

  • good/evil
  • Founder Member
  • DBF Aficionado
  • ********
  • Posts: 17409
  • Karma: 498
  • evil/good
    • View Profile
    • My Homepage
Re: Assumed level of learning..
« Reply #10 on: July 09, 2008 »
The only advice I can give you is not to start with a high-level language. I do not know much about FB (although I can understand the code posted on this forum) but try to stick to the low level first. Usually high-level languages show you lots of cool tricks and make you think that it's all going to be nice and easy.

I used to teach programming for kids during summer camps. The way we (I was not the only teacher) did it was to give a 2 weeks challenge to absolute beginners: write a Tron game and the best game among all the participants at the summer camp would be rewarded with a prize. Since they were all kids between 8 and 12 years old, the prize would be like a game, a joystick and that kind of stuff.

You taught kids with no coding experience to use low level languages?

Crumbs!

That's sink or swim! It must have worked for you though otherwise youwouldnt have done it..

My advice is to use high level languages first, it helps to explain things like the fetch, execute cycle later on. The learning curve is very very steep otherwise, even if what Stormbringer has said has validity.

Anyway, there's too much jargon in this topic already imho.

The idea is so that anybody, even if they have no coding experience can post a question about any aspect of programing and get a reasonable answer.  :)

You see, I bet Wayne doesn't know the difference between low level and high level languages, this is precisely my point, we take a lot of things for granted and in doing so are perhaps putting off would-be programmers.
Shockwave ^ Codigos
Challenge Trophies Won:

Offline stormbringer

  • Time moves by fast, no second chance
  • Amiga 1200
  • ****
  • Posts: 453
  • Karma: 73
    • View Profile
    • www.retro-remakes.net
Re: Assumed level of learning..
« Reply #11 on: July 09, 2008 »
Hehe, I did not mean assembler. But rather C or TurboPascal (which is the one we used for the summer camp). But I had in mind things like C++/C#/.NET/Java/etc.

These languages hide too much IMHO. An absolute beginner should try to understand the low level stuff. And seriously learning assembler is not that hard, maybe even easier if you think twice. Of course you have to put some limits to what I say here, but the concept of a loop is much simpler to explain/show in assembler rather than in C. The syntax in assembler (BTW, assembler is not considered as a programming language!)  is quite strict compared to laguages of higher level and the possibilites to miunderstand concepts is reduced.

I'd better stop here and lt gooner learn some stuff ;)
We once had a passion
It all seemed so right
So young and so eager
No end in sight
But now we are prisoners
In our own hearts
Nothing seems real
It's all torn apart