Space Clouds: Turtles in Space – Learning to Code

Here is something I have been thinking as part of the Countdown Institute.

The Countdown Institute  teaches young people aged 10 to 16 to learn programming skills using Space exploration

I have been a fan of Seymour Papert’s Turtles based on my work at feynlabs.

Turtles in Python(Python Turtles) and in general(Turtle Graphics) are a great way of learning to code.

Object Oriented paradigms (like Turtles) are an easy way to start learning Programming (as opposed to Procedural Paradigms) because they help to tie back to the problem / context easily. The Turtles concept also downplays the more complex aspects of OO programming such as Inheritance and Polymorphism.

Countdown helps enables young people to learn coding by solving problems in a specific context – in this case – Space exploration.

But we need a simple and a consistent way to model problems. Space Clouds is a data/modelling layer which relates Space exploration to coding within Space exploration. We can think of the Space Cloud as a unifying Data layer / software objects/class. It is a consistent way of modelling a problem and getting kids  to code

From a programmatic standpoint , we have varying space objects(Satellites, Drones, Planets, Space missions etc).

Like an Object (such as a Turtle) – each of these are Objects have behaviour and data

Each lesson starts with describing (modelling) the objects involved in the ‘world’ – ex in a high altitude balloon – jet stream could be defined as part of the space cloud.

This is a very easy paradigm to understand for a Child .. ie I switch on a device and the ‘sky lights up’ so to speak.

Depending on the problem – the Objects could be Planets, Satellites, missions(Orion, Rosetta)

Space Clouds is a simple, context specific modelling language for the context of space exploration created with the goal of teaching young people to code. Space Clouds is Programming Language agnostic. Current modelling languages like UML are designed for modelling entire systems and are not really suited for learning to code. 

The idea of Space Clouds can be thought of as the concept of in ‘Turtles in Space’

A recent blog on learning to code said that No-fuss setups and Task Oriented tools are key features to get more kids to code.

Space Clouds takes a similar approach by simplifying (limiting) input in early stages and connecting to a specific context

Image source Valiant turtle – wikipedia



Implementing Tim Berners-Lee’s vision of Rich Data vs. Big Data










In a previous blog post,  I discussed (Magna Carta for the Web) about the potential of Tim Berners-Lee vision of Rich Data.

When I met Tim at the EIF event in Brussels, I asked about the vision of Rich Data. I also thought more about how this vision could be actually implemented from a Predictive/Machine learning standpoint.

To recap the vision from the previous post:

So what is Rich Data? It’s Data (and Algorithms) that would empower the individual. According to Tim Berners-Lee: “If a computer collated data from your doctor, your credit card company, your smart home, your social networks, and so on, it could get a real overview of your life.” Berners-Lee was visibly enthusiastic about the potential applications of that knowledge, from living more healthily to picking better Christmas presents for his nephews and nieces. This, he said, would be “rich data”. (Motherboard

This blog explores a possible way this idea could be implemented. I hope perhaps I can implement it perhaps as part of an Open Data Institute incubated start-up

To summarize my view here:

The world of Big Data needs to maintain large amounts of Data because the past is used to predict the future. This is needed  because we do not voluntarily share data and Intent. Here,  I propose that to engender Trust, both the Algorithms and the ‘training’ should be transparent – which leads to greater Trust and greater sharing.  This in turn does not need us to hold large amounts of Data (Big Data) to determine Predictions(Intents). Instead, Intents will be known (shared voluntarily) by people at the point of need. This would create a world of Rich Data – where the Intent is determined algorithmically using smaller data sets (and without the need to maintain a large amount of historical data)


Thus, to break it down further, here are some more thoughts:

a)      Big Data vs. Rich Data: To gain insights from data, we currently collect all the data we can lay our hands on (Big Data).  In contrast, for Rich Data, instead of collecting all data in one place in advance, you need access to many small data sets for a given person and situation. But crucially, this ‘linking of datasets’ should happen at the point of need and dynamically. For example:  Personal profile, Contextual information and risk profile ex for a person who is at a risk of Diabetes or a Stroke – only at the point of a medical emergency(vs. gathered in advance).

b)      Context already exists: Much of this information exists already. The mobile industry has done a great job of  capturing contextual  information accurately – for example location and tying it to content(Geo tagged images)

c)       The ‘segment of one’ idea has been tried in many variants: Segmenting has been tried – with some success. In Retail (The future of Retail is segment of One), BCG perspective paper (Segment of One marketing – pdf) Inc magazine – Audience segmenting – targeting your customers . Segmentation is already possible

d)      Intents are not linked to context: The feedback loop is not complete because currently while context exists – it is not tied to Intent. Most people do not trust advertisers and others with their intent

e)      Intent (Predictions) are based on the past:  Because we do not trust providers with Intent – Intent is gleaned through Big Data. Intents are related to Predictions. Predictions are based on a large number of historical observations either of the individual or related individuals. To create accurate predictions in this way, we need large amounts of centralized data and any other forms of Data.  That’s the Big Data world we live in

f)       IoT: IoT will not solve the problem. It will create an order of magnitude of contextual information – but providers will not be trusted and datasets will not be shared. And we will continue to create larger datasets with bigger volumes.


To recap:

a)      To gain insights from data, we currently collect all the data we can lay our hands on. This is the world of Big Data.

b)      We take this approach because we do not know the Intent.

c)       Rather, we (as people) do not trust providers with Intent.

d)      Hence, in the world of Big Data, we need a lot of Data.  In contrast, for Rich Data, instead of collecting all data in one place in advance, you need access to many small data sets for a given person and situation. But crucially, this ‘linking of datasets’ should happen at the point of need and dynamically. For example:  Personal profile, Contextual information and risk profile ex for a person who is at a risk of Diabetes or a Stroke – only at the point of a medical emergency(vs. gathered in advance).


From an algorithmic standpoint, the overall objective is:  To determine the maximum likelihood of sharing under a Trust framework. Given a set of trust frameworks and a set of personas ( for example person with a propensity of a stroke)  - We want to know the probability of sharing information and under which trust framework

We need a small number of observations for an individual

We need an inbuilt trust framework for sharing

We need the Calibration of Trust to be ‘people driven’ and not provider driven


A possible way to implement the above could be through a Naive Bayes Classifier.

  • In machine learning, Naive Bayes classifiers are a family of simple probabilistic classifiers based on applying Bayes’ theorem with strong (naive) independence assumptions between the features.
  • Workings: Let {f1, . . . , fm} be a predefined set of m features. A classifier is a function f that maps input feature vectors x ∈ X to output class labels y ∈ {1, . . . , C} where X is the feature space. Our goal is to learn f from a labelled training set of N input-output pairs, (xn, yn), n = 1 : N; this is an example of supervised learning i.e. the algorithm has to be trained
  • An advantage of Naive Bayes is that it only requires a small amount of training data to estimate the parameters (means and variances of the variables) necessary for classification.
  • This represents the basics of Naive Bayes. Tom Mitchell in a Carnegie Mellon paper says “A hundred independently drawn training examples will usually suffice to obtain a maximum likelihood estimate of P(Y) that is within a few percent of its correct value1 when Y is a Boolean variable. However, accurately estimating P(X|Y) typically requires many more examples.”
  • In addition, we need to consider feature selection and dimensionality reduction. Feature selection is the process of selecting a subset of relevant features for use in model construction. Feature selection is different from dimensionality reduction. Both methods seek to reduce the number of attributes in the dataset, but a dimensionality reduction method do so by creating new combinations of attributes, where as feature selection methods include and exclude attributes present in the data without changing them. Examples of dimensionality reduction methods include Principal Component Analysis


  • Thus, a combination of Naive Bayes and PCA may be  a start to implementing Rich Data. Naive Bayes needs relatively a smaller amount of data. PCA will reduce dimensionality.
  • How to incorporate Trust? The next question is: How to incorporate Trust? Based on above, Trust become a feature (an input vector) to the algorithm with an appropriate weightage. The output is then based on the probability of sharing under a Trust framework for a given persona
  • Who calibrates the Trust? A related and bigger question is: How to calibrate Trust within the Algorithm? This is indeed the Holy Grail and underpins the foundation of the approach. Prediction in research has grown exponentially due to the availability of Data – but Predictive science is not perfect (Good paper: The Good, the Bad, and the Ugly of Predictive) .  Predictive Algorithms gain their intelligence through two ways:  Supervised learning  (like Naive Bayes where the algorithm learns through training Data) or through Unsupervised learning where the algorithm tries to find hidden structure in unlabeled data.


So, if we have to calibrate trust for a Supervised learning algorithm – the workings must be open and the trust (propensity to share) must be created from the personas itself. Ex – People at risk of a stroke, elderly etc. Such an Open algorithm that learns from the people and whose workings are transparent will engender trust. It will in turn lead to greater sharing – and a different type of predictive algorithm which will need smaller historical amounts of data  - but will track a larger number of Data streams to determine value at their intersection. This in turn will complete the feedback loop and tie intent to context

Finally, I do not propose that a specific algorithm (such as Naive Bayes) is the answer – rather I propose that both the Algorithms and the ‘training’ should be transparent – which leads to greater Trust and greater sharing.  This in turn does not need us to hold large amounts of Data (Big Data) to determine Predictions(Intents). Instead, Intents will be known (shared voluntarily) by people at the point of need. This would create a world of Rich Data – where the Intent is determined algorithmically using smaller data sets (and without the need to maintain a large amount of historical data)

Comments welcome – at ajit.jaokar at 

Predictive Analytics as a service for IoT


This post is a personal viewpoint based on my teaching (IoT and Machine Learning) at the City sciences program at UPM in Madrid – Technical University of Madrid and at Oxford University (with a mobile perspective).

Predictive Analytics are critical for IoT, but most companies do not have the skillsets to develop their own Predictive analytics engine.  The objective of this effort is to provide a predictive analytics interface for Hypercat. We aim to provide a solution accessed through a Hypercat API and a library. Whenever possible, we will use Open Source. We will also encapsulate industry best practices into the solution. The post is also related to extending the discussions at the event Smart cities need a Trusted IoT foundation

Data and Analytics will be the key differentiator for IoT.

A single sensor collecting data at one-second intervals will generate 31.5 million datapoints year (source Intel/WindRiver). However, the value lies not just in one sensor’s datapoints – but rather the collective intelligence gleaned for thousands (indeed millions) of sensors working together

As I discuss below, this information (and more specifically the rate of IoT based sensor information and its real time nature) will make a key difference for IoT and Predictive analytics.

IoT and predictive analytics will change the nature of decision making and will change the competitive landscape of industries. Industries will have to make thousands of decisions in near real-time. With predictive analytics, each decision will improve the model for subsequent decisions (also in near real time). We will recognize patterns, make adjustments and improve performance based on data from multiple people and sensors

IoT and Predictive analytics will enable devices to identify, diagnose and report issues more precisely and quickly as they occur. This will create a ‘closed loop’ model where the Predictive model improves with experience. We will thus go from identifying patterns to making predictions – all in real time  

However, the road to this vision is not quite straight forward. The two worlds of IoT and Predictive analytics do not meet easily

Predictive analytics needs the model to be trained before the model makes a prediction. Creating a model and updating it on a continuous real-time basis with streaming IoT data is a complex challenge. Also, it does not fit in the traditional model of map reduce and it’s inherently batch processing nature. This challenge is being addressed already (Moving Hadoop beyond batch processing and MapReduce) but will become increasingly central as IoT becomes mainstream.


IoT and Predictive analytics – opportunities

For IoT and Predictive analytics, processing will take place both in the Cloud but also more to the edge. Not all data will be sent to the Cloud at all times. The newly launched Egburt from Camgian microsystems is an example of this new trend.  Some have called this trend ‘Data gravity’ where computing power is brought to the data as opposed to processing Data in a centralized location.

In addition, the sheer volume of IoT data leads to challenges and opportunities. For example 100 million points per second in a time series is not uncommon. This leads to specific challenges for IoT (Internet of Things – time series data challenge)

Here are some examples of possible opportunities for IoT and Predictive analytics where groups of sensors work together:

  • We could undertake system wide predictive maintenance of offshore equipment like wind farms for multiple turbines (i.e. the overall system as opposed to a specific turbine).  If we predict a high likelihood of failure in one turbine, we could dynamically reduce the load on that turbine by switching to a lower performance.
  • Manage overall performance of a group of devices – again for the wind farm example – individual turbines could be tuned together to achieve optimal performance where individual pieces of equipment have an impact on the overall performance
  • Manage the ‘domino effect’ of failure – as devices are connected (and interdependent) – failure of one could cascade across the whole network. By using predictive analytics – we could anticipate such cascading failure and also reduce its impact

IoT and Predictive analytics – challenges

Despite the benefits, the two worlds of IoT and Predictive analytics do not meet very naturally

In a nutshell, Predictive analytics involves extracting information from existing data sets to identify patterns which help predict future outcomes and trends for new (unseen) scenarios.  This allows us to predict what will happen in future with an acceptable level of reliability.

To do this, we must

a)      Identify patterns from existing data sets

b)      Create a model which will predict the future


Doing these two steps in Real time is a challenge. Traditionally, data is fed to a system in a batch. But for IoT, we have a continuous stream of new observations in real time. The outcome (i.e. the business decision) also has to be made in real time. Today, some systems like Credit card authorization perform some real time validations – but for IoT, the scale and scope will be much larger.


So, this leads to more questions:

a)      Can the predictive model be built in real time?

b)      Can the model be updated in real time?

c)       How much historical data can be used for this model?

d)      How can the data be pre-processed and at what rate?

e)      How frequently can the model be retrained?

f)       Can the model be incrementally updated?


There are many architectural changes also for Real time  ex In memory processing, stream processing etc



According to Gartner analyst Joe Skorupa. “The enormous number of devices, coupled with the sheer volume, velocity and structure of IoT data, creates challenges, particularly in the areas of security, data, storage management, servers and the data center network, as real-time business processes are at stake,”

Thus, IoT will affect many areas: Security, Business processes, Consumer Privacy Data Storage Management Server Technologies Data Center Network etc

The hypercat platform provides a mechanism to manage these complex changes

We can model every sensor+actuator and person as a Digital entity. We can assign predictive behaviour to digital objects (Digital entity has processing power, an agenda and access to meta data). We can model and assign predictive behaviour to multiple levels of objects(from the while refinery to a valve)

We can model time varying data and predict behaviour based on inputs at a point in time.  The behaviour is flexible (resolved at run time) and creates a risk prediction and a feedback loop to modify behaviour in real time along with a set of rules

We can thus cover the whole lifecycle – Starting with discovery of new IoT services in a federated manner, managing security and privacy to ultimately creating autonomous, emergent behaviour for each entity

All this in context of a security and Interoperability framework


Predictive analytics as a service?

Based on the above, predictive analytics cannot be an API – but it would be more a dynamic service which can provide the right data, to the right person, at the right time and place. The service would be self improving(self learning) in real time.

I welcome comments on the above. You can email me at ajit.jaokar at or post in the Hypercat LinkedIn forum






Small Data: A Deterministic and predictive approach


Image source: Daniel Villatoro 


In this blog/article, I expand on the idea of ‘Small data’.

I present a generic model for Small data combining Deterministic and Predictive components

Although I have presented the ideas in context of IoT(which I understand best) – the same algorithms and approach could apply to domains such as Retail, Telecoms, Banking etc

We could have a number of data sets which may be individually small but it is possible to find value at their intersection.  This approach is similar to the mobile industry/ foursquare scenario of knowing the context to provide the best service/offer etc to a customer segment of one. That’s a powerful idea in itself and a reason to consider Small Data. However, I wanted to extend the deterministic aspects of Small data (intersection of many small data sets) by also considering the predictive aspects. The article describes a general approach for adding a predictive component to Small data which comprises of three steps: a) A limited set of features are extracted, b) Their dimensionality is reduced(ex using clustering) and c) finally we use a classification and a recognition method like Hidden Markov Models to recognize a higher order metric (ex walking or footfall)


 Last week, I gave an invited talk on IoT and Machine Learning at the Bigdap conference organized by the Ontic project . The Ontic project is a EU FP7 project doing some interesting work on Big Data and Analytics mainly from a Telco perspective.

The audience was technical and was reflected in the themes of the event which (for example : Techniques, models and algorithms for Big data, Scalable Data Mining and Machine learning techniques and mechanisms, Big Data Security and Privacy challenges, Cleaning Big Data (noise reduction), acquisition & integration, Multidimensional Big Data, Algorithms for enhancing data quality.)

This blog post is inspired by some conversations following my talk with Daniel Villatoro (BBVA) and Dr Alberto Mozo (UPM/Ontic). It extends many of the ideas and papers I referenced in my talk.


In his talk, Daniel referred to ‘small data’ (image from Slides used with permission). In this context, as per slide, Small data refers to the intersection of various elements like customers, offers, social context etc in a small retailer context. Small data is an interesting concept and I wanted to explore it more. So, I spent the weekend thinking more about it.

When you have data elements, the concept of small data is a deterministic. It is similar to the mobile industry/ foursquare scenario of knowing the context to provide the best service/offer etc. Thus, given the right datasets, you can find value at the intersection. This works even if the individual Data sets are small as long as you find enough intersecting datasets to create a customer segment of one at their intersection.

That’s a powerful idea in itself and a reason to consider Small Data.

However, I wanted to extend the deterministic aspects of Small data (intersection of many small data sets) by also considering the predictive aspects. In the case of Predictive aspects, we want to infer insights from relatively limited data sets

In addition, I was also looking for a good use case to teach my students @citysciences. Hence, this blog will explore the predictive aspects of Small data in an IoT context

I believe the ideas I discuss could apply to any scenario (ex retail/banking) and indeed also to Big Data sets

A caveat:

The examples I have considered below strictly apply to Wireless Sensor Networks(WSNs). WSNs differ from IoT because there is potentially communication between the nodes. The topology of the WSNs can vary from a simple star network to an advanced multi-hop wireless mesh network. The propagation technique between the hops of the network can be routing or flooding.  In contrast, IoT nodes do not necessarily communicate between each other in this way. But for the purposes of our example, the examples are valid because we are interested in the insights inferred from the Data.

Predictive characteristics of Small data

From a predictive standpoint, I propose that Small data will have the following characteristics:

1)      The Data is missing or incomplete

2)      The data is limited

3)      Alternatively, we have Large data sets which need to be converted to a smaller data set to make it more relevant(ex a small retailer)  to the problem at hand

4)      The need for inferred metrics i.e. higher order metrics derived from raw data

This complements the deterministic aspects of Small data i.e. finding a number of data sets to identify the value at their intersection even if each data set itself may be small(Small data)

So, based on papers I reference below, I propose three methodologies that can be used for understanding Small data from a predictive standpoint

1)      Feature extraction

2)      Dimensionality reduction

3)      Feature Classification and recognition

To discuss these in detail, I use the problem of monitoring physical activity for assisted living patients. These patients live in an apartment under a privacy-aware manner. Here, we use sensors and infer behaviour based on the sensor readings but yet want to protect the privacy of the patient

The papers I have referred to are (also in my talk):

  • Activity Recognition Using Inertial Sensing for Healthcare, Wellbeing and Sports Applications: A Survey – Akin Avci, Stephan Bosch, Mihai Marin-Perianu, Raluca Marin-Perianu, Paul Havinga University of Twente, The Netherlands
  • Robust location-aware activity recognition: Lu and Fu 

This problem is a ‘small data’ problem because we have limited data, some of it is missing (not all sensors can be monitoring at all times) and we have to infer behaviour based on raw sensor readings. We will complement this with the deterministic interpretation of Small Data (where we accurately know a reading).

Small data: Assisted Living Scenario

source Robust Location-Aware Activity Recognition Using Wireless Sensor Network in an Attentive Home Ching-Hu Lu, Student Member, IEEE, and Li-Chen Fu, Fellow, IEEE

In an assisted living scenario, the goal is to recognize activity based on the observations of specific sensors. Traditionally, researchers used vision sensors for activity recognition. However, that is very privacy invasive.  The challenge is thus to recognize human behaviour based on raw readings / activity from multiple sensors. In addition, in an assisted living system, the subject being monitored may have a disorder (for example Cognitive disorders or Chronic conditions).

The techniques presented below could also apply to other scenarios – ex to detect Quality of Experience in Telecoms or in general for any situation where we have to infer insights from relatively limited data sets(ex footfall)

The steps/methods for retrieving activity information from raw sensor data are: preprocessing, segmentation, feature extraction, dimensionality reduction and classification

 In this post, we will consider the last three i.e. feature extraction, dimensionality reduction and classification. We could use these three techniques for situations where we want to create a predictive component for ‘small data’


Small data: Extracting predictive insights

In the above scenario, we could extract new insights using the following predictive techniques (even when we have less data)

 1)      Feature extraction

Feature extraction takes inputs from raw data readings and finds find the main characteristics of a data segment that accurately represent the original data. The smaller set of features can be described as abstractions of raw data. The purpose of feature extraction is to transform large quantities of input data into a reduced set of features. This smaller set of Data is represented as an n-dimensional feature vector. This feature vector is then used as an input to a classification algorithm.

 2)      Dimensionality Reduction

Dimensionality reduction methods aim to increase accuracy and reduce computational effort. By reducing the features involved in the classification process, less computational effort and memory are needed to perform the classification. In other words, if the dimensionality of a feature set is too high, some features might be irrelevant and do not even provide useful information for classification.The two general forms of dimensionality reduction are: feature selection and feature transform.

 Feature selection methods select the features, which are most discriminative and contribute most to the performance of the classifier, in order to create a subset of the existing features. For example: SVM-Based Feature Selection select several most important features and conclude that 5 attributes would be enough to classify daily activities accurately. K-Means Clustering is a method to uncover structure in a set of samples by grouping them according to a distance metric. K-means clustering algorithms rank individual features according to their discriminative properties and their co-relationships.

 Feature Transform Methods : Feature transform techniques try to map the high dimensional feature space into a much lower dimension, yielding fewer features that are a combination of the original features. They are useful in situations where multiple features collectively provide good discrimination but individually, those features would provide poor discrimination. Principal Component Analysis (PCA) PCA is a well known and widely used statistical analysis method and can be used to transform the original features into a lower dimensional space.

 3)     Classification and Recognition: The selected or reduced features from the dimensionality reduction process are used as inputs for the classification and recognition methods.  

For example: Nearest Neighbor (NN) algorithms are used for classification of activities based on the closest training examples in the feature space. (ex k-NN algorithm)

 Naïve Bayes is a simple probabilistic classifier based on Bayes’ theorem which can be used for Classification.

 Support Vector Machines (SVMs) are supervised learning methods used for classification. In the assisted living scenario, SVM based activity recognition system using objects attached with sensors can be used to recognize drinking, phoning, and writing activities

 Hidden Markov Models (HMMs) are statistical models that can also be used for activity recognition. I used a simple analogy to explain hidden markov analysis from a paper which explained HMM for inferring temperature in the distant past based on tree ring sizes

 Gaussian Mixture Models (GMMs) can be used to recognize transitions between activities

 Artificial Neural Networks can also be used to detect occurrences – ex falls.

 Thus, we get a scenario as below











sensors(adapted from Activity Recognition Using Inertial Sensing for Healthcare,Wellbeing and Sports Applications: A Survey)

activity (adapted from Robust location-aware activity recognition: Lu and Fu  )

Small Data: Complementing the Deterministic by the predictive

To conclude:

Small Data could be a deterministic problem when we know a number of datasets and value lies at the intersection of these data sets. This strategy is possible with Mobile context based services and Location based services. The results so achieved could also be complemented by a predictive component of Small data.

In this case,  a limited set of features are extracted, their dimensionality is reduced(ex using clustering) and finally we use a classification and a recognition method like Hidden Markov Models to actually recognize a higher order metric (ex walking, retail footfall etc)

I believe that these ideas could be adapted to many domains. Data science is engineering problem. It’s like building a Bridge where there is no fixed solution in advance. Every Bridge is different and will present a unique set of challenges.  I like the blog post – Machine Learning is not a Kaggle competition . The author(Julia Evans) correctly emphasizes that we need to understand the business problem first. So, I think the above approach could apply to many business scenarios – ex in Retail (footfall), Healthcare, Airport lounges etc by inferring predictive insights from data streams


Ardusat, Countdown Institute at CTIA connected for Good event (part of super mobility week) in Las Vegas

In October, we fully launch the Countdown Institute in Miami (lab Miami) for STEM education

Countdown is based on using Ardusat technology which allows you to conduct experiments in space on a live Cubesat based satellite

Essentially, the Ardusat is based on Cubesat and contains Arduino sensors which allows us to learn Computer Science in context of Space exploration experiments

Sunny Washington President of Ardusat is speaking at the CTIA connected for good event (part of the Super Mobility week) in Las Vegas today

It’s great to see this

The talk reflects the hard work our team in Miami has been putting in working with Ardusat (Richard, Jessica, Alex and also the faculty Nelson, Willie and Patrick)

If you are at CTIA – say Hi to the Ardusat team!

New futuretext web site is now live

Over the last two years, I have been refocussing my work and much of that is now complete


Have a look at the new futuretext site which reflects my emphasis on Machine Learning and IoT – both for projects and teaching


Why I signed a petition in favour of Amazon at







I supported this change,org petition in favour of Amazon – Stop fighting low prices and fair wages with the following comment

While I may not agree everything Amazon does, I think Amazon has created a level playing field for a whole set of new content creators. In that sense, in future – it will serve new content creators better and  lead to more innovation. Existing publishers can never do that. I also agree with the ebook pricing argument from Amazon. Also, as a customer of Amazon – they have my goodwill and trust. I cannot say the same of any other traditional publisher(with the exception of O Reilly – who are very non traditional also). Thus, I believe – from the past record – Amazon will continue to innovate and serve its content creators and customers better than existing publishers  

My slides for IoT and machine learning – Computational Intelligence conference #CIUUK14

I spoke at the Computational intelligence  on Sat at BT HQ in St Paul Londonand it was a very interesting event

I was surprised to see more than 300 people in London on a sunny afternoon for what is essentially a VERY geeky topic!
My talk (IoT and Machine Learning) got a lot of +ve feedback as per
Thura Z. Maung @thuramg 11h Enjoyed the talks #CIUUK14 today, particularly Artificial Super Intelligence and IoT/Machine Learning…
Brett Hutley @hitechnomad 12h I enjoyed the conference #CIUUK14 my favourite talk was probably the Internet of Things and Machine Learning
Robert Thomas @dizzybanjo 13h Arrived at #CIUUK14 interesting talk about machine
Diogo Neves @DiogoSnows 13h .@AjitJaokar what a great talk you just gave! thanks!!!!
Joe Da Silva @joemagicdevelop Brilliant talk by Ajit Jaokar on #MachineLearning applied to the #enterprise and #gov #CIUUK14
Pls sign up at futuretext
I am working on a larger paper on IoT and Machine Learning
shall email it when its released

About the feynlabs methodology

We have been working on feynlabs for about a year and a half and leading upto a launch for the new comp science syllabus in Sep

Contact details info at OR ajit.jaokar at 

Here are more details:

 feynlabs develops apps for Computer Science education.

Specifically, we address the problem of accelerating the learning of Computer Science in schools. 

Many countries – including the UK, China, USA – are switching to a more enhanced Computer Science syllabus in Schools (ages 10 to 17). Both teachers and students have to navigate a steep learning curve due to this change.

Although Learning to Code is an important part of Computer Science, Computer Science is more than to code.

There are two aspects of Computer Science: Programabiliy (learning to code) and Computability (i.e. Physical Computing, Problem solving, Algorithmic thinking etc).

Our methodology combines these two aspects by reusing Concept maps for teaching Computer science.  Concept Mapping is a learning technique originally developed in 1970s by Joseph Novak and Bob Gowin

In practise, we use Concept maps in two ways to accelerate the learning of Computer Science in schools:

a)       Feyncode:  feyncodes uses the ideas of assimilation theory i.e. stressing the importance of prior knowledge in learning new concepts (which is one of the foundations of concept mapping) to learn Programming. We start with the familiar and extend to new concepts. We begin with concept maps of one Programming language (Python) and then extend this idea to other programming languages through similarities and differences. This allows learners to quickly master the familiar – and then focus on the new elements in other languages by co-relating back to existing knowledge.  For example – we start with Python  and then extend to JavaScript and C. This strategy extends the learning to the systems domain(C) and the Web domain(JavaScript) while starting from a familiar paradigm (Python). Also, we use the feyncodes technique to explore multiple languages implemented within a platform (ex Raspberry Pi). The Pi already has many languages ported on it .  More recently, Mathematica and the Go language have been ported to the Pi.  The feyncodes mapping technique thus allows us to explore multiple languages in context of the Raspberry Pi.


b)      Feynmaps: Using concept maps, feynmaps address the problem of Computational thinking and Problem solving. We look at common sets of problems solved by Physical devices like the Raspberry Pi and Arduino.  In the first instance, we identify the following categories:  Actuating , Entertainment,  Environment,  Home automation, Monitoring, Robotics, Sensing and  Software and Utilities. Feynmaps are concept maps for each of the above categories focussed on the problems being solved and how they relate back to the Computer Science syllabus for teaching. Thus, feynmaps enable the teacher and the learner to assimilate, learn and teach a large amount of information about specific Physical computing

Additional notes about the vision:

  • Feynmaps and feyncodes are released under Creative commons
  • We follow the UK Computer Science syllabus – specifically the UK CAS syllabus
  • We incorporate Physical computing especially Raspberry Pi and Arduino
  • We believe in the idea of ‘incomplete models’ for learning – most recently articulated in the book The Curiosity cycle by Dr Jonathan Mugan. The Curiosity Cycle builds on the idea of ‘incomplete models’ i.e. the idea that an incorrect or incomplete models is better than no model at all – as long as the process of creating,  assimilating and validating models i.e. the curiosity cycle is inculcated in a child
  • 1984 book by Joseph Novak and Bob Govin originally outlined Concept maps. A more recent version of the book is still available on Amazon

Testimonials from teachers and industry leaders

Industry leaders

Hung Ly – Head of Department at Sir John Cass Secondary School

“My name is Hung Ly and I am the Head of Department at Sir John Cass Secondary School and Sixth Form College in Tower Hamlets, East London. I have been asked to write a short testimonial to what I think of the free programming course run by Ajit Jaokar of feynlabs. To be honest this is really new to school especially with the introduction of the Raspberry Pi and Python coding. I really liked the hands on approached and the excellent communications that Ajit offers. Each session is communicated in advance and liaised with me to ensure that the resources are available and pitched at the right level with the combination of theory/concept/metaphor of programming to really trying out programming itself. We are coming towards the end of our sessions and I sure the students and other staff members will miss Ajit and his lectures. I would like to thank Ajit and his associations in providing such an invaluable insight into the world of programming and making it an experience that we will never forget and something that can grow at this school in the future.” 

Wiard Vasen – Teacher Computer Science Montessori Lyceum Amsterdam

“Ajit Jaokar feels the urge to help people, no matter what age, gender or race, to find their individual fulfilment and meaning in life and He does this with the art of Programming.”

Robert Mullins – Raspberry Pi foundation

“Since early 2012, I have been following the work of Ajit Jaokar and feynlabs – as they use the Raspberry Pi in innovative ways in education. I watch this space with interest to see how their work evolves”


Robert Mullins – co-founder of the Raspberry Pi foundation 


Peter Vesterbacka – Mighty Eagle at Rovio Mobile

“I was one of the first people to LIKE the feynlabs page on Facebook.  Angry Birds demonstrate that we need the next generation to understand computer science from the outset. Initiatives like this will encourage more young people to take up computer science – and it’s great to see the progress and uptake for feynlabs”

Carlos Domingo – Director of Product Development and Innovation – Telefonica

“As someone who follows innovation and start-ups worldwide and a recent father, I am conscious of the need for creating an interest in Computer Science in the next generation.  In this context, Ajit Jaokar and feynlabs are doing some great work.. and i hope it helps create more start-ups in future”

Dr Mike Short CBE FREng FIET – IET President 2011/2012

“Computer science and programming are more important to the Digital economy than ever before. Courses such as these go back to basics and can help prepare Digital citizens to inspire development and follow their interests in the modern world .


Prof Peter Cochrane OBE

“The education system is broken!  Remembering facts and solving problems by ‘turning handles’ just doesn’t cut the mustard in the fast world of technology. We need a new breed who solve problems by thinking !  Feynlabs mission is to transform those constrained by a national curriculum and turn them into the problem solvers of tomorrow.”

Howard Rheingold – Internet Pioneer, Author and Thought leader

“Understanding programming is important for even (especially!) young students who are growing up in a digital world — either they learn how to shape that world, or will have to accept that their world will be shaped by others — and understanding computation, a powerful thinking tool in the tradition of logic and  geometry,is perhaps even more important in a world where knowing how to think and how to skillfully wield thinking tools is ever more important. The approach being explored by feynlabs could be crucially important — an experiment with potential social payback that far outweighs the risk of failure. Indeed, knowing how to deal with failure — and to use it to overcome obstacles — is essential to both programming and learning.”

Lawrence Lipsitz is founder, editor, publisher of “Educational Technology

“Ajit Jaokar is a visionary who seeks to take advantage of the digital revolution now underway throughout the world in order to vastly improve education for all children and young adults. He believes that a deep knowledge of Programming — in all of its aspects — is becoming a necessity for both career advancement and everyday living in the world that is coming into clear view, for those, like Ajit, able and willing to see it.”

IoT and Machine Learning – participation, proceedings, case studies etc








The IoT and Machine Learning workshop at the IOT world event promises to be a truly special event.

We have some attendee passes(with a discount code which allows you to attend the day only) and opportunities for case studies/presentations

If you are interested in attending with the discount code or contributing – please contact me at ajit.jaokar at