The world is full of computing technologies that have been put to productive use but may be unpopular or unfashionable with students today due to their complexity, their lack of support, limited takeup within industry, or simply because they are perceived to be "old" or "out of date".

In many cases, it isn't an option to simply stop supplying educational materials that cover these topics due to the critical nature of the technology. In the case of COBOL, for example, it is often claimed that there are over 250 billion lines of the stuff out there and that the world needs engineers to maintain it. Such arguments seem to encourage engineers to be to adopt the technology for altruistic reasons - but does that approach really work?

In summary, what methods do educators use to engage students when teaching unpopular, yet important, computer science technologies?

  • $\begingroup$ The things you mention aren't comparable. Complexity isn't like obsolescence. Why should anyone prepare students for a 20th century career? $\endgroup$
    – Buffy
    Commented Sep 26, 2018 at 11:14
  • $\begingroup$ What sort of students do you teach? High school? College? Adults transitioning careers? My answer would be a little different depending on your target audience. $\endgroup$
    – Ben I.
    Commented Sep 26, 2018 at 18:15
  • $\begingroup$ Hi @BenI., I work on mainframe technologies and develop educational and training content for this community. $\endgroup$ Commented Sep 27, 2018 at 1:16
  • $\begingroup$ Educate you students, then if the fees are high enough, they will train them selves to use Cobol. While I agree that teaching language of the day, is not a good strategy, I also think that teaching an old language, because we thing there is a market for these programmers is equally miss-guided. Teach using a good teaching language, don't consider industry languages, until the students can program well (they need to learn at least two languages anyway). $\endgroup$ Commented Sep 29, 2018 at 17:21
  • $\begingroup$ Frame challenge: "the world needs engineers to maintain it" isn't an appeal to altruism but to ambition. The subtext is "study this and you'll be guaranteed a stable job". $\endgroup$ Commented Oct 3, 2018 at 14:30

2 Answers 2


There two important facts here:

  1. Complexity is in every programming language
  2. Popularity is due to a marketing monster talking on every opportunity (for example on the Youtube adds about what is trending and what not)

For the first point.

We need to translate programming teaching about new fields; for example in many cases teachers spend a lot of time talking about theory, origins and giving more importance to math exercises

For the second one We need to know more about other technologies, for example if an student asks to me, hey teacher why I do need to learn Java, existing Python or Ruby?

Things yo shouldn't do it

  1. dear student Java is ugly but neccesary to get a job

Things you probably should do it

  1. Java is a complex language
  2. Java around the world is the key to get a job in a easy way
  3. (Showing proves) Java has the most high salaries
  4. I f you get fluent in Java is very secure you can move yourself to many other languages

Many times the key factor is "What I can do if I learn this technology"?

And the answer for this question is not easy for many IT Teachers, for example I know a lot of them whose only make simple math exercises about calculate pows, substracts and stuff like those.

As technology moves, Teacher needs to do in the same way; for example:


  1. We're going to learn Java, for building an app
  2. We.'re going to learn Java for building a chatbot using the Facebook API
  3. Maybe we're going to learn Java for building a Instagram clone
  4. We're going to use Java but combined with Angular for example for building an API

I mean programming languages are cool but is better what can we do if we understand them

At the end We as IT Teachers need to move, re learn and interpretate how this world is changing in every oportunnity


Fr this course I need to build an app with my students:

the good

  1. apps are very popular
  2. they are expecting discover something amazing
  3. I choose to use Angular 6

the bad

  1. They have not computer in many cases
  2. They don't know how to use simple tasks: email, word .....

I choose Angular for building an PWA, is a good alternative, I will show them differences and similarities


  1. They will discover with me how to program
  2. in spite of not use Java, We're going to understand how to build a product
  3. Students will be free to choose the content of this PWA
  4. PWA is part of some requisites for web development jobs

So I will be give them another option, itself they can change after if they have the ooportunity to learn Java or any other thing


The only way is to make the unpopular popular! Give your students the right motivation to learn things - but be careful about "important" legacy technology.

When you are teaching, focus on the core concepts - those are similar for many languages or topics. COBOL might be outdated, the concepts behind are not. When the students understand the concepts of imperative, procedural languages, it will take them a week to learn COBOL when needed - but I would never ever teach it!

For other unpopular things like standards etc.: Focus on the most important topics and throw the students into real world problems so they understand why they are needed. Most or our students hate QU topics, but when they are returning from their internships at larger companies, they understood that those topics are crucial.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.