Online Learning

– Updated: May 5th, 2019

Jump to


Online learning is booming and has been for the past decade. High quality online education is a click away and this is revolutionizing the reach of education. From people who cannot physically attend an educational institution due to various personal circumstance to areas of the world where high quality education is not available, the rise of online education is bridging educational disparities and as such providing opportunities that were not available before. Workers transitioning from one sector to another can also greatly benefit from online education. As such, online learning is improving labor market mobility by promoting the reallocation of human resources to balance labor demand and supply across industries. Finally, online learning benefits researchers and professionals who wish to acquire skills in an area that they have not received formal training. A common example of that is computer coding and computer science in general. Researchers interested in interdisciplinary work can especially benefit from the easy of access to online resources in an attempt to better understand other disciplines they wish to draw insights from. This is where my interest in online learning emerged from. As an economist being interested in psychology and computer science, I found online courses and other resources to be of great value. Since then I have been closely monitoring the evolution of the online learning community and in this guide I provide some resources for online learning that beginners might find useful.

Online Institutions and MOOCs.

Online learning institutions are rapidly on the rise. The supply of universities and colleges specializing in online teaching and education is increasing only to meet the increasing demand for online education. From institutions that specialize on online education to established universities and colleges that bring their offline programs online, the variety of ways to receive online education and training are vast and highly heterogeneous. When we think about online learning then it is thus important to make a distinction between accredited institutions offering complete (still oftentimes flexible) degree programs and platforms offering training and specialized courses (MOOCs – Massive Open Online Courses) on particular subjects. That is not to say that the latter are less accredited, with platforms like and oftentimes featuring specialized courses offered by some of the best universities like Harvard and MIT with the option of receiving official recognition for your work. However, it should still be one’s first choice the decision of whether to attend an educational institution to pursue a degree program or whether to pursue specialized courses and training on areas of interest. And while this is a personal choice, the decision will mostly weigh on whether the student is seeking a complete career change (or the start of a career) or a supplemental education / training in order to help complement one’s skillset to make his or herself more competitive in the job market. In this section I focus mainly on platforms offering specialized courses – MOOCs.

  • Coursera is one of the most popular stops for MOOCs. They offer a well-balanced range of courses which makes them a great first stop in your quest for online learning. You can take most courses for free while you can pay to get a certificate of accomplishment with a grade. What is more, they offer specializations which are groups of courses often with a coursework at the end. Completing such a specialization is not easy but can be a very credible addition to your CV.
  • Edx is a general MOOC website like Coursera, except that it specializes on scientific courses in humanities, social sciences and computer science oftentimes offered by some of the world’s top universities. Along with Coursera, Edx should be your first stop for MOOC and online learning.
  • FutureLearn is a MOOC platform that is owned by the Open University and partners with many leading UK universities to offer courses online.
  • Iversity in contrast is Berlin-based and as such many MOOC courses are offered both in English and German. 
  • Udemy is one of the largest online learning platforms offering a wide variety of classes in 6 natural languages. It brings together students and instructors by providing a very user-friendly course-building platform.
  • Udacity focuses on courses and training programs related to various areas of computer science that are recognized and often build by leading technology companies like Google, At&t, AWS and others.
  • MIT OpenCourseWare is the realization of MIT’s initiative to publish all teaching material from both undergraduate and graduate classes online for free to everyone. While these are not MOOCs and students cannot credibly signal their learning, it is a unique learning opportunity from arguably the best educational institution in the world.
  • Khan Academy is a specialized training website focusing on math and science – starting from pre-school level to advanced graduate level, including test prep (GRE, GMAT, etc).
  • Complexity Explorer is the MOOC website of the Santa Fe Institute, specializing in complexity research. It offers various courses in mathematical skills needed for complexity research, game theory and agent-based modeling. 
  • or LinkedIn Learning is an online education and training website with courses provided usually by industry experts, which is where it differs from other more academically-oriented MOOC sites. While it offers a variety of courses and training programs, it specializes in web development, design, photography and some basic business programs. 
  • WolframAlpha is a unique website aiming to be an all-inclusive knowledge database by attempting to answer almost any query. Some its most useful features include step-by-step solutions to mathematical problems. 

Learn Economics & Econometrics.

Economics is the most popular social science major (psychology may debate that) and one of the most popular majors in most universities with the numbers of students choosing to major in economics steadily on the rise. There are many reasons behind these stats. Economics is one of the few social science majors in which students get significant exposure to both mathematics and statistics as well as social aspects. It is closely related to business, computer science, psychology, marketing, sociology and other fields where students can take additional courses or easily switch to. What is more, an economics degree, is a strong signal to potential employers and more often than not guarantees students with a good salary post graduation. Given the sheer numbers of economics students as well as the potential benefits to studying economics, it is then not surprising that online resources are abundant for most areas of economics. Below I provide some of the best resources that I have used over the years studying and teaching different areas of economics.

Math is an integral part of economics, especially so at the masters and particularly at the PhD level. Mathematical analysis is used in all areas of economics to construct and understand models and statistics is used in econometrics and empirical analysis, which is a ubiquitous in many areas of economics. Good familiarity with mathematical techniques and concepts is thus crucial for any student that wants to take economics seriously, particularly at the more advanced level. Students coming from a less mathematically enriched background oftentimes feel overwhelmed with the level of math they have to digest in a short period of time. That was the case of myself when I left the University of Nottingham to join Barcelona GSE for my masters. What seemed a mountain of a task, turned out to be not as hard as I had originally imagined and in the process I gathered a list of very helpful online references:

Econometrics is the statistical branch of economists and as such it is perhaps the most useful toolset for any economist. It deals with the theoretical development and application of statistical methods to the analysis of observational data, oftentimes attempting to estimate causal relationships through mathematical modeling. Econometricians and applied economists are interested in issues of estimator unbiasedness, efficiency and consistency. 

Angrist and Pischke’s Mostly Harmless Econometrics is without a doubt a great resource for empirical work. Their second book, Mastering Metrics is intended for beginners / less mathematically oriented audiences and is also a great read.

If you’re interested in using R for applied econometrics, check out this guide here.

Program evaluation and causal inference is a an area of econometrics that deals specifically with identifying causal relationships between variables, sometimes through the design of randomized clinical trials, natural experiments or other observational datasets.

Introduction / Overview of Program Evaluation literature:

Randomized experiments:

  • A very well written methods paper by two of the leaders in the field Guido Imbens and Susan Athey.
  • Another nice overview paper by Paul Rosenbaum with great references.

Difference-in-Differences (DiD):

  • A good introduction to the estimator here.
  • Another Wooldridge/Imbens lecture note.

Regression Discontinuity Designs (RDD):

Instrumental Variables (IV):

Matching & Propensity Score Approaches:

  • Using propensity score to estimate ATE slides.
  • A very intuitive resource for applying some of these approaches in STATA are these lecture notes by Grotta and Bellocco.

Synthetic Control Methods:

Imputation methods for missing data:

  • Gabriele Durrant’s notes cover a wide range of such methods. In these notes he also provides resources for implementing these methods on various statistical packages.
  • Chapter 25 on Missing-data imputation from Andrew Gelman’s “Data Analysis Using Regression and Multilevel/Hierarchical Models” is available online.

Microeconomics deals with the theory of individual and group decision making and lays down the foundations of most other areas of economics. A standard course in microeconomics goes through the consumer demand theory, the theory of production, market structures like perfect competition, monopoly and enters into game theoretic situations of oligopolistic competition. Information economics, one of my areas of research is part of microeconomic theory. A great non-technical resource to get started is this online book recommended by MITOpenCourseWare. In that respect I highly recommend MITOpenCourseWare online economics courses. Also try this free online book. Andreu Mas Colell, Michael Whinston and Jerry Green’s “Microeconomic theory” is without a doubt the gold-standard in graduate microeconomics. I advise reading every page of that book, including the appendix! I also recommend supplementing that with Ariel Rubinstein’s “Lecture Notes in Microeconomic Theory“.

Game theory studies the strategic interactions between rational self-interested agents who compete to maximize some individual (or group) objective. It is a very useful tool to think about a variety of real-world situations ranging from firm competition, labor markets, military defense, auctions, insurance and many more. For beginners I would recommend Gibbon’s ”A primer in game theory”. It’s easy to read and introduces the most important concepts in game theory. For more advanced students, an immensely useful resource is Ariel Rubinstein’s web-page where you can download his books and other resources. Another good book is Roger Myerson’s “Game Theory: Analysis of Conflict“. 

Game theory has many branches. Evolutionary game theory takes insights from evolutionary biology and studies the equilibria that may arise when interactions are modeled in a dynamic and usually infinite-horizon setting. It involves features like fitness, generational survival and mutation. Behavioral game theory is the branch of game theory which uses psychological explanations to rationalize new equilibrium behavior outcomes of various strategic interactions. Perhaps the most well-known resource in this field is Colin Camerer’sBehavioral Game Theory: Experiments in Strategic Interaction“. Finally algorithmic game theory, the intersection of computer science and economics, takes a more computational perspective on the solution of various games, oftentimes coming up with solutions that are either easier to describe or that where impossible to get with standard optimization techniques. Check out this “Algorithmic game theory” by Nisan, Tardos, Roughgarden and Vazirani and the book “Multiagent Systems” by Kevin Leyton-Brown and Yoav Shoham. I also recommend checking out their online courses on here and here. Read this article for how game theory and AI were combined to tackle real world problems.

Behavioral economics is an interdisciplinary field of research in economics which incorporates insights from psychology (and sometimes sociology) to help explain economic behavior that is not well captured by the rational paradigm of standard economic models. Experimental economics is a methodology in which experimental subjects are invited to participate in studies conducted in a controlled laboratory setting usually through computer terminals. Participants are incentivized for their performance usually using money. This methodology is usually employed to extract behavioral insights and for that reason the two field are often thought of as one. Behavioral and experimental economics is my main field of research. It is my long term goal to one day write my own book about behavioral economics. For now please see my behavioral economics resources page here.

Computational economics is an interdisciplinary research field across economics, computer science and management science. Computational economics uses computational methods to solve complex problems in economics and management. Agent-based computational economics (ACE) is a sub-discipline of computational economics . Read this paper for a great introduction and overview of the subject.

  • Vincent Conitzer of Duke provides the materials of two classes on computational economics online here and here.
  • I suggest checking out the work done by the Santa Fe Institute in understanding complex systems. If you want to get started with agent-based modeling I highly recommend their online course here, which I found very interesting.
  • Thomas Sargent and John Stachurski ‘s website presenting their lectures on quantitative economic modeling on various topics includes a host of useful resources.
  • Also check out some of my own agent-based models here.

Macroeconomics looks the evolution of the economy as a whole both in the long term and in short term fluctuations, examining trends and relationships between macroeconomic variables like economic growth, unemployment, inflation, interest rates and others. International trade, a subset of macroeconomics also examines the effects of trade and the links between economies. More traditional development economics models examining the determinants of growth in the long run have their roots in macroeconomics. Various macroeconomic models are based on the aggregation of individual decision-making models developed in microeconomics. Find below some freely available resources for macroeconomics:

  • For an easy-to-follow introduction to macroeconomics I recommend Harvard Business School’s online course here.
  • One of the most important books in growth by Robert Barro and Xavier Sala-i-Martin “Economic Growth” is available through Thomas Piketty’s website where you will find a host of useful resources on the topic.
  • A useful introduction to the Neoclassical Growth Model is available from Stanford Online
  • A classic macroeconomics book for the graduate level (Lars Ljungqvist and Thomas Sargent “Recursive Macroeconomic Theory“) is available through NYU Stern’s website.

For issues, clarifications or more resources, do not hesitate to get in touch below. Economics is fun, often theoretical but still pragmatic and highly useful in more than just economic situations! 

Learn Computer Science.

While I am, by no means, an expert in Computer Science, as an economist interested in various topics in CS and computational methods I had to dug deep to find resources that were both helpful and worth my time before deciding to officially pursue a masters in CS. Depending on your background and experience, learning computer science might seem a daunting task at first. I would encourage you to just go for it. CS can be so much fun, extremely educational (not just for CS but in other disciplines and life in general) and frankly, not that hard. Computer Science falls under the rapidly expanding umbrella of mathematical sciences. The theory of algorithms requires mostly logic and discrete math, machine learning encompasses a combination of econometrics and statistical learning and natural language processing combines all of the above with some additional probability and linguistics. Web resources for self-learning computer science online are abundant, perhaps more than any other subject. In what follows I will outline a collection of such resources that I personally found helpful when getting started in my CS journey and others which I discovered more recently. In what follows, I provide a short description on CS topics that I have interacted with together with a link to the most useful and easy-to-read beginners resource that I have found most useful and enlightening for each topic. Enjoy learning CS! 


The theory of algorithms is the fundamental building block of computer science. It involves of a set of sequential rules to be followed in order to arrive to the solution of a problem similar to discrete optimization. I am a big fan of the work of Tim Roughgarden.

Artificial Intelligence

The field of AI combines Mathematics (formalization & analysis), Cognitive Science (cognitive insights), Economics (decision making), Operations Research (search & optimization) and Engineering (robotics). I found this book very helpful when starting out.

Machine Learning

Machine Learning is a subfield of AI that has become so popular that it merits being recognizes as a field. It involves of a collection of statistical techniques, mostly relying on large samples of data, for the purpose of out-of-sample prediction.

Deep Learning

Deep Learning is itself a Machine Learning subfield / technique which utilizes a structure resembling a neural network. Its advantages are unprecedented prediction accuracies but it suffers from interpretability. I recommend this book for beginners.

Natural Language Programing

NLP is also a subfield of AI and it involves the extraction of data from (natural) language, whether that is as written text or in speech. NLP is used by researchers in sentiment analysis, the tech world in email filtering, chatbots and smart home appliances.

Database Systems

A database is an integrated computer structure that stores a collection of user-end information and metadata. Database systems are programs concerned with the management of a database.

Learn to Code.

There’s no shortage of tutorials and Q&A resources out there for computer programming of any language. Coding resources are probably the most ubiquitous in the web. Do check out Codecademy. Below is a small list of various softwares and programming languages that I have used with some of the resources that I have found to be most useful when starting out or (some of the many times) when I was stuck in debugging my code

VBA or Visual Basic for Applications is the programming language of Microsoft. The programming capabilities of Microsoft Excel are tremendous and for that reason,  I consider it to be probably one of the most underutilized softwares for programming. First, you can utilize the VBA programming capabilities to write macros that fix (or help perform more efficiently) any problems or difficulties you may encounter with the grid interface. Second, another possible advantage over other programming softwares is the already built-in grid interface that excel boasts that you can easily integrate to the problem you are trying to work on without the need of reprogramming it. I suggest the following resources for beginners: 

  • For a beginner tutorial visit this website.
  • For tips and answers to popular questions see here

MATLAB (or Matrix Laboratory) by MathWorks encompasses a relatively straightforward environment both for coding and for visualization. It’s main advantage over most other programming languages is that it is built on matrices. Even a single integer is considered a 1 x 1 matrix. As such matrix operations (for example multiplication) use simple built-in commands. Unfortunately all these come at a disadvantage in terms of the large amounts of computer memory it requires. 

  • You can start by checking out these two MOOCs on here and MIT Opencourseware here as well as a Youtube tutorial here.
  • Also check out my implementation of an agent-based model on MATLAB in my supplemental work.
  • Finally, no better place to learn MATLAB than the MathWorks website MatlabAcademy.

Python has taken both academia and the industry by storm over the past decade and keep on rising in popularity. From data science and machine learning to web and API development, Python is an object-oriented, highly user-friendly language that is recommender both for beginners and advanced programmers. One big advantage of Python is that code is easy (or at least easier than other languages) to debug due to the absence of a compilation step. Contemplating learning Python? Don’t. Just go for it! My advise is to just download it along with a programming environment and just start playing with it. It’s an easy and fun way to get started! 

Perhaps the most popular open-source statistical software and language, R similar to Python has also taken both academia and industry by storm. As an open-source program, it is incredibly flexible and the amount of online resources including various Q&A communities that exist online is vast. I self-learned R and similar to Python I would recommend doing the same. It was a fun and rewarding experience.

  • Codecademy’s R course is probably a great way to get started if you feel the need for a more formal training.
  • Definitely check out the official website of R here as well as an up-to-date list of available packages here.
  • I highly recommend using R with the free development environment RStudio. The website also provides free training and tutorials here.

The preferred statistical software for most economists, STATA is incredibly straightforward to use for many tasks related to data description and econometric analyses. In incorporates a large variety of built in econometric functions that make coding of most econometric techniques as simple as it gets. The two latest releases of STATA (15 & 16) incorporate Bayesian analysis and model selection like Lasso as well as integration with Python. Unfortunately, the advantages of STATA are also its pitfalls – coding non-standard analyses and fancy graphs is not straightforward and the data structures are not as flexible as other softwares like R.

  • Start with Princeton’s online tutorial here and UCLA’s IDRE here
  • STATA’s website includes a host of recommendations on getting you started and getting you unstuck here and here.
  • As simple as this may sound, STATA’s “help” function is probably the most useful resource.
  • Check out a tutorial I made about graphing functions on STATA in my supplemental work.

SQL (Structured Query Language) is used mainly to communicate with a relational database management system (RDBMS) [versus NoSQL which is mostly used for unstructured data using a dynamic schema]. It has a very distinct syntax, especially in comparison to most common programming languages out there, the reason for that being the domain-specificity that it was developed for. The most common databases in SQL are MySQL and PostgreSQL, both of which have been developed open-source. If you’re interested in extracting data from most servers you might need some sort of SQL programming, even though there exist packages in other languages that can do simple query extraction.

  • Get started with the very basics in this free website or in this class by Codecademy.
  • I used MySQL and PostgreSQL during my master’s in CS class “CSCI 585: Database Systems”. If you require materials from that class contact me.
  • USC Viterbi provides a Data Analytics Bootcamp which includes SQL, Python and many other languages. Find more information here.

Get in touch

Please do get in touch if you have any questions or concerns. I’m glad to discuss new ideas and suggestions for research or other work. Shoot me an email, text me on skype or write your message in the box below. I’ll get back to you as soon as time permits.

Andreas Aristidou

Copyright © 2020. All Rights Reserved.

Powered by