Hi
In September, I will give my first lectures on C to students in engineering school (usually I teach math and signal processing, but I have also done a lot of practical work in C, without giving the lectures). Computer science is not their main topic (they are more studying electronics and signal processing), but they need to have a good background in programming (some of them will maybe become software developers)
This year will be their 2nd year of learning C (they are supposed to know what a pointer is and how to use it, but of course, this notion is not yet assimilated)
In addition to the classical stuff (data structures, classical algorithms, ...), I will probably focus some of my lectures on: - design the algorithm (and write it in pseudo-code) before coding it in C (think before coding) - make your code readable (comments, variable names, ...) and - pointers, pointers, pointers ! (what is it, how and when to use it, memory allocation, etc...)
According to your experience, what are the most important notions in C that your teachers never taught you ? On which particular point should I focus ?
For example, should I introduce them to some tools (lint
, ...) ?