From today I'll be taking python classes for first and second year students. I want these classes to be their entry point into the real world. It is not hard to learn python, what's hard is to learn python and then use it for things that really matter. What usually happens in the end of programming classes is that people "know" how to program but they are clueless about what to do with it. All the easy things are often taken up by people who came before them and the hard things are often too hard. More than the intrinsic "hardness" of the project they can be daunting for new people because they are fuzzy it becomes hard to figure out what to do and how to do it. It really help if you have someone to guide you through all these fuzzy aspects of programming.
At the end of the class I'll get the students to do some things we are planning to do at metaX. These are not too hard nor too easy and they are real world projects which can have maybe small but real impact on people's lives. Another advantage of this will be that the people I'll be teaching will be here in KGP for another four to five years, if we can get them in and get to stay then it can do wonders for the long term growth and sustainability of the metakgp. Projects I'm planning to propose are:
- Scrape pages of professors from institute's website and make a portal where given a research area we can search which professor works on it. We call it reverse professor search. There can do other bunch of useful stuff by scraping institutes's website by gathering information about department, halls etc and putting them on metakgp.
- Scrape the facebook timelines of campus media bodies (Awaaz and Scholar's Avenue) for results of previous open IIT and GC events.
- Automatically populate our tables on the TODO pages by checking the changes on the wiki pages.
- Do graph analysis on the metakgp articles and see are there disconnected components, are there cliques of articles and other structures.
- Another very interesting project can be creating an app for local triggered reminders. So, the reminder to buy apples should be triggered by the fact that I'm in techM. This can be little hard as it involves elements of Android programming and I'm not sure about the scope of using python in android projects.
If you have more ideas please let me know. Also I'll be needing your help with code.
09:21, 27 September 2015 (IST)
Update after first class[edit | edit source]
Tomorrow when I reached CSE department to take the python classes there were much more students than we (me and organizers) expected. Hence, we had to take the classes in two sessions and in both of them the biggest room in the CSE department was full. That should be more than 150 people in total. Also, the student community which attended the classes was too diverse, there were a lot of first years who had no programming experience what so ever, there were first years who are taking their PDS course and there were also people who had significant programming experience. I targeted the lowest common denominator starting from what is programing, what are variables and what are functions. That was probably too boring for people with any programming experience but having those people in the class was creating an issue because they were comparing python with C and were asking question about the character type, ASCII values of characters and type casting and type promotions and those things probably didn't make any sense to people who already knew some programming. The next class will be on 7th October. We have fix things up before the next class, first I don't want to teach these many people because it will becomes very very hard to give personal feedback to every student also I won't be able to give non trivial projects because such projects require significant effort from my side. Second I don't want to teach people who know no programing because I want to complete my goal taking people from introductory programing to the real world and getting them to write code which matters.
19:44, 28 September 2015 (IST)
How to be Hacker[edit | edit source]
Today, Vikrant took a session on "How to be a Hacker?" which was intended to be a discussion session on the essay "How to be a Hacker?" by Erick S. Raymond, which discusses the ethos of the hacker community and how to achieve it. Of course by hacker we meant someone who loves to tinker with technology is competent with it, not someone who breaks into some else's computers. They were just 15 to 20 people who attended the session and every from them only a few people read the essay, though the notice said that they were expected to have read the essay before they come. Vikrant tried to make the session somewhat interactive but the audience weren't really asking questions or responding to prompts. We can say that we didn't get right audience but next time we need to come with more preparation, we need to prepare some prompts so that people can discuss upon it and we need to know in which directions we want to lead the discussion to.