## User login## Navigation |
## Insights on teaching computer programmingI have been teaching programming for nearly ten years now, to university students from the first to the fourth year, to both CS majors and non-CS majors (all in technical fields). I have tried to distill results from programming language research into these courses (and wrote a book in the process, CTM). Recently, I had two insights: 1. The best year in which to teach a programming course based on programming concepts is the 2. Students can be taught programming semantics in the second year. This can succeed if: (1) the semantics requires very little mathematical baggage, just sets and functions, (2) the semantics is factored so it can be taught incrementally, and (3) the semantics is simple and uncluttered so that students can work out a program's execution with paper and pencil. The semantics of CTM is one example that fits these conditions. The students consider the semantics the hardest part of the course. I think it's because they've never been exposed to this kind of formalism, so they are a bit unsettled by it. But I am convinced that students in any technical field should be taught programming language semantics at least once in their careers. It should be as basic as algebra or calculus. What do you think? I would appreciate hearing your experience and comments. Here are the course notes of the latest version of my course (they are in French; there are English course notes too but they are not as nice for the second year). |
## Browse archives## Active forum topics |

## Recent comments

1 week 1 day ago

1 week 1 day ago

1 week 1 day ago

1 week 1 day ago

1 week 2 days ago

1 week 2 days ago

1 week 2 days ago

1 week 2 days ago

1 week 2 days ago

1 week 2 days ago