Episode #125 of the Stack Overflow podcast is here. We talk Tilde Club and mechanical keyboards. Listen now
65

There are a number of reasons why students don't learn, but few non medical ones why they can't. Leaving aside the medical reasons, such as hormonal imbalance or other disorders, I think that students who don't learn either have little desire to learn or have had poor teaching in the past. Even students with some learning disorders can learn given desire and ...


51

Maybe. It's hard to prove a negative. How does knowing that help educators in any way? If that knowledge helps somehow, how does that compare to all the ways that belief can be harmful? Giving up on students who "just won't get it" Not reflecting on how teaching can improve, since the ones who failed "just won't get it" Noticing "patterns" in the ...


25

As I indicated in the question, it has been my experience that there are certain kids who never seem to come along. My data is drawn from a rather small group (definitely under 1000 kids learning CS over the course of my career), and @Buffy's idea that these students are satisfying rather than optimizing may well be correct. However, I haven't seen ...


21

However, every year, I find a small number of students who just don't seem to get it. They get through, but the CS major program becomes harder and harder for them as their four years go by. Must it be this way? Think of it this way: An alien lands on Earth. He sees a human, who encounters another human. The first human flips the second one off. In ...


17

Consider the posibility that this could be a problem with Java. If your first language is APL, and many fail... is a reflect of the students or APL? Read also: http://lambda-the-ultimate.org/node/5481 Is Haskell the right language for teaching functional programming principles? No! (As Simon Thompson explains.) I have learn dozens of languages and ...


14

I firmly believe that, barring actual mental handicap, anyone can learn to program. However, this is purely a belief; a matter taken on faith. It is informed in part by some knowledge of psychology and the process of learning, but in these things I am at best an amateur. The available evidence, unfortunately, does not demonstrate that anyone can learn to ...


9

Actually, what you want to do is commendable. And no, at the scale of things you talk about, I don't think you are likely to get yourself confused. In fact, you may have the opportunity to learn different things in an integrated way. In some ways the educational system, which puts different topics in different boxes, isn't optimal and everyone needs some ...


9

The only way to learn a lot of things, maybe most things, is practice and feedback. In a standard course (not online), the professor assigns some work to do - homework, projects, .... The professor then gives you feedback on it - grades, but hopefully more. To learn on your own, you want to try to simulate this as much as you can. So, to learn something, ...


7

If you are tutoring her, it is wonderful that you are trying to motivate the material in a practical way, but don't beat yourself up too much if you aren't that successful at persuading her. Some people just get themselves into a sort of myopic headspace where the only things that they need to learn are the exact operations that they will perform later on in ...


6

Always try to explain it some other way. Try it in another language - there are reasons why BASIC and Visual Basic are used as 'beginner languages', although I would look for 'teaching languages' that entrain a better understanding and good coding habits. I would no more teach someone to program in Java than I would teach them to fly in an F-104. However, ...


6

This is all from my own personal experience, no research: I believe all students can learn to program, and can "get it", barring some mental handicap. But they have to have the desire, as many have stated - that's the kicker. And you, the educator, must have the patience to stick with them until they "get it". I have been a computer science educator for ...


5

Nature vs Nurture It seems that nature plays a large role: you can not teach a cat to code (even though they share approximately 90% of our DNA. However most of the variance between humans is probably nurture. See Carol Dwecks word on growth mindset, for who some learn and some don't. Note that we can have a growth mind set in some subjects, but a fixed ...


5

Formalization is important, I believe, at every step, concurrent with analogies, metaphors, and examples. Give them the formal definition. Use it frequently in teaching and in conversation. Make them write it on a study guide. Give them a question about it on a practice quiz. They will learn it in spite of themselves. One day their brains will go "aha",...


5

Moving from formal to informal is almost always a mistake. Let me see if I can show you why. When you consider how you think about sets within your own mind, I am reasonably certain that you rarely use the formal definition. Instead, you visualize or otherwise imagine something more akin to some abstract sort of bag, box, or group. The specifics of your ...


5

Have you tried a simple statistics formula such as $$mean = \left(\sum_{i=1}^{n} x_i\right) / n$$ This maps exactly to array notation. Explain that the array x refers to the entire set of values and that x[i] refers to a single element in the set. Then show a simple loop that performs the computation.


5

I had a student some time back who also really struggled with concepts like this, but who was interested in research in psychology which for her was largely about statistics. Statistical data is nothing but arrays, or perhaps tables, that is, 2-dimensional arrays. Statisticians conduct trials consisting of observations. An observation is a simultaneous ...


4

I have seen instructors call a wide range of documents "study guides". They have ranged from test "simulations" which are old tests with tweaked questions to a 1 page .txt print out with a bullet list of important topics to study. I have also seen instructors spend an entire lecture on just test review mail but not hand out any documents. In my ...


4

I do study guides because some students may need to list the information just once more to get it. What if they hadn't had that opportunity? They may have missed it. And, let's face it, do a lot of students, especially those at the high school level, have the self-discipline to go over the material once more unless they have a compelling reason? Even a ...


4

In many ways the best study guide is one that the students themselves write. This can be done incrementally throughout the course and is useful even in the absence of exams. There are two ways to go about it, and you can, perhaps do both. Each student should have a deck of index cards and they should carry a few around with them. They can take notes of ...


4

Goal-oriented action Part of this really depends on your goals in administering the exam. If your goal is the traditional idea of creating a nice bell-curve to rank students, having a study guide makes very little sense. You can separate the wheat from the chaff without providing any assistance to the students prior to the test. However, if you want to ...


4

You can follow below points according to your stage of learning. If you done with basic syntax of any programming language then try to solve logical problems from various platform like hackerrank, codechef and many more. Find out other techniques or methods to solve same problem in different ways. If you done with logical question then try for Object ...


3

First of all, kudos to you for wishing to enrich yourself! In addition to Buffy's fine answer, I might recommend an approach to self-studies that I once learned that ensures steady progress on multiple fronts. My understanding is that the technique itself is an old Jewish approach, used for hundreds of years by people becoming talmudic scholars. Put aside ...


3

I'll vote with your colleagues here. I don't know anything about you or your teaching experience, but if you are new at it you should realize that a common error made by new teachers is that their students are just about like themselves and learn just about the same way that they themselves do. In reality this is wildly false. Every student is unique and ...


3

Arrays are like dressers: they allow you to organize a collection of objects and store them in a single place. A dataset in stat should be seen as an array of results (numbers, vectors, etc.). The array object is provided with a nice array of methods for searching itself, inserting items, and and for item access.


3

Try to let her model a questionaire and aswers from different people. Ask her how she would organize the data on a sheet of paper. Let her do so for one questionaire filled in by one person question 1 (e.g. "your age") for all questionaires all questions for all questionaires This should result in two 1d-arrays (and bring up the topic of data types, lists ...


3

It shouldn't be so difficult to come to a point where she really wants to use arrays. Just ask her what she has done so far in the mathematics/physics part of her degree. I am 100% sure that there will be something for which she needed linear algebra to solve it. Decoupling of harmonic oscillators for example, or just any eigenvalue problem in quantum ...


3

One good way to improve is to try new projects. Think of a problem and try to create a solution for it. That forces you to look at new tools and techniques. Another thing I do is revisit old code about once a year. I go back to it to see if I can improve it with new things I've learned or to catch old miatakes. When I can improve the code with things I've ...


3

Understanding people better can enable you to more effectively teach them. Taken as axiomatic, this can be a helpful thought. It can also be a distraction. The value depends on how it's applied. When trying to understand "people", you can aim to understand people as a collective of unknown size, from unknown backgrounds, and unknown individualities; ...


2

I'd like to preface this by stating that I am not an educator, and thus have had no formal training, however I have had experience while working on my undergraduate in computer science helping people to code. Then after I graduated I helped my wife through an informatics degree in which she had to take programming classes, and I found the following article ...


2

(Sorry, too much for a comment) I've had a related experience back in college that I think is relevant. I was a lab assistant, the lab was sometimes used for a computer literacy for seniors class. I could see one fundamental sticking point for nearly a third of the attendees: They couldn't comprehend changing the meaning of a key. The machines were TRS-...


Only top voted, non community-wiki answers of a minimum length are eligible