I would like to design or develop program or game to teach non CS-major(engineering students) programming languages.My question is which one will be effective games or designing program? If so any suggestions or programs/games examples will be help!

Thanks in advance.

  • 1
    $\begingroup$ This question is missing too many details to answer well. What do you mean by "games"? What are you actually trying to teach them? Is there a language or a set of concepts that you have in mind? Are you at the program design stage, or are you running a single course? How much time do you expect you will have with the students, and what is their background? $\endgroup$
    – Ben I.
    Sep 16, 2019 at 12:13
  • $\begingroup$ I am trying to teach programming to them by regular program or by game. I did not choose program yet. yes,I will gave it as a single course.For the time maybe 4 month.thanks $\endgroup$
    – Jared
    Sep 17, 2019 at 1:33
  • $\begingroup$ "Teach by game" meaning, have the kids compete with each other across the semester for points? Or have them code games (something like Unity)? Or have them play a game like Human Resource Machine? $\endgroup$
    – Ben I.
    Sep 17, 2019 at 12:34
  • $\begingroup$ Hi Jared- you might find the guidance on how to ask a question useful in constructing a question that is more informative? It would help to know what non-CS area the course is targeted at- perhaps there is a field that could be identified where coding would add some value? How many hours/week? Think about an objective for the class. Will there be college credits, or is this more "for fun"? Thanks. stackoverflow.com/help/how-to-ask $\endgroup$
    – srattigan
    Sep 17, 2019 at 22:30
  • $\begingroup$ @srattigan I don't need this link thanks $\endgroup$
    – Jared
    Sep 18, 2019 at 5:16

2 Answers 2


You should start out by figuring why these students are learning CS.

  • Is it because they're interested in game development?
  • Are they doing it for career advancement?
  • Is there extra credit involved? (Is this an independent study?)

In other words, what do these students hope to get out of your lesson? What do you hope they get out of it? Why are you both there? What are your motivations? What are the student's motivations?

Note that I'm not requesting that you tell us the answer to these questions. Instead, the answers to those questions should inform the way you teach your lessons.

For example, if your students are all interested in indie game development, then something like Game Maker would be a logical language choice. If they're interested in statistics analysis, Python or R would be logical. If they're interested in creative coding, then Processing or P5.js would make sense. There are many many approaches, languages, frameworks, and libraries to choose from. What you choose depends on the why of your context. There isn't one single "best" approach.

My question is which one will be effective games or designing program

Either one might be effective, depending on your goals.

If so any suggestions or programs/games examples will be help!

This has been discussed many times on this site, so I'd recommend starting with a search. Here are a few places to get started:


In general this would probably vary depending on the audience, both the age and the interests of the potential students. But since you say engineering students I will also assume young adults. This audience has some familiarity with mathematics and other technical subjects most likely. As such they aren't really all that different in background, only in interests, from computer science students.

My advice, then, for this group, would be to use any good introduction to programming intended for CS students. You could use any language, I think, but choose one that you are really familiar with. Engineering students will probably need to write programs over their careers, though most likely smaller ones rather than building commercial applications. I would think that modern C++ or Python would be good choices, depending on your own background. Either can be used by engineers in their own professional work.

In many such books, the exercises/problems will have a somewhat mathematical flavor, which should fit well with the existing skills of the students.

I don't see how building games would be useful unless you get really deep into how modern graphics and game engines are created. But that sort of thing is far beyond what you can do in an introductory course.

Note that I said modern C++. If you use that language, don't use a book that requires the student to work through the entire history of C++ from C onwards. Choose one that stresses the recent standards and makes use of modern libraries. For Python, make sure it is Python-3, not 2. Python-2 is about to become obsolete.


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.