Home


Getting Started With R

Getting Started With SAS

Getting Started With SAS Graphics

Getting Started With Python

Getting Started With Unix

Other Programming Languages

StatReferences


NU MSPA Links
Obtain SAS
Course Books
Books By Topic
Basic Mathematics
Starter Kit
Amazon Info
PREDICT 454 Info







Resources for Other Programming Languages







The term programming language is frequently used very loosely. Many times we refer to programmable softwares as programming languages, and sometimes we simply mislabel software products as programming languages, as I have done below with Tableau for convenience. There are different 'levels' of programming languages: high, medium, and low. The exact definitions of these terms are a good way to start an argument so we will use simple working definitions that are applicable to our conversation. We are only concerned with 'high' and 'medium' level languages. We will consider a language to be a 'high' level language if it does not require the user to interact with a compiler, and a 'medium' level language if it does require the user to interact with a compiler. Under this definition, programming languages such as R, Python, Matlab, and SQL are 'high' level languages, and programming languages such as C++, Fortran, and Java are 'medium' level languages. Hence, if we want to learn C++, Fortan, or Java, then we need to obtain a compiler.

How do I get a compiler?

(1) You have access to a Linux machine, and the compilers are already installed.

(2) Install a compiler on your machine.

We are interested in how we can install a compiler on our machine.

The standard open source compiler, and the most widely used compiler, is the GNU Compiler Collection (http://gcc.gnu.org/). The GNU Compiler Collection has compilers for C/C++, Fortran, and Java.

(1) If you have a Mac, then you can get the GNU Compiler Collection (GCC) by installing Xcode.

(2) If you have a PC, then you will need to install CygwinX or MinGW.

(3) If you do not want to install a compiler, then you can try to use a web-based compiler like CompileOnline.com.



Installation Notes:

(1) MinGW has C/C++ and Fortran compilers, but not a Java compiler.

(2) When installing CygwinX (http://x.cygwin.com/), note that you should simply select all of the components for a full install. The base install is stripped down and adding individual components is not easy for the beginner. Simply start with the full install. The full installation is a large package, and it will require an overnight download and installation. The installation is very time consuming so if you want to use CygwinX, then you should install it well before you need to use it.









Tableau Your Data!


If you are interested in learning Tableau, then it is easy enough to get started using this (low cost) book and the resources on their website. Tableau has some free online video training and a free student version.

http://www.tableausoftware.com/academic/students

Note that until the Summer of 2014 Tableau is Windows only. The Mac version will come out sometime after the Summer of 2014.


Exploratory Data Analysis with Matlab


Matlab is a really nice programming environment. Nearly all engineering firms use Matlab as their standard software, and other organizations that require that all software be commercial software frequently choose Matlab (e.g. the banking industry). It is hard not to like Matlab as a programming environment. It is extremely well done, and it represents the standard for all other high level programming environments.

Here are some notes:

(1) Base Matlab is a matrix-based programming environment, not a software. Matlab's software capabilities are sold separately as a Matlab 'toolbox'.

(2) There is an open source version of Matlab called Octave. Octave is only available for Linux, but you can use it at www.compileonline.com. You might be able to install it through CygwinX, but I have never tried.

(3) Students can typically purchase an academic version for about $100. Check with your university.



Data Mining with Weka


You can use Weka for machine learning and data mining. Weka algorithms are also available in R in the RWeka library, or you could learn Java and become a Weka Jedi.

http://www.cs.waikato.ac.nz/ml/weka/


Introduction to Programming in Java


If you want to learn the basics of Java, then this is a good place to start.


Data Structures & Algorithms in Java


If you want to become a sophisticated Java programmer, then you will need to understand data structures.


Fortran 95/2003 for Scientists and Engineers


I like programming books that are for 'scientists and engineers' since all of the programming concepts are directly imbedded as a means of problem solving. I find this to be a useful context for learning programming.

Fortran does not get much attention these days, but it is still a very useful programming language for numerical computing. If you needed to build a large scale simulation model, it would make perfect sense to implement the model in Fortran. Fortran is also easy to learn.


C++ for Engineers and Scientists


Again, I like programming books that are for 'scientists and engineers' since all of the programming concepts are directly imbedded as a means of problem solving. I find this to be a useful context for learning programming.



C++ Primer Plus


In a world of very expensive C++ books, this book is a very good and inexpensive option for learning C++.


Algorithms in C++


If you want to become a sophisticated C++ programmer, then you will need to understand data structures.