The following resources are intended to assist students in my classes
but are freely available for use for any academic purpose by anyone.
Theses resources are subject to change and will be modified, updated,
and improved as needed.
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.
You will also 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 for class will be the GNU compiler tool chain, specifically
g++. Use the following links to get setup. 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:
However you get to a point that you can run
a very recent version of g++ at the command prompt, that's fine.
If you want to work in the native MSDOS command prompt, that will work,
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.
NOTICE: Mac users, make
sure your g++ responds with an actual g++ version and not clang. This will be discussed more in
class but if you get a clang response it means you don't actually have g++ installed (or not installed correctly), and you
will probably want to fix it. You can get away with Clang, but you have to be aware of some
subtle differences that may affect your work.
Linux: You're probably already good to go because... Linux.
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.
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 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.
Web Development Resources
jQuery: A powerful wrapper library for JavaScript that
enables cleaner, neater, easier to code and read JavaScript.This site uses jQuery.
BootStrap: A simple and very powerful
library to build mobile-friendly, mobile-first Websites quickly. This site uses Bootstrap.
BootStrap Free Templates: Free Bootstrap
templates and themes to get you up and running quickly with Bootstrap.
Bootstrap Customizer: A tool to
quickly customize Bootstrap menus. This site uses this tool.
CodeIgniter: A simple and free PHP
MVC framework. While arguably not suitable for enterprise development,
CodeIgniter is an excellent learning tool, as well as being an excellent
fast and lightweight MVC framework. This site uses this framework.
Laravel: A free and powerful PHP enterprise-grade
MVC framework.
React.js: A free and powerful JavaScript library
for building user interfaces. React.js is a more modern approach to UI/UX. Note than React.js
is not compatible with jQuery or Bootstrap (it's an either-or, not both).