Teaching new skills, programming languages, frameworks, ways to get in the zone, remembering, and generally improving other's skills. Closely related to learning.

learn more… | top users | synonyms

255
votes
33answers
16k views

How can I deal with the cargo-cult programming attitude?

I have some computer science students in a compulsory introductory programming course who see a programming language as a set of magic spells, which must be cast in order to achieve some effect ...
96
votes
11answers
59k views

How can I teach a bright person, with no programming experience, how to program? [closed]

I have been asked to take a person in our IT department who has no programming experience but is a smart and capable person and help him move into programming at lets say an entry level developer ...
61
votes
32answers
10k views

What's a nice explanation for pointers? [closed]

In your own studies (on your own, or for a class) did you have an "ah ha" moment when you finally, really understood pointers? Do you have an explanation you use for beginner programmers that seems ...
52
votes
10answers
2k views

How to correct a junior, but encourage him to think for himself? [closed]

I am the lead of a small team where everyone has less than a year of software development experience. I wouldn't by any means call myself a software guru, but I have learned a few things in the few ...
45
votes
18answers
4k views

Recursion without factorial, Fibonacci numbers etc

Almost every article I can find about recursion includes the examples of factorial or Fibonacci Numbers, which are: Math Useless in real life Are there some interesting non-math code examples to ...
44
votes
13answers
10k views

How to find a programming mentor? [closed]

I decided to learn programming. I've been reading SO for few days, and I think I will start with C++, as I read some articles. I am aware of loops, arrays, program logic and objects a little and I ...
41
votes
18answers
20k views

In plain English, what is recursion?

The idea of recursion is not very common in real world. So, it seems a bit confusing to the novice programmers. Though, I guess, they become used to the concept gradually. So, what can be a nice ...
41
votes
9answers
4k views

What is the most orthogonal programming language?

I find myself repeatedly annoyed by having to teach freshmen about special language rules (like array-to-pointer decay) that have absolutely nothing to do with programming in itself. So I wondered: ...
37
votes
13answers
2k views

How do I teach to my brother how to program? [closed]

My brother is 12, and he's asked me several times to teach him how to program. I'm confident that I'm not a terrible programmer, but I don't see myself as an effective teacher. I taught myself most of ...
33
votes
17answers
6k views

Teaching C++ to first time high school students: Where to draw the line?

I will be mentoring a team of high school students for the FIRST Robotics Competition, most teams here develop[ their robot software using C++. For many of the students on the team this will be their ...
31
votes
12answers
634 views

Being a good mentor [closed]

If you had a student or junior developer who was competent but just had no real world experience how do you think it would be best to mentor them or what information could you give them that would ...
28
votes
13answers
3k views

Tutoring students who are struggling with the basics in C++

I am tutoring a few students who are having significant trouble learning the basics of their first programming language: C++. I have known many excellent and bright students who have failed or dropped ...
27
votes
16answers
5k views

How do I explain a “Hello World” program for beginners? [closed]

I am going to give some beginners a presentation about writing first program in Java. This program will be about printing "hello world". I'm not sure how can I explain the concepts such as main method ...
25
votes
14answers
2k views

What shall I include in a 10 week web technologies course? [closed]

In September I will be teaching a university module on web technologies. This session will be available to 1st year (freshman) students who don't necessarily have any programming knowledge or know ...
23
votes
17answers
6k views

Is “Computer Science != Software Engineering” an excuse to teach programming poorly?

We've all heard it; whenever there's a discussion about CS grads having poor development skills someone eventually says, Computer science isn't software engineering. The problem that I see is ...
23
votes
17answers
4k views

What are some good assignments for an introductory course, to reach today's students? [closed]

I periodically teach an introduction to programming course using Java. I want to give my students some exciting assignments that they can relate to or find interesting. At the very least, I want ...
22
votes
27answers
4k views

What language should an 11-year old start with to learn game programming? [closed]

I have a 11-year old son who wants to do game programming. I've started him on C++ (C++11) and he's learned iostreams, looping, functions, logic and flow control. I'm using the standard library and ...
21
votes
7answers
1k views

How do I know if I have a good programming professor? [closed]

Today I begun my second programming course. The professor seemed a bit different from the others - we had some fun saying things like "he's probably a misunderstood genius". He criticized some other ...
19
votes
10answers
4k views

How to emphasize the differences between Software Engineering, Computer Engineering and Computer Science to high schoolers? [duplicate]

Possible Duplicate: 30 minutes to explain programming to a 15 year old As a professional software engineer I have been asked to speak at a local high school junior class career day. As is ...
19
votes
12answers
2k views

How to teach Exception Handling for New Programmers?

How do you go about teaching Exception Handling to Programmers. All other things are taught easily - Data Structures, ASP.NET, WinForms, WPF, WCF - you name it, everything can be taught easily. With ...
19
votes
7answers
894 views

Teaching version control (git, mercurial) to undergraduates? [closed]

I'm teaching a scientific programming course to undergraduates, targeted at freshmen/sophomores who are seeing the command line for the first time but are likely to need version control in future ...
19
votes
4answers
3k views

Is Haskell good at teaching fundamentals of mathematics?

I'm involved in teaching mathematics to classes with requirements such as AS and A level Mathematics specification. Class books normally provide examples of computer software applied to mathematics ...
18
votes
14answers
3k views

University teaches DOS-style C++, how to deal with it [closed]

I had been programming for many years but wanted a diploma to make myself more employable. Having already been through university once, I didn't choose a full 5 year computer science major but a ...
18
votes
9answers
3k views

What are some games involving recursion? [closed]

I need to introduce a group of 5-15 people to recursion and I would like to do so by using a physical game/dance/activity they can play to get a feeling for recursion. The class is not so much focused ...
17
votes
4answers
742 views

How should I go about fixing code from a less-experienced programmer?

A little background: I am one of two programmers for our department of 10 people (the rest are artists and management). The two of us do all of the coding required to make things flow well, and ...
17
votes
3answers
2k views

How can I teach my co-workers the SOLID principles?

I've got a group of very talented, yet new, developers on my team. I've fully embraced the SOLID principles in the projects I'm working on, and my fellow developers have seen the wisdom of the ways - ...
17
votes
10answers
3k views

12 year old son interested in Android programming [closed]

So, my 12 year old son is interested in programming for Android. He's never done a real program before, but he did play briefly with Alice. I'm trying to figure out what the best way to introduce him ...
16
votes
9answers
2k views

Teaching kids to program - how to teach syntax? [closed]

I've been spending this week teaching kids (11-18) to program. Teaching them the core concepts and the logic has been going fine, but I've noticed one snagging point for them all: syntax. I feel like ...
16
votes
8answers
1k views

Who can learn to program?

I always hesitate when talking to professors about trying to improve the percentage of people who graduate with a CS type degree compared to the number that start out thinking that is what they want. ...
15
votes
14answers
2k views

Explaining interfaces to beginning programmers?

I've had discussions with other programmers on interfaces (C#). I tried to use the analogy of interfaces being like a contract between programmers. Meaning that when you design to an interface, you ...
15
votes
11answers
918 views

What language and topics should be covered when teaching non-CS college students how to program?

I have been asked by many of my non-computer science friends to teach them how to program. I have agreed to hold a seminar for them that will last for approximately 1 to 2 hours. My thoughts are to ...
15
votes
8answers
4k views

Teaching logical/analytical thinking

I have been trial running a club in which I teach programming for the past year and while they have progressed what they really lack is the most fundamental concept to programming, analytical ...
15
votes
7answers
955 views

How can Scrum be adapted to an academic environment?

I'm currently working with a professor at my university to develop new curricula for the Software Engineering and Capstone Design courses offered in my college. Up until recently, both courses used ...
14
votes
9answers
5k views

How do I explain “Recursion” to a 8 years old kid? [duplicate]

Possible Duplicate: In plain English, what is recursion? What is the best way to explain "Recursion" to 8 years old kid? I tried with the Fibonacci Series but i failed.
14
votes
11answers
9k views

Why is Python recommended as an entry level programming language?

I've read here on P.SE more questions in which beginner programmers are advised to pick Python as their first programming language. Don't get me wrong, I like Python. I like it a lot! But its ...
14
votes
6answers
2k views

Should I teach my students alloca? [closed]

How widely used is alloca in the real world? Should I teach my students to use alloca when it makes sense? Or should I teach them never to use it? Coming from a C++ RAII background, the idea of not ...
14
votes
5answers
2k views

How would you teach C# delegate to a newbie? [closed]

I was reviewing Andrew Troelsen book on C# 4.0. The part that explains delegates starts as smooth as: public class SimpleMath { //declare delegate public delegate int BinaryOp(int x, int y); ...
14
votes
8answers
869 views

What are good dynamics that can improve learning in a web programming course?

At my company we are starting a course for free that will cover 4 modules (HTML / CSS and W3C Standards, Javascript and jQuery, PHP, MySQL) during 7 months. The main goal is to be able to train new ...
13
votes
12answers
2k views

Is it better to teach conditional loops or iterative loops first?

I've seen tutorials and textbooks that teach conditional loops (while) first and I've seen others that teach iterative (for) loops first. Have there been any studies done as to which produces better ...
13
votes
10answers
2k views

What is a good toy example to teach version control? [closed]

I am looking for practical examples to use when teaching version control. Breaking down the material to basic concepts and providing examples is an obvious way to teach version control, but this can ...
13
votes
9answers
520 views

How can I bootstrap a software development community at my school?

I'm a student at the University of South Florida who's frustrated with the educational environment in the Computer Science program. Right now, I'm taking "Program Design." I should be learning how to ...
13
votes
2answers
784 views

Starting to be a team leader [closed]

After half a year working for the company, I got two students to be leader for. So, I got some technical management responsibility. As I think, I should be not just a leader, but a teacher and the one ...
13
votes
3answers
1k views

Should Software Engineering and Computer Science be separate majors?

For decades, the accepted degree to get to become a software developer was "Compter Science." We've had a few questions already about whether that degree really prepares students to develop software. ...
12
votes
14answers
3k views

How to teach programming a person who completed CS studies but for 5 years was working in other profession?

I have a colleague who want to go back to programming after 5 years of doing something else. Five year ago he was working with C++ / linux, delphi, and a lot with mSQL . He asked me to help him to go ...
12
votes
2answers
1k views

Which programming language first introduced 'Hello World'

Which programming language first introduced 'Hello World' as a first program to code for beginners?
12
votes
4answers
230 views

Should I be helping and explaining?

This is more of a philosophical question, I suppose, but it seems quite well suited to here, to me. I'm a 20-year-old, second year software engineering student, with a good history in development, ...
11
votes
10answers
3k views

How do I explain to non-programers what .NET is? [closed]

I don't work at a software company, and I'm one of a small handful of people in the company that know anything about programming. I spend a lot of time automating other programs that are used in the ...
11
votes
11answers
1k views

What are some techniques to teach programmers design patterns? [closed]

I'm in a position where my developers are asking to learn design patterns. So far we have done a book club reading Heads First Design Patterns. During this we worked through examples and talked about ...
11
votes
4answers
449 views

Didactic approaches to teach versioning with Git [closed]

I have already taught versioning with Git, but I think it could be more enjoyable for the guys I teach if I use another approach to teach them. The guys I mentioned before were used to working with ...
11
votes
8answers
484 views

How to organize a programming course? [closed]

I've been given the task to train our manual testers to become developers in test (write test automation!). Some have basic programming knowledge (either dabbling in PHP or reading stuff) and some ...