I would like to start the first lesson with "Why learning programming languages will be useful to them". ... Comment:
Right now, I have only general guidelines for this course. ...
- Are programming languages is necessary for operations research practitioner?
I would say yes, learning computer programming (beyond the basics) is necessary for Operations Research, Artificial Intelligence, and personal development. I used to be fluent in several languages.
Which languages to learn leads to a whole series of other questions, here are a few:
F# vs Haskell vs Lisp - which language to learn? [closed]
Scala vs. Groovy vs. Clojure [closed]
Interpreting a benchmark in C, Clojure, Python, Ruby, Scala and others [closed]
Which language should I learn? [closed]
Mostly such broad questions are closed as opinion based, though I do believe that there's some expertise available on these subjects. Basically, one would pick something that's not too complicated and fairly popular; at the expense of missing out on the features of more powerful languages. This is why a seperate course is necessary, and a decade of experience (if you want the computer to be a tool that you can master).
- If programming languages are not necessary, then are they at least useful for operations research practitioner?
I would say learning programming is necessary, it's useful for other courses to briefly introduce it but the couple of years necessary can't be devoted to learning the basics, and that's why a minor in Computer Science consists of 6 subjects and 72 units.
Much as Operations Research is divided into multiple categories of study one couldn't combine proper learning of computer programming within another course. MIT has a free online course
called: "Introduction to Computer Science and Programming Using Python" (taught by Charter Oak State College) which takes 9 Weeks at 14–16 hours per week (a month, straight), and you can pay extra to get a verified Certificate.
Your "introduction" to computer programming would be best spent outlining the expected level of understanding one needs to complete your course and what people's options are at your school and elsewhere. Teaching Python in a month takes a month and likely isn't going to be helpful to everyone. Some people might learn that quickly, particularly with a lot of homework, but some certainly won't.
Here are the prerequisites:
"High school algebra and a reasonable aptitude for mathematics. Students without prior programming background will find there is a steep learning curve and may have to put in more than the estimated time effort.".
There is a webpage called "PythonForOperationsResearch" that lists some of the Python packages that someone interested in using that language in an Operations Research capacity might want to familiarize themselves with.
A search on GitHub returns 112 results for Python and the Operations Research tag.
See also our question: List of Implementations for common OR problems.
The webpage: "Optimization Modeling in Python: PuLP, Gurobi, and CPLEX" has this to say:
"I have been involved in the design, development, and implementation of operations research (OR) and optimization models such as Linear Programs (LP), Mixed Integer Linear Programs (MILP), and Quadratic Programs (QP) for more than a decade.
These days, however, many in industry want to plan and make optimal decisions regularly as a part of their hourly, daily, or weekly operations. Recent computational advances have provided the infrastructure for us to incorporate optimization models in analytic software solutions. This means that today’s OR practitioners need to design, model, and implement robust software engines that are based on LP/MILP models. They need to utilize a programming language such as C++, Java, C#, Python, etc. for that purpose.
A good and popular programming language recommended by many in the OR and Data Science communities is Python. It is easy, flexible, and powerful, and has great libraries for Machine Learning, Optimization, and Statistical Modeling.".
Perhaps the above provides some useful information about what you would discuss in your first lesson "Why learning programming languages will be useful to them". At the school I went to it was universally understood, by students and faculty (but not management), that pulling students out of their course and sending them for a three day crash course elsewhere on campus was not productive; but still a necessary part of the main course, to say such skills were included.