teaching

Teaching base 2 notation to children

This isn't exactly a programming question but it is related. I had read a fascinating article a while ago about a teacher who explained how he taught base 2 notation to first grade children, without even "teaching" them anything but making them discover both the problem and the solutions by asking relevant questions. I can't find this ...

Explaining SVN to non-programmers

I work with a number of new tech support folks. Sometimes, they like to fix small issues which may not be a high priority for our developers. This requires teaching SVN basics to non-programmers, which I've found can get a little tricky. What resources have you found useful? Are there diagrams you typically utilize to teach SVN? ...

How to keep a programming course interesting?

I guess, the following is a standard problem on every school or university: It is Your job to teach programming. Unfortunately, some of the students are semi-professionals and have years of experience while others do not even know the basic concepts, e.g. the concept "typed variable". As far as I know, this leads to one of the followin...

ASP.NET MVC - How to explain it?

I am trying to teach ASP.NET MVC to students (undergrads) that have been studying ASP.NET for the last 8 weeks (I know that doesn't sound like much time, but the class is 4 hours per day, 5 days per week with Labs, Quizzes, Exams, and Wrestles). I haven't gotten the question yet...but I know it is coming... When would I use MVC instead...

How do you explain OO to new programmers?

My relative is studying programming and has a hard time understanding classes. He has trouble understanding for example that you need to instantiate it, that methods cannot access variables in other methods and if you change a variable in one instance of a class it doesn't change for other instances. I've tried to use analogies like a c...

Is programming for the elite or can everybody learn to program

I've read people arguing that some people just can't learn to program and among those who can program some are ten times better than others. However I wonder if the negative image of programmers as well as programmer's poor communication skills prevents people from entering the field or advancing in it. A programming language is just a...

Teaching systems analysis and design - how much programming experience is needed?

I teach a one semester University course in systems analysis and design. Topics include design patterns, UML, OOP, software development lifecycles, and the history, benefits and drawbacks of various methodologies (such as Agile/SCRUM/BDUF/Waterfall.) Students who enter the course should have some exposure to programming, but in reality ...

Advice for teaching programming to my little girl

My little girl wants to learn programming but she is still a little young. What would be the best approach to teaching programming to a 7 year old that still lacks a lot basic skills? ...

How to teach programming to power users?

I will be hosting a 1 hour session at work aimed at teaching some of our better folks programming. These people are pretty proficient at computers and some are good at SQL. But none of them could create a desktop app or a basic website. The aim of the class is to get them interested in programming. One of the things I want to do is...

Explaining to my boss what can and can't be done with a computer...

My boss and his boss have both been coming to me regularly over the past few weeks with feature suggestions. The majority of these are very impractical, and I tell them (politely) that they are possible but there's little or no ROI. Stupidly, yesterday, I suggested a meeting where I explain to them briefly how computers and programming l...

Best languages to teach a blind adult the basics of programming?

I have a friend who is blind and wants to learn how to program. I’m also blind but I taught my self how to program on an old computer with a version of gwbasic and an audio book written in 1980 which is no longer available so the way I learned is not an option. I’ve looked at similar questions but I have some unique requirements: I’ve ...

Is there a self contained Ruby (and Rails) solution that can be run from a flash drive?

In the near future, I may be teaching a Ruby programming class to undergraduates at an art college. It's a safe assumption that the students have little to no experience with programming. The class will be taught in a computer lab, but they don't have any administrative rights on the lab computers. Ideally, I'd like the students to be ...

Most important non-technical skill you've acquired

What's the most important non-technical skill you've acquired that you feel makes you a better developer? I want to improve my skills, but I get the feeling that my time might be better spent somewhere besides learning the newest acronym of the day. For example, has your development skill been best improved by: Improving time managemen...

How do you help people learn logic?

People who are not IT, more specifically programmers, do not have a good way of solving problems. They simply do not think like us, programmers, who have a good logic. I have been asked too many times what I would recommend them to improve their logic which would eventually help with day-to-day professional problems. Things that come up ...

How do you give a junior developer a shot on a big project with tight deadlines?

I'm looking for advice on how to give a junior developer a chance to gain experience on a big project with tight deadlines without hurting the timeline. If we all know it will take a little longer with the developer because of less experience, then what is the best way to give them a portion of the project and spread the risk? Giving the...

What is the best language for an introductory CS class?

DUPE: http://stackoverflow.com/questions/4769/what-is-the-easiest-language-to-start-with What do you think is the best language to teach college students in an introductory computer science? ...

Good examples for teaching database design

Does anyone have any good scenarios for teaching relational databases and SQL? All the examples I can find are either trivial or have improbable domain constraints (like full name being unique). I'm especially trying to find some good examples for normalisation: tables that don't immediately fit 3NF and BCNF. At the moment I'm using a...

What is a programmer?

My son recently asked me "What is a programmer?" when I told him what I do at work all day. While I satisfied him with my simple answer, I started to think about it somewhat more explicitly - what does it mean to program? What is programming to you? How would you answer a young child? ...

Is Alice a good way to teach programming?

"Alice is an innovative 3D programming environment that makes it easy to create an animation for telling a story, playing an interactive game, or a video to share on the web ..." Is it addictive enough to have a good chance that a pupil will remain interested. Is it motivating enough to start learning "normal" programming. ... or is ...

How would you explain your job to a 5-year old?

Sometimes it's difficult to define programming to people. Especially too old or too young people can not understand what I do to earn money. They think that I repair computers, or they want to think that I (as an engineer) build computers at work. :) It's really hard to tell people that you produce something they can't touch. Here is a ...