Question about the C++ course

I have a simple question for those who have finished the C++ courses.
Does mosh teach you anything but command line programs? And is there ever help for visuals or GUIs?

I have not finished the course (nor is the course actually complete yet since part 3 is not ready yet), but I suspect that no, he will not be covering any visual or GUI elements.

Here is a description of what is covered from the second part’s course page:

The first part covers the basics:

  • Fundamentals of programming
  • Data types
  • Decision making
  • Loops
  • Functions
  • Debugging C++ applications

This part covers intermediate-level concepts:

  • Arrays
  • Pointers
  • Strings
  • Structures
  • Enumerations
  • Streams

The third part covers advanced concepts:

  • Classes
  • Inheritance and polymorphism
  • Exceptions
  • Templates
  • Containers
  • and more…

Given the topics mentioned, it seems unlikely to me that there will be any material going over visual / GUI programming.

That being said, it is not like the stuff that is covered is not going to be useful for programming GUIs, etc. It is more that those things are not foundational aspects of the language. Any GUI framework or similar that is built on C++ is going to rely on familiarity with the rest of the language. Also, C++ is not generally used for frontends, it tends to be more of a backend language used by servers that are handling requests from frontends (or other backends).

What do you think I should do if I would like C++ for game creation?
Also, I’m still wondering if there is only console programs in the courses.

Video game creation has many aspects to it. There is a UI that users see and (in some sense) control. There is a translation of control signals from user input (possibly a keyboard or controller) that the game has to respond to. There is a logical part of games applying rules to the state of the world that the game is currently in. There is also a storytelling aspect. And if this game is connecting players across the internet, there is some state that needs to be maintained and shared via some backend. Video games are no small feat to achieve.

Since they are so complicated, I would not enter lightly on creating a game from scratch - I would almost certainly look for a game creation tools and frameworks that I could leverage. Fortunately, C++ is one of the most popular languages for writing game engines so you should be in good shape for using C++. You will probably have to do some research to find the best tools for various aspects of the game (like state management, UI, etc). I cannot help you there, but I am sure it is not hard to find a wealth of information about this online.

The reason that coursework like this almost always only uses console programs is because they require nothing else besides a terminal and the language itself (maybe a compiler) to run. This makes it much easier for the courses to focus on actually using the language rather than details about figuring out how to make the UI work or look the way you want it to look. It would be pretty overwhelming trying to learn how to write Android code while learning Java at the same time. The language and the framework are both enough to learn on their own without mixing up with each other. So for pedagogical reasons, it makes much more sense to simplify.

Also, to a certain extent, the console is a UI. It is the simplest UI possible. If our programs just ran without displaying anything to the console, how would we know that they worked? The console part of this is just for proving that the code works. Real world applications have more specific requirements and tend to use frameworks for displaying their results. I do not recall the last time I was really using standard output on the console for anything other than debugging.

Thanks and sorry for bothering.

No bother at all - I hope my answers do not stunt your curiosity. I am glad to see people interested in these things.

Does anyone know if there will be a “Mastering The C++ STL” course, which is mentioned at the end of the third part?