In this article we are going to learn how to do some basic sentiment analysis with Python, using a wordlist-based approach and the afinn package.

First, you will need to install the package:

pip install afinn


pip3 install afinn on Mac/Linux

You will also need to install the following packages in the same way if you haven’t already: google, requests, beautifulsoup, pandas, matplotlib, seaborn.

The basic idea with the afinn package is that we have a wordlist which has a score in terms of positivity or negativity assigned to each word, ranging from -5 (very negative) to +5 (very…

In this post we are going to explore conditional probability with Python. Here’s a fun and potentially tricksome question about probabilities:

In a family with two children, what is the probability that, if at least one of the children is a girl, both children are girls?

First of all let’s state a couple of assumptions which are not realistic in the “real world,” but which are fairly standard for theoretical probability questions.

  1. There is an equal chance of a child being a boy or a girl.
  2. Children are either girls or boys, exclusively.
  3. The gender of the second child is…

In this article we are going to use Python to test whether a coin is fair. We will do this by making use of the statsmodels package to perform a hypothesis test.

The problems we will be solving will be of the form:

I flipped a coin 100 times and it landed on heads 55 times. Can I conclude the coin is biased towards heads?

Python provides many excellent tools for working with data and statistics. These include libraries like pandas, numpy, scipy, matplotlib and, in the case of today's task, statsmodels. In order to use these tools you will…

Copy/pasting the code breaks the formatting (at least removes blank lines). I know this is a platform problem, but maybe you could help by providing a link to a gist or some such?

In this article we are going to learn about Simpson’s Paradox and explore it with Python programming.

Simpson’s Paradox is where data appears to tell a different story when treated as a whole than when its component parts are considered. There are some famous cases of this paradox which you can read about on Wikipedia. The purpose of this article is to explore the paradox by means of a specific example and the use of Python programming.

The data for this example is taken from a YouTube video by a Harvard Lecturer as part of a Statistics 110 course. …

The Binary Search Algorithm is fundamental in Computer Science. It is a very clever algorithm which reduces the time needed to search for items in large datasets dramatically compared to less efficient approaches.

It is important to note that in order to use binary search, your data must be sorted. Some people get mixed up with sorting algorithms and searching algorithms, grouping them together in their thinking, but it is well worth taking a moment to organise your “algorithm toolkit” a little and make sure that searching and sorting each have their own section. …

Python Fizz Buzz Coding Challenge
Python Fizz Buzz Coding Challenge

Fizz Buzz is a classic coding challenge based on a game played at school in Maths lessons.

Fizz Buzz is a game for two or more players. Take it in turns to count aloud from 1 to 50, but each time you are going to say a multiple of 3, replace it with the word “fizz”. For multiples of 5, say “buzz” and for numbers which are multiples of both 3 and 5, say “fizz, buzz”.

Have a go at writing some Python code to simulate this game now. Your version should just print out a number, or “fizz”, “buzz”…

In this article we discuss recursion in Python programming. Recursion is a fundamental concept in Computer Science, and regardless of what your development goals are, it is good to have an understanding of at least the basics.

Topics covered:

  • The basic concept of recursion
  • What is a base case?
  • Some examples of recursive algorithms
  • Visualizing recursion

In terms of day-to-day development, the amount you use recursion will vary by context. Some developers may make little or no explicit use of it while for others it will be a mainstay. …

Master exam technique by learning how to get unstuck
Master exam technique by learning how to get unstuck

This article will help you to achieve your full potential in exams for any subject.

Have you ever been in an exam where you have read a question and your brain has just frozen?

You know topic you are being asked about, but you can’t begin to think how to squeeze that knowledge into the form needed for the question.

HELP — I’ve got brain freeze!

(In this article the phrase *brain freeze* is used metaphorically to refer to not being able to think effectively under pressure, rather than the painful experience of eating something too cold too fast.)


HackerRank is a site where you can supercharge your Python programming skills, master data structures and algorithms, and stand out to prospective employers by solving challenges alongside programmers from all around the world. It is also used by recruiters to evaluate prospective employees’ abilities.

If you are learning Python, which is the main focus of this blog, you will find a huge amount of material to help you develop your skills. However Python is by no means the only language available. For example you can use HackerRank to practice

  • C, C++, Java, C#, Python, PHP, Ruby, Go, and Swift
  • databases/SQL


Computer Science Education for the Next Generation. Teaching, Training and Resources.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store