There are two ways to establish the development environment in any software course. I could either choose a specific required platform and compiler, or allow students to use what they prefer as long as it meets some prerequisites. I choose to do the latter since I don't know when or from whom you took ECE 1574 (or its equivalent). I also find that my preferred environment is often different from yours.
However, to provide some consistency and so there is no confusion about what compiles, what runs, and how things are graded, we will use an autograder and a reference environment. It is the final arbiter of working code. Note you still need to setup one of the environments below as the autograder is not meant to replace your local development environment. See the Course Workflow Tutorial for more information. You can use this example to check your installation.
On Windows be sure to turn off both "hidden files and folders" and "hiding extensions" -- these settings are meant for novice users.
Note, if you have one of the recommended compilers you do not need to re-install it.
Windows 7, 8, or 10
As an engineering student you have access to Visual Studio via Imagine/Dreamspark. Follow the instructions there to download and install Visual Studio 2015 or 2017. You will need to have all your "important" updates applied. When installing be sure to check Visual C++ under languages, as it is not installed by default.
Mac OS X
On the Mac you can install the latest Xcode, which includes the llvm/clang compiler. Alternatively you can install the GNU compiler. The easiest way to do the latter is using homebrew.
Linux
On linux you can use either llvm/clang or the GNU compiler. Install one (or both) of them using your package manager. Make sure you are using gcc >= 4.8 and/or clang >= 3.3 to get sufficient C++11 support.
CMake is a cross-platform and compiler-neutral build configuration tool. For all platforms go to the cmake website and install the binary distribution for your system. On Windows you should check "Add CMake to system path for current user".