   Are some people not meant to be programmers?
  I''m at Full Sail currently and I''m tutoring a student in C++. The student is a 35 man returning to education after many succesful years in the financing business. He has been failling his quizes and he is having an extremly hard time grasping the basics of the language. For the last four days we''ve been doing long coding sessions(from 2-8 housr) and he still can not grasp the idea of declaring variables to functions.I''m worried that either a) I''m not a good teacher or b) he is going to fail the class when he has been putting so much effort into it. It would be really a shame that someone who puts so much hard work and dedication would fail a class. 
  I believe that some people just don''t have what it takes.  It''s like math...Some people can do it, som can''t.  Doesn''t mean that a person is dumb...It just means that it''s not their thing. ;  I dunno though, i mean I read a lot of programming stuff for like 6 months, and i still couldn''t get code that really flowed.  It was only after having not programmed for a long time, that it just clicked, and I was coding like I had never coded before.I dunno if that would work the same way with concepts though.  Maybe you just need to take him through the concepts a bit without code to make sure he gets it, then go with the code...   _________________________________________"The fairest thing we can experience is the mysterious. It is the fundamental emotion which stands at the cradle of true art and true science."-Albert Einstein ;  I couldn''t imagine going into a class with no prior programming experience at all   and trying to learn c++ in a semester.  Even introductory c++.  That guy should have done his homework before   he enrolled at fullsail.Your right, some people just aren''t meant to be programmers.  Thats why alot of companies give programming proficiency test when hiring; even if you have a BS degree in comp sci doesn''t mean you have a clue about programming. ;quote:Original post by sagwagon  ...trying to learn c++ in a semester.  Even introductory c++...  It''s not a semester, its 2 months. And it''s not all that introductory. The course covers everything from basic declaring varibles up through linked lists and multiple inheritance.;  I hate it when people say that "some people have it and some people dont", especially when it comes to math.  Take my friend for example...He just had terrible, terrible math teachers and classes that coddled him, and while he got A''s in math in high school, he really didnt KNOW math.  So, at one point, he got dedicated...he retaught himself math from the ground up, and realized that he had missed so many core concepts and THAT was messing him up, not that he was "just not good at math".  The point that I''m trying to make is that when someone doesnt learn one of the basics fully, it becomes harder to move on (it also becomes cyclic--you dont learn the first thing correctly so you dont learn the second thing fully because you hadnt yet grasped the first thing, and so on).Maybe he''s just missing some key points and needs to review them, or truly understand how C++ is working. ;  It may just be that he''s missing some of the fundamentals, or that he doesn''t respond to your method of teaching.That said, the most important part of computer programming *is* a logical thought process. If he can''t get his mind into that way of thinking, he''ll always find it difficult. ;quote:Original post by superpig  It may just be that he''s missing some of the fundamentals, or that he doesn''t respond to your method of teaching.That said, the most important part of computer programming *is* a logical thought process. If he can''t get his mind into that way of thinking, he''ll always find it difficult.   I have no background in teaching, so it may be that he is not responding to my method of teaching. How do I teach him to get his mind to think logically. I really can''t understand either what core concepts he is missing because he has learned only a few things so far. Output, variables, and functions. What is he missing?I really don''t want to see him fail, not after all the work he has been doing to it.;quote:Original post by ph33r  I have no background in teaching, so it may be that he is not responding to my method of teaching. How do I teach him to get his mind to think logically. I really can''t understand either what core concepts he is missing because he has learned only a few things so far. Output, variables, and functions. What is he missing?I really don''t want to see him fail, not after all the work he has been doing to it.From what you say it sounds like he''s motivated, which is a good thing.To my mind, the logical thinking in programming is largely about breaking concepts down into smaller ones. (Well, most of the teaching process is about that, but no matter).Eventually, you''ll want to be able to set him an excercise like ''design a random number game,'' and have him break the program down into component blocks - using flowcharts, data tables, and pseudocode. Perhaps even UML, if he''s after a software engineering bent. (UML may be a little too complex for basic excercises like this though).Before that, he''ll need to know about the basics of the computer - the fact that there''s a CPU and memory at the very least. Don''t even think about going into detail on CPU caches and registers and the like; just explain that memory can store things, and the CPU can process instructions that work with the things stored in that memory.After that, concepts of things like ''variables'' (little bits of memory that you''ve partitioned off and assigned a name to), ''statements'' (individual instructions for the CPU), or ''functions'' (a series of instructions for the CPU, grouped together and given a collective name) can be defined in terms of what he already knows. That''s what you should be striving towards: defining complex ideas in terms of simpler ones.Beware, also, of taking a language-centric approach. I wouldn''t worry about things like functional languages; but just bear in mind that teaching things like ''a function looks like this'' may well cause him problems if he uses a different language. For example, the syntax for declaring a function is different between C and PHP, or Visual Basic.I notice that you seem to have started with teaching him output; while that might be helpful for demonstrating concepts later on, it was probably the wrong thing to start with. Once he understands functions, you can tell him that "there are ready-made ''libraries'' of functions available, that do common tasks for us - from functions that calculate the square root of a number, to functions that output data to the screen. ;  try telling him to learn on his own, meaning go home and review the materialwhy I say this is because I suck at learning from others (unless its simple: do this, do that), but Im very good at learning on my own and I understand better toowhat I use my school for is for direction (guidance) and drive (dont think  I can get myself to do any of the school assignments, unless I have a reason (like marks) for them) 