JetBrains makes and sells professional
IDEs which are free to students with a valid edu email address. You are strongly encouraged
to get a student account and learn/use these IDEs. Most of these IDEs are language specific
so you will need a different one per language (IntelliJ is multi-lingual).
Netbeans is a free and very easy
to use professional IDE that is multi-lingual. If you switch languages a lot, you may
find this IDE useful.
Eclipse is a free and relatively easy
to use professional IDE that is multi-lingual. If you switch languages a lot, you may
find this IDE useful.
Visual Studio
is free to students. It is a powerful and relatively complex IDE that is multi-lingual.
It is especially useful if you will program in one of the Microsoft languages or frameworks.
Python and IDLE is
a free interpreter and IDE. Note that IDLE is not a professional IDE and is only suitable for a
beginners and/or simple rapid prototyping. Programming I students may choose to begin in IDLE
but should switch to a professional IDE like
PyCharm as soon as possible.
Dev C++
is a free Windows-only C/C++ IDE. It is not a professional IDE however it is very easy to use
and is an excellent learning tool. Students should switch to a professional IDE
as soon as they are comfortable with the C/C++ language and IDEs in general.
Version Control, Code Repositories
Git and GitHub:
[ presentation ] Tutorial for creating a local project and pushing to a remote repository.
Download and install Git:
Git is your local version control application. You will need this for class and to connect to GitHub.
Github Free code repository with access to free professional
developer tools for students. You will need this for class and to work with GitHub In The Classroom.
GitHub now requires SSH or OAuth to connect your repos. You should read more about it
BitBucket Free code repository with access to free professional
developer tools for students. We will not use BitBucket in class, and since GitHub went free for private repos,
there is little use for BitBucket anymore. However, you should still be aware of it since many companies use it.
You may need numpy.
Download and install numpy
after you install Python. I recommend you use
pip
to install, but it's up to you how you get numpy.
C/C++
To compile C/C++ programs you will need a compiler. There are many compilers.
The standard used in courses is the GNU compiler tool chain, specifically
g++. Currently, all of my C/C++ courses use VMs with Linux,
so you will have g++ installed and ready to go as part of installing Linux.
If you want to program C/C++ on your own for your own purposes, you will need to
install g++.
The following is provided as a guide but neither Windows nor Mac are supported by the instructor.
If you have issues with your installation, you will need to search for solutions on your own.
When you have it done correctly you should be able to type
g++ --version at the command prompt
and get a response from g++.
Windows
If you want to work in the native MSDOS command prompt, that works;
however, you probably want to work in some Linux-like environment.
These are a couple popular options,
you can try
MinGW and use this
tutorial to guide you,
or
Cygwin and use this
tutorial to guide you. Cygwin will install many
tools including g++, a Linux like shell (command prompt). and all the associated GNU tools.
Mac
For the homebrew solution (the most common solution), try
this tutorial.
For the xCode solution, try
this tutorial.
I have little to no knowledge about Mac and cannot address issues with Mac. If you know of better
tutorials/solutions, let me know, I'll post them here.
If you truly want g++ make
sure your g++ responds with an actual g++ version and not clang. If you get a clang response
it means you don't actually have g++ installed, or it is not installed correctly
(usually that is the result of an alias or path misconfiguration), and you
will want to fix it if you want g++.
Although you may actually want Clang if you are doing Mac development.
Once you have g++ installed correctly, you will probably need to adjust your PATH environment
variable to be able to call g++ from any location. Start
searching and reading
to learn about paths.