The term IDE, GUI, Compiler, Debugger and Source Code refer to the basic elements used in developing any software. If your software is of console type then GUI is not involved. The meaning of these terms are explained below.
IDE stand for Integrated Development Environment. As the name says, it is an integrated environment for writing programs and developing software. Some IDE available in the web are Code::blocks, Visual Studio, Clion,etc.
Source code are the programs that we write in our IDE. They are readable by us and can be modify according to our needs. For C++, the source code file has an extension of .cpp, for C it has an extension of .c and for Assembly language the extension is .s .
A Compiler can convert our source code into machine language: the language which is understood by the machine. Compiler is an inevitable part of IDE because compiler does the work of converting our source code into machine language. It is only through the conversion to machine language that our computer can execute the program. Compiler usually comes with the IDE so, extra installation is not needed.
Debugger are the program that identify the errors in our program. It is bundled together with the compiler in our IDE.
There are many IDE available in the web –Dev, Codelite, Visual Studio(good), Code::blocks,etc. The IDE that I recommend for this tutorial is Code::Blocks. It is cross platform (works on all the Operating System) and uses the GNU GCC compiler which comes with it. If you want to build a software(program+GUI) you can directly incorporate wxWidgets (a tool for building GUI) with it. The download link of Code::blocks is http://www.codeblocks.org/downloads/binaries. You can also find the complete installation guide here http://www.cprogramming.com/code_blocks/ (A link from cprogramming.com a C++ tutorial website) .
GUI (Graphical User Interface)
Have you ever use CCleaner? or any other software, say Chrome. When you click on this graphics , the CCleaner software opens up or on this graphic Google Chrome opens up. Such interfaces are known as Graphical User Interface (GUI). In the CCleaner main window, the interface on the left column or the whole window itself is part of GUI. It is used in every software, we can say we live in the age of GUI. It has become popular because GUI helps the user interact with the software graphically and more easily.