QMSS Site Search
Follow Us!

Admissions Mailing List

ISERP Events
QMSS on Twitter

Programming Resources


Listed below are a number of resources for those interested in shoring up their programming skills.  QMSS makes no warrantees or representations as to the quality of these resources.  They have been compiled as a reference for QMSS students and alum.  If you have any resources to share, please contact Gregory Eirich at gme2101@columbia.edu. If you wish to comment on your experience with any of these resources, please leave a comment below.

Columbia Experimental Laboratory in the Social Sciences

The Columbia Experimental Laboratory for Social Sciences provides a space for researchers to run computer-based experiments with participants from Columbia University, Barnard, and Columbia alumni. Students and alumni can register through the C.E.L.S.S. registration system and earn money by participating, while contributing to the advancement of research. You can find the laboratory in room 505 on the 5th floor of the International Affairs Building at Columbia University. More information about C.E.L.S.S. can be found here.


Programming in R

Introduction: R is a language and environment for statistical computing and graphics. R provides a wide variety of statistical (linear and nonlinear modeling, classical statistical tests, time-series analysis, classification, clustering, etc.) and graphical techniques, and is highly extensible. R is available as Free Software and is an integrated suite of software facilities for data manipulation, calculation and graphical display.


Online Videos/Courses:

  • Computing for Data Analysis (Coursera): A 4-week, free online course that is about learning the fundamental computing skills necessary for effective data analysis. You will learn to program in R and to use R for reading data, writing functions, making informative graphs, and applying modern statistical methods. 
  • Videos on Data Analysis with R: An introductory through advanced source of videos for the R student. 
  • Try R (CodeSchool): A free, interactive, introductory course for R beginners.




Programming in Python

Introduction: Python is a clear and powerful object-oriented programming language, comparable to Perl, Ruby, Scheme, or Java. Some of Python's notable features:

  • Uses an elegant syntax, making the programs you write easier to read.
  • Is an easy-to-use language that makes it simple to get your program working. This makes Python ideal for prototype development and other ad-hoc programming tasks, without compromising maintainability.
  • Python's interactive mode makes it easy to test short snippets of code. There's also a bundled development environment called IDLE.
  • Can also be embedded into an application to provide a programmable interface.


Online Videos/Courses:



Programming in Java

Introduction: Java is a high-level language and software-only platform. Java is the foundation for virtually every type of networked application and is the global standard for developing and delivering enterprise software, web-based content, games and mobile applications. Java enjoys a large and mature ecosystem with strong tools support. Java delivers application portability and robust performance across many computing environments. 


Online Videos/Courses:



References (3)

References allow you to track sources for this article, as well as articles that were written in response to this article.

Reader Comments (26)

Nice I'am a programmer by profession and I know it is very tough to get such type of information at one place.

August 21, 2015 | Unregistered Commentersanjana

PostPost a New Comment

Enter your information below to add a new comment.

My response is on my own website »
Author Email (optional):
Author URL (optional):
Some HTML allowed: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <code> <em> <i> <strike> <strong>