0 Members and 2 Guests are viewing this topic.
Quote from: Quigibo on April 25, 2010, 12:13:47 amI think the hardest part of learning asm is the shift in paradigm. In my opinion, someone with very little programming background will be able to learn the language and understand it better initially than someone who has exclusively programmed in higher level languages their whole lives. I remember the concept of flags, registers, unsigned arithmetic, bit shifting, etc. seemed so foreign to me when I was first learning. You never cover that stuff in high level. In my head I kept trying to make my code look and feel like the languages I was used to so then it would all be simple and I could just naturally pick it up. But you can't do that, its impossible. You miss all the concepts that are absolutely essential to do all the low level tasks which is the whole point.You have to start with a very open mind. Your knowledge of how to ride a bike isn't going to help you much when you're trying to fly a helicopter. It took me about a whole summer to get the hang of it and it was almost a year before I could write a game with it.Can you explain that? Are you saying I should not talk to people with the idea of Ti-Basic, assuming that they know that language? Otherwise, what do you mean?
I think the hardest part of learning asm is the shift in paradigm. In my opinion, someone with very little programming background will be able to learn the language and understand it better initially than someone who has exclusively programmed in higher level languages their whole lives. I remember the concept of flags, registers, unsigned arithmetic, bit shifting, etc. seemed so foreign to me when I was first learning. You never cover that stuff in high level. In my head I kept trying to make my code look and feel like the languages I was used to so then it would all be simple and I could just naturally pick it up. But you can't do that, its impossible. You miss all the concepts that are absolutely essential to do all the low level tasks which is the whole point.You have to start with a very open mind. Your knowledge of how to ride a bike isn't going to help you much when you're trying to fly a helicopter. It took me about a whole summer to get the hang of it and it was almost a year before I could write a game with it.
Quote from: Hot_Dog on April 25, 2010, 12:20:36 amQuote from: Quigibo on April 25, 2010, 12:13:47 amI think the hardest part of learning asm is the shift in paradigm. In my opinion, someone with very little programming background will be able to learn the language and understand it better initially than someone who has exclusively programmed in higher level languages their whole lives. I remember the concept of flags, registers, unsigned arithmetic, bit shifting, etc. seemed so foreign to me when I was first learning. You never cover that stuff in high level. In my head I kept trying to make my code look and feel like the languages I was used to so then it would all be simple and I could just naturally pick it up. But you can't do that, its impossible. You miss all the concepts that are absolutely essential to do all the low level tasks which is the whole point.You have to start with a very open mind. Your knowledge of how to ride a bike isn't going to help you much when you're trying to fly a helicopter. It took me about a whole summer to get the hang of it and it was almost a year before I could write a game with it.Can you explain that? Are you saying I should not talk to people with the idea of Ti-Basic, assuming that they know that language? Otherwise, what do you mean?Yeah its just a general suggestion I'm making. It wasn't in response to the lesson you posted, I haven't read it yet, I was just giving my personal experience.
I'll give some feedback, if I'm allowed to The first lesson is a great introduction. Quick revision of binary, introduction to variables etc etc. The only thing that seemed a bit strange to me, was the introduction to sprites. IMO it's better to put that in the appropriate context. (graphics lessons)
I think every programmer at one time or another should write a call stack with frame pointer, a dynamic memory manager and some simple programs just to understand the costs of the operations you do all the time.
Maybe you could just state that 1 is 'current' and 0 is 'no current', then explain that there are no 'other' possibilities, and therefore, numbers must be composed of 0 and 1.Also, you could introduce hexadecimal as well, and add arithmetic exercises for both.
Describe what the 1 and 0 represent and that they can correspond to graphics, but you'll touch on that later. I would say you devote a lesson discussing hexadecimal, decimal, binary conversion and perhaps the reasoning behind why you would use such things.
I wish less teachers, tutorials or books say you require to learn something because you need to what is next. Knowing why are you learning something, can be important to really understand what you are learning and keep you motivated.
I would say you devote a lesson discussing hexadecimal, decimal, binary conversion and perhaps the reasoning behind why you would use such things.
Which gets me asking: why is knowing conversion important? I know how to convert from binary to decimal to hexadecimal, and yet I've rarely done it without a calculator.Also, assuming it is necessary, can it be done in a later lesson?