Machine Learning course


C3STREAMLand conducted a course on Machine Learning for learners. The course was divided into six 2-hours sessions. The motive behind the course was to make learners familiar with the most widely used machine learning concepts and algorithms, being adopted rapidly by many tech companies.

The course was offered by Alex, Sanjeev, and Ganesh, as a part of sharing our learning with the machine learning enthusiasts. Sanjeev and I (Ganesh) did the course on Coursera offered by Stanford University and taught by Andrew Ng, the co-founder of Coursera and Google Brain. Alexander Sokolov (Alex) converted the assignments from Octave to Python to make them accessible to everyone.

The course provided a broad introduction to machine learning, data mining, and statistical pattern recognition. Main topics include:

  1. i) Supervised learning (parametric/non-parametric algorithms, support vector machines, kernels, neural networks).

(ii) Unsupervised learning (clustering, dimensionality reduction, recommender systems, deep learning).

(iii) Best practices in machine learning (bias/variance theory; innovation process in machine learning and AI).

Session-wise topics covered are as follows:

Session 1: Introduction and Linear Regression

  • Introduction – Machine Learning
  • Basic concepts of statistics and linear algebra
  • Examples and classifications of Machine Learning
  • Univariate and multivariate Linear Regression
  • Cost function
  • Gradient descent
  • Polynomial regression
  • Feature scaling and mean normalization
  • Bias-Variance Trade-off


Session 2: Logistic Regression (Classification)

  • Decision Boundary
  • One-vs-all classification
  • Overfitting and Regularization

Session 3: Neural Networks

  • History and use cases
  • Architecture
  • Forward propagation
  • Backpropagation
  • Handwritten digit recognition system demo

Session 4: Anomaly Detection and Recommender Systems

  • Density estimation
  • Gaussian distribution
  • Anomaly detection algorithm
  • Recommender Systems
  • Predicting movie ratings
  • Collaborative filtering

Session 5: k-means clustering and Dimensionality Reduction

  • Clustering applications
  • K-means clustering algorithm
  • Data Visualization/compression using dimensionality reduction
  • Principal component analysis (PCA)

Session 6: Large Scale Machine Learning

  • Batch gradient descent
  • Stochastic gradient descent
  • Mini-batch gradient descent
  • Online learning

The course helped learners to get the idea about widely used machine learning algorithms and maths behind those algorithms.

The session-wise presentation PDFs can be accessed here:



~Sandhiya and Kayalvizhi

We learned “An Introduction to Interactive Programming in Python (Part-1 and Part-2) Online course in Coursera.

CodeSkulptor is an interactive, web-based Python programming environment that allows Python code to be run in a web browser.

These are the game we learnt in the coursera course,

  • Rock Paper Scissors
  • Guess the number
  • Ping pong
  • Stop watch
  • Blackjack
  • Memory game
  • Spaceship/Asteriod

We are trying to run the Codeskulptor python in our local system (Create executable file). In codeskulptor we have a save options to download our code.

We used following steps to converting the python files into exe.file in local system.

These are the API tried for Simplegui to run the code for local system.

  • SimpleGUITk

SimpleGUITk is a wrapper for the CodeSkulptor SimpleGUI API using TkInter. CodeSkulptor is a browser-based Python interpreter used in the online course “An Introduction to Interactive Programming in Python”.

  • Create Pyinstaller using to EXE:
  • Install pip install SimpleGUITk
  • Change the import simplegui to import simpleguitk
  • Able to run the codeskulptor file in our local and create the .exe file also, but not able to run and create exe file for the images having file like blackjack and spaceship game.
  • Simplequi

Same thing we did for simplequi also, not able to create the blackjack and spaceship game.

  • Download the images and set a path to the image in the spaceship python code. Not able to get the image file.


  • Install SimpleGUICS2Pygame

  • Replace the import simplegui to


import simplegui

except ImportError:

import SimpleGUICS2Pygame.simpleguics2pygame as simplegui

  • Convert .py files to .exe file

Install pysimplegui-exemaker

  • Run the Pysimplegui-exemaker– open the command prompt and paste

python -m pysimplegui-exemaker.pysimplegui-exemaker

The pop up showed liked that, browse your code in source python file and click Make EXE.







Edible Weed Walk at Evergreen with Nina Sengupta

As part of the ‘Becoming and Being a Shifu (Master)’ program a program to develop skills (programming and VLSI), competencies (using skills to create healthy workplaces and environment) and inner capacity (universal values) the participants are exploring some activities of Auroville. This short report is about the visit to Evergeen where we went for a ‘weed walk’ with Dr. Nina Sengupta who is an ecologist and an Aurovilian.

At C3STREAM Land Designs we learn, grow, work and teach and 5 of us went along with 7 Shifians to learn and grow.

Our visit started with the introduction of the book written by Dr. Nina – ‘Edible Weeds and Naturally Growing Plants in Auroville’. It was interesting to see that the book cover was hand-made, made from eco-friendly material. The treasure started unfolding with every plant she included in the book. Every book has two copies – one with precisely scaled plants in color and the other one with outlines which can be used as hands-on, color it to get closer to these plants.

We walked through the book one plant at a time and learned about the properties of edible weeds like Antigonan Leptopus. The first myth that was demystified while having this walk is not all weeds are non-edible, and many of them can be used not only for medicinal purposes but are a good source of nutrients for humans too. Generally, we ignore these weeds considering everything as another type of grass but they are all around us and we only have to recognize them and learn which parts of that particular weed are edible.

Once we recognize which parts are edible, then comes the next important thing – the appropriate quantity and frequency of weed to eat, the process of cooking if required. For example, some weeds can be used well after blanching them, while other weeds can be eaten raw.

The weed-walk was getting more and more interesting as we got to see and taste the different weeds. While we were able to observe weeds, on the other hand, we got closer to nature, and that also allowed us to express our learning. There are two major varieties of weeds – wild and cultivated weeds. Some species originated late, which are not mentioned in the Ayurveda. We need to constantly keep learning to know more about these weeds and start looking at these weeds from different perspectives whenever we see them around us.

The walk ended with the tasty herbal tea made by Archana and with the interactive conversation about edible-weeds, experiences of Nina as an ecologist, and Auroville in general. Thanks to Nina, Archana, and the Evergreen team for this wonderful opportunity.

~Team Shifu with C3STREAMLand members



International webinar on Digital divide


~ Poovizhi.P

I’ve got an opportunity to speak in an international webinar organized by Dr. Monica Sharma on the topic digital divide. Below is the link to a 6 min video of the speech. It was a great experience to be part an international webinar. I learnt that where ever I may be and whatever work I do, I am connected with each one of us in the world in breaking the unhealthy isms from being in my inner capacity.

Here is what I shared.

In my experience one digital divide is employment. People who have completed Engineering in and around my village have hard time finding engineering jobs. Some of my engineering classmates, specifically girls have got married, others work in non-engineering jobs like receptionist, data entry and teaching.

This is partly because of lack of practical skills. Even in college where I was doing a degree in computer science we had limited access to few shared computers. It was enough to read text books and pass exams. Most of us didn’t have access to laptops and internet at home to explore further. After 4 years I had a degree but not much programming skills.

At STEM land I learned programming first with a visual programming language from children and then professional programming languages. When I was learning programming from children, no one made fun of me. In time I realized that a supportive environment for learning had been built at STEM land not only by the facilitators, but also the children who also practice the RTL tools. I see such a culture of supporting risk takers shifting mediocracy to excellence.

STEM lands are located in rural schools. Even with poor internet children are able to share the projects and programs they make with other children through a local area network. Through this I see the shift from being stuck without resources to having the courage to create alternatives.

There is digital divide in rural area due to the socio- economic background and very few people have access to computers, laptops and tabs. Many people have access to smart phones but internet is an issue. They have limited internet because the tower is not close or may not be able to afford internet. In the pandemic this got worse because people are earning less. To reach children in this time we send practice assignments and give feedback through Whatsapp. For those who don’t have access to internet I create physical worksheets that parents pick up or met children individually at home.

I can see that genderism is strengthened by society in technology. After certain age girls have a lot of constraints in my society. For example, boys have the freedom to come to STEM land in the evenings after school whereas girls do not. One issue is safety due to alcoholism, gangs and harassments in the evening, but much of it is social pressure. In response sleepovers where both boys and girls stay over at the school once a week has become a norm at least in one of our schools.

I wanted children from other villages and schools to also benefit from STEM land in the evenings. I faced the same constraints and fear of traveling, but I don’t want to leave it just because I am born as girl. I go to such a center and support children and take precautions that I can.

In my village alcoholism is a major issue and many children and women suffer as the men beat their wife and children and they don’t have a quiet space at home to study. The youth planned a play to bring awareness about alcoholism but none of girls participated because it is not considered socially ok. I had a fear of judgment but I noticed it and being in my values I took part. This action inspired four other girls and a married women. This has started many new conversations about alcoholism.

As a team in STEM land we look to break these isms in technology. When I joined STEM land three years ago there was only one female engineer. The women to men ratio was 1:6 and now in the technical team its getting closer to an equal ratio.

To break the digital divide

1. I need to develop an environment for youth and children to develop skills

2. I need to be more than an engineer to break genderism, groupism, alcoholism, ageism

3. I need to work from responsibility, equality and courage to create.



Sampling theorem:


  • A continuous time signal can be represented as samples and can be recovered back when sampling frequency fis greater than or equal to twice the highest frequency component of message signal.
  • If this condition does not satisfy, it leads to aliasing.
  • Aliasing is an effect   that causes different signals to become indistinguishable when sampled.

Visualizing using python:

import matplotlib.pyplot as plt #  to plot

import numpy as np

#numerical python to get array of float values and for sine operation

t = np.arange(0, 2e-3, 10e-6) # x axis time period

# sampling at fs =10kHz in time domain ts=1/fs (0.1ms)

ts = np.arange(0,2e-3,0.1e-3)

f = 1000 # message signal fm

b = np.sin(2*np.pi*f*t) #phase for sinewave

c = np.sin(2*np.pi*f*ts)

plt.plot(t,b,”g”) # plot of message signal (1kHz)

plt.plot(ts,c,”k*”) # plot of sampled message signal (1kHz)

fs>=2fm:      Input frequency= 1kHz          sampling frequency = 10kHz


b = -np.sin(2*np.pi*f*t)

c = -np.sin(2*np.pi*f*ts)

plt.plot(t,b) # plot of message signal (9kHz)

plt.plot(ts,c,’r+’)  # plot of sampled message signal (9kHz)

fs<2fm:      Input frequency = 9kHz        sampling frequency = 10kHz

Sampled output of 1kHz and 9kHz :

Aliasing of 1kHz and 9kHz


Relief work with migrant laborers

During this lock-down period, the migrant laborers struggled a lot for food and shelter. At STEM land we had an opportunity to work with an NGO called Coast India for helping migrant people. Ten of us volunteered for this NGO. The NGO had collected a database from the state government on migrant laborers who had earlier called in for help and put this information in an app. Our responsibility was to call the concerned people and verify the data and update their current specific requirements of migrant laborers. We spent about 2hrs per day for about a month. We worked with the migrants who were from Jharkhand in Tamil Nadu.

We called around 600 contacts and through them we reached nearly 2000 others. It was a difficult task for us to communicate since most of us do not know Hindi and most migrants could communicate with limited Tamil, but we still managed to understand and help them get food , shelter and transportation to get home by working in tandem with the NGOs on the ground in their areas.

Initially the government had promised that with updated data the migrants will have money transferred to their accounts. However, this did not happen and many of them were frustrated when they didn’t get the support committed by their government and additionally the situation at hand was also hard. The calls were hard to take as they were emotional and it even affected some of us as we were expected to continue to follow up for updated information. Nonetheless, our team members consoled them and helped them by sending many emails to the NGOs for follow up. All this struggle and emotional stress was wiped away when many of the migrant people sent us messages that they have safely reached home or got the rations they needed. We would like to thank Coast India NGO for creating this opportunity to help in relief for those who were stranded during the Carona.

Some insights

Working on COVID-19 relief work with Bindu and team was one such experience which made me realize one of the most pressing issues in our society – migrant workers. This issue was invisible to many of us till we got the intensity of it – the number of migrants, many unregistered, working in most hostile conditions thousands of kilometres from their homes, away from family.

As Bindu planned, we were given contact details and basic data from initial calls (mostly state government call centres). We had to reach out to the people on our list and get the latest status regarding their food, stay, health and any other essential things. There were mainly two phases:

1) initial phase when our migrant friends were having difficulties getting food, dry ration etc. Though we used to take note of their needs, many times it wasn’t possible to reach out to them with the help considering strict lockdown and resources at hand, both financial and human. Bindu was working hard to manage the ration/food for those who are in urgent needs, even with the scarce resources at hand.

2) In the second phase, there was a shift from getting food to getting transportation to their home states. This was the time when I realized that though many don’t have enough food to twice a day, they were not asking for it but for transportation.

Many times, it happened that they were frustrated by filling up different forms of the two states, with changed rules over every week. I experienced that through phone calls but wasn’t able to do anything about their travel. Eventually some of them started walking to their home with no hope of governments and administration managing their travel.

In all this chaos and helpless situation, I just started to listen to them. Some of them couldn’t control their tears, some just having hopes in their eyes. Some just needed to know the status of travel, and some of them were hopeful that someone is at least listening to what they are facing. Though I couldn’t contact all the people from cases assigned to me, I had contacted many of other migrants and could share some important updates with them as my number was being circulated by many of them among their other friends.

I couldn’t work from the last two weeks on this issue as it was very time consuming (I used to get calls all day) and I had other responsibilities. I still feel I could at least help some of them if not as many as I would have liked.

It moved me to see these many friends of ours have to go through these difficult times but there are people like Bindu who are working tirelessly to help them. Glad to be part of this initiative.

– Ganesh Shelke

When I called them, I came to know most of them are facing problems with food, shelter and many have to go back to Jharkhand. Hearing their problems and helping them to go back to their hometown gives me satisfaction. Thanks for giving me this opportunity.

– Sharat Kumar.N

I felt connected when I talked to people. Language was an issue for me. I was not able to speak in Hindi and was not able to reach people easily. They were asking for support and used so many “please” it was hard for me at that time to listen to their queries. Some of them were physically not well, didn’t get ration items, had to pay rent, wanted to go home and so on. Most of the time I had this question within me that, is what I do really useful and does it reach the one in need. I had this question when many of them said that it has been 20 days since I have requested, but still we didn’t receive anything. But I processed it within myself and took it as an opportunity of my growth and others.


I feel content and happy that I was able to support others during their difficult situation. It was great that their government (Jarkhand) took so much effort to give their support to the migrant people through this NGO (coast India) and Jarkhand Sahayta App. When people informed me that they received support from NGOs I was very happy. When some people did not receive any help at that time, we sent an email to NGO people to give support to the migrant people. The NGO people took an effort and gave their support to the migrant people. It was a great and new experience

– Saranya

Initially I had a willingness to help people, so I called them and asked about their needs, and I was happy by doing this. For two weeks, I was supporting people by registering their basic needs in our portal and bringing some urgent issues to the team. But after two weeks most people asked me to help them to reach their hometown.

I shared the information both in Hindi and English regarding special trains and e-pass. Later I realized that I was creating expectations in people’s mind that they can travel to their hometown when the government allowed only one or two trains. So, I stopped calling new cases, and only supported the old cases which have been assigned to me.


Even though I have been very busy in my work, I separately allocated time for calling migrants. When I was calling them, they were at the stage of losing hope, my words consoled them. I felt very happy. Working with the unknown people was new for me and I hope I have given my best.

-Vasantharaj gandhi

It was a different and challenging experience, because of the language which plays a medium for communication. I did this for my inner satisfaction. But because of some other works and self-development activities, I was not able to continue further. I appreciate and acknowledge all the others who did this service for a good cause.



Train the trainers – Interaction with Delhi Government Mentors

~Ganesh, Poovizhi, Saranya

Delhi Government Mentor teachers wished to visit Auroville to learn about the initiatives and steps that Auroville has taken in the field of education.

Mentor teachers is a core group of teachers looking for the academic quality and improvement of Delhi Government schools. As a part of capacity building  tour, mentors visited Pondicherry and surrounding areas to learn about alternate pedagogies in teaching and learning.
Due to government mandate of not having large gatherings  the group couldn’t visit STEM land schools but they were enthusiastic enough to learn more about STEM land, leadership capacity and stewardship qualities. We met them in Pondicherry where the group learnt about the activities we do in STEM land. They asked about preparing project material and learnt how students create projects in STEM land. We showed them different projects created by students on software like Scratch, Alice etc. They were also keen to know how to motivate teachers to adapt these pedagogies and how to balance both theoretical and practical learning.

Archana Shekar’s experience in STEM land

Archana Shekar who conducts ten days residential Vipassana retreats, children’s meditation courses and is in charge of it for Karnataka state. After completing her Masters at IITKGB and MBA at XLRI she worked with Price Waterhouse, Synovate and also wrote for Hong Kong based “Asian Business”. She prefers to work on inner development, Yoga and therapies,  Spirituality and Integral yoga.

She volunteered with STEM land and supported children in Isai Ambalam school on their English. Here is a short video of her experience in STEM land with Sanjeev Ranganathan.


STEM land meeting

~Poovizhi, Abilash

Yesterday we had STEM land meeting with all the coordinators of different STEM land and STEM land math teachers. Sundar presented a scratch program for fraction. Later we were all given small booklets by Azim Premji University on each topic like Addition, subtraction, multiplication, measurement. It had different activities that could be done with children in learning the concept. We agreed to read the booklet and present what we learnt from it make a model of it and present it to others in the next session. For some time we all read our booklet in silence and took notes.

Then shared about cyclic number which he read from his book which was new and interesting for all of us. The cyclic number is the following

1/7 = 0.142857

142857 x 2 = 285714

142857 x 3 = 428571

142857 x 4 = 571428

142857 x 5 = 714285

142857 x 6 = 857142

142857 x 7 = 999999

And the other one was to find the pattern and come up with an equation

1 = 1

3+5 = 8

7+9+11 = 27

What is the pattern and will the next line be?

1       = 1       : 1^3

3+5       = 8      : 2^3

7+9+11      = 27   : 3^3

13+ 15+17+19  = 64   : 4^3

n(n-1)+1 is the equation

STEM land meeting with Swati Sircar

~Poovizhi, Murali and Arun

This week it was a large group of people in the meeting. Coordinators from Aikiyam, Udavi, Isai ambalam and AITI joined the meeting. Swati Sircar joined the meeting online. At first Sundar demonstrated Scratch projects on finding LCM created by 8th grade and program on Graph created by 9th grade children which asks the user to find the point and completes by drawing a bear. Then we listed few topics to discuss with Swati. Swati explained about Trignometry. She said we can ask children to come up with 6 possible ratios from a right angle triangle and map the names.

Then different methods of teaching multiplications

7×9 = 7×10-7

To explain and use multiplication in

  1. Scaling
  2. Repeated addition
  3. Cartesian product (Choices of combinations)
  4. Area (rows and column)
  5. Rate (price and qty)

Then we moved to Division and she explained how to spit 11/3. For example to draw three circles and draw apples in each circle equally and the remaining is the reminder.

Then we discussed about simplification. For simplification children need to learn divisibility rules for 2,3,4,5,9,10 and 11

Followed with we had a conversation on negative exponential

2^-x = 1/2^x

(1/2)^-5 = (2)^5

2^3 = 8

2^2 = 4

2^1 = 2

2^0 = 1

2^-1 = 1/2

2^-2 = 1/4

2^-3 = 1/8