Q:

Should I teach modern web development in an introductory programming course? How?

I'm currently teaching a introductory programming class in a technological university course (FYI, this is a type of university course that is not a BS).
The recommended language to use for this class is C and I'm following this guideline, but I know that most of the students will work as web developers at the end of the course (some of them already works as client support in IT companies), so I want to introduce them to some modern web concepts, but I don't know how.
They will have other classes during the course on other important subjects for web development (like computer networks and software engineering), but won't have any class that teaches modern programming languages for web, like Javascript.
Is this introductory programming class a good point to introduce some modern web development concepts (maybe with some Javascript snippets together with the C examples for comparison), or would this approach confuse them more than help them?

A:

If you want to teach students programming concepts along with web-development (HTML/CSS/JS) you should consider lacing programming examples or lessons with examples of HTML/CSS/JS or similar concepts in both. You could also have HTML/CSS/JS as an extra credit assignment or something the class can do if they're ahead of schedule. This will keep the class motivated to learn HTML/CSS/JS, which you probably shouldn't grade as it's an extra addition to the curriculum. This will teach the class the necessary topics along with them not being bored out of their mind, studying for programming AND web development.

A:

I think it depends on what the goals for the course are.  You are teaching an intro programming course, so what are the students expected to know when they finish?  Data types and structures, loops, functions, syntax, etc?
If so you don't need to teach web development skills as part of this since arguably HTML, CSS, etc. are not really "programming" in the computer science sense.  Also the technologies and languages available in web development are lightweight and limited compared to back end technologies and so using them to teach programming concepts is like teaching someone to cook using prepared food.  It has been said that "Java is to JavaScript as ham is to hamster".
However, basic text-only coding can be boring and may not be very accessible to many people.  The advantage of front-end technologies is that they are literally visible and people can see the results of their programming efforts as something besides text in an editor.  Also if the goal is to provide people with the shortest path to a possible job, it is probably far easier to teach them the basics of web development than it is to teach them true software engineering and computer science concepts.  Which isn't to say that these concepts are always needed on a job.

A:

Teaching web programming would be self defeating to the topic. On the other had using examples of parsing “CSS” files or “HTML” files would aid them in learning web development, while maintaining the intended goal of the course. Personally I hate web development as a matter of personal taste. I wish my school offered a “C” programming class.
It is truly nice to see that there are teachers trying to find ways to tailor their courses to what the students are interested in. Keep up the good work.

