feynlabs – vision ..



feynlabs has now been launched! 

Since our launch on facebook in June 2012 - Concepts of Programming Languages for Kids , in four months, more than 30,000 people have LIKEd our facebook page and the ideas behind concepts of programming languages for kids were published in one of the worlds leading educational journals

I keep refining our vision and here is how it stands

What was the first programming language you learned?

Depending on which era you started computing, the answer could be Basic in the 80s, Pascal in the 90s, Java/JavaScript at the turn of the century …

But the point is – it’s a specific programming language you began with.

Fast forward a few years  – if you did end up studying computer science, you studied the ‘Concepts of Programming Languages’ or the ‘Philosophy of Computer science’ at the Masters level for a computer science course

What if you could switch the two??What if you could teach concepts of programming languages upfront – even to kids?
Feynlabs is the first initiative to teach the concepts of programming languages to kids (as opposed to a specific programming language). By abstracting the common elements of programming languages, our aim is to rapidly learn ANY programming language

We are a social enterprise.

Social – because we share information freely;

Enterprise – because our service will create value for our customers, by identifying a tech talent pool .

Our name is inspired from one of the greatest scientists, teachers and humanists – Richard Feynmann .

Who do we serve? .. For ..

- Kids and the young at heart – we are a new way to learn computing
- Society – we help in developing skills for 21 century employment by creating an interest in programming, science and mathematics
- Companies – feynlabs is a new way to identify talent
- Economies – we help developing an interest in technology and the possibility of new startups

Some of the ideas on which our methodology is based are:

  • We discuss programming as a part of a wider problem solving, conceptual strategy.
  • We compare and contrast multiple programming languages in our learning. We work with web based languages (JavaScript, Python), Systems languages( C language ), hardware oriented environments (Raspberry Pi, Arduino) and Algorithms(R Language)
  • We work with real life examples and solve small, specific problems
  • We take a non-linear / hypertext approach i.e. we try to encourage learning of programming concepts along the path best suited for you
  • We emphasise algorithms and maths – for example pattern matching algorithms are similar conceptually to genome sequencing
  • We teach computing ‘inside out’ – we emphasise the machine(hardware), Programming and Algorithms
  • We value both IPR and open source
  • We are inclusive - We want to encourage people to learn computing – so we are trying to provide a smooth learning curve which makes it interesting and also provides depth. One of the goals is to find out why people stop programming (i.e. what makes them lose interest in programming)
  • We value entrepreneurship. I have a Dream, that some of the young people who learn these concepts will go on to create great enterprises based on computing to the betterment of society
Outline of trials
We are working on some initial trials with schools, educators and also online. The trial comprises of three parts.
Part One: In this section, we discuss the ‘Inside out’ view of computing. We start with how the computer views us (the word ‘computer’ is used in the widest sense i.e. Arduino, Raspberry Pi etc) and explore the basic principles of computing. We also study problem solving, explore the computer’s view of problem solving and then discuss the types of problems computers can solve. We then provide an introduction to Data structures and Algorithms
Part Two:Data structures and Algorithms – We view all programming as an interplay between data structures and algorithms. In this section we look at programming as a series of small programs that discuss data structures and algorithms. We start with simple data structures and advance to more complex elements including Pointers etc. We work with real life problems (building on the discussion of problem solving in Part One). For example – when we speak of pattern matching algorithms – we explain in terms of DNA sequencing (which is essentially pattern matching problem). In this section, the participants will ‘read’ a lot of code and suggest small modifications to the code. The approach is also non-linear i.e. interest driven (for example participants can choose which programs they want to start off first)
Part three:Designing a product/app – Taking a design view i.e. ‘Outside-in’ for an app.

On completion, the participant gets a certificate. The modules will be visual as far as possible and will explore specific concepts which we build up on.

So, what would feynlabs do for you? 

Ironically, our goal is not to teach you how to program but rather our goal is that you should be able to rapidly learn any programming language

Comments/feedback welcome at ajit.jaokar at futuretext.com 

see feynlabs for more