25 July, 2014

Women In Enginering

Women have traditionally been underrepresented in the field of engineering. Not only engineering, you can say, women are under-represented in all STEM branches. According to a survey, 12% of the total computer graduates are women, which was 37% in 1984. This depicts, something is terribly going wrong. Since past a month, I have been constantly observing and finding at-least one instance per day in my vicinity, maybe, magazines, newspapers, talk with friends and colleagues, television, movies etc. which makes me realize, that there is a dire need for representation of women in engineering as well as to motivate and encourage them to reach almost 50% by 2020. Almost every esteemed companies have become conscious about the gender ratio and have released various detailed statistics about the same, sector-wise as well as country-wise. Most of them have taken up several programs to try to build a bridge for gender balance at workplaces.

Where I have encountered lack of feminist sexism in technology ?

I did my pre-higher secondary schooling from a girls school. I never realized the scarcity of women, until I entered my university and saw woman:man in the ratio of 1:6. The house of residence in the campus had 9 wings for men and just 2 wings for women. This was the very first encounter and then living with it for the past 3 years of my under-graduation, there had been several instances listed below -

The recruitment teams which come to hire freshers in my university, most of the companies had 20-25% females at-most. One of the company which selected me to proceed for next rounds, had not a single female in their recruiting team. In the personal interview, looking at my resume filled with many women in tech initiatives, we had a long discussion about the current scenario of women in STEM branches, the reason behind it and what can be done to improve it.

I was in the programming club at my university, one of the core 5 members. I was the only female and had a hard time some time, maybe, because I was the only female member.

I was the only female from my university selected as a Google Summer of Code 2013 student.

I was the only female from my university as a Google Code-In 2013 Mentor.

The list would go on and on, but cutting it down, I had a very hard and tough time making my place, taking a stand and getting a recognition as a "geek-girl". Today, when I receive many appreciation, it makes me very proud. I am short of words to describe the happiness when my friends and colleagues dedicate me positive words of enthusiasm and comments of what I am today.

What can individual girls do to overcome those hindrance and welcome women in technology related fields according to me ?

Learn to identify what’s discriminatory about this practices. Once you are able to recognize it, you can work upon it and get yourself better.

Befriend other women.  Males, as far I know, most of them remain quite alienated and stay in their own groups. But, if you look in your vicinity, I am sure you will find a female friend, who is just like you. You share the same enthusiasm for technology and face the same problems. If you can't find such a female friend, you can ping me :)

Find woman-friendly environments. Get involved in open source and join hackathons.

Filter out the sensationalist, negative articles shared on social media. There are dozens of articles focusing on how woman are doomed and they even get likes and shares. Trust me, ignore such posts and focus on positive ones.

Explore and help inform other girls and women of the benefits of working in technology.

MY EFFORTS:

1. WOMEN WHO CODE, GUJARAT

I act as co-founder of a local chapter of “Women Who Code”(WWC) in Gujarat, where I am able to discuss important issues with other female engineers in my province. We, at WWC aim that women should have an equal representation in the technical sector and hence we promote Women in technology through free technical study groups, hack nights, career trainings and larger monthly events which feature influential tech industry experts. As a founder of WWC Gujarat , I am responsible for the Women Who Code Meetup group in Gujarat. I plan weekly and monthly events and am responsible for securing sponsorships, assigning leadership roles within the team and ensuring that the WWC mission and vision is appropriately represented in my state.

Links you would wish to connect with:

2. GOOGLE ANITA BORG MEMORIAL SCHOLARSHIP

Dr. Anita Borg devoted her adult life to revolutionizing the way we think about technology and dismantling barriers that keep women and minorities from entering computing and technology fields. In her honor, Google honors in Anita’s memory and support women in technology with the Google Anita Borg Memorial Scholarship. Google hopes to encourage women to excel in computing and technology and become active role models and leaders in the field. I am selected as a scholar for Google Anita Borg Memorial Scholarship Asia-Pacific 2014. I would be attending the retreat at Google Tokyo Office.The retreat will include workshops, speakers, panelists, breakout sessions and social activities scheduled over a couple of days.

Links you would wish to connect with:

3. TALKS ON INTERNATIONAL WOMEN DAY

On the International Women's day, Google conducted the Google Women Tech-Makers conference, where I delivered two talks, one on Google Cloud Platform and other how to get into Google Summer Of Code at Google Developers Group, Gandhinagar.

I am looking forward to get involved in more such activities, where I can contribute and make a change to the society ! :)

Disclaimer: The activities conducted for women, is not pointing by any means to Gender Discrimination to Male, it just a small effort to help the girls, who are able and capable but are not able to make up a position in the male-dominated field.

PS: One of my long term dream is to become a role-model for women who are interested in computer science or related fields. :)

Teaching Assistant IT105 - Setting up CourseWork on Spoj

I tried to find a good blog/tutorial for setting up spoj, but din't find actually a good one and so I planned to write this post. Hope it helps you. Continuing from my previous blog ...

Assuming you have an account on spoj, in order to set up assignments and groups, you need to ask for spoj to grant you with the privileges to 1. add problems and 2. add contests. This can be done by adding up the form http://www.spoj.com/info/ . You need to have solved atleast 20 problems on spoj or give link to problems solved on any other online judge, in order to ask for these rights.

Next, you will receive a confirmation mail and next time you login into your spoj account, you will see a new
pane with added options as shown in the figure-

We needed a closed group wherein just the students of DAIICT are allowed to take up the assignments and participate in activities. So, if you need a group, click on add group in the highlighted portion. This will redirect you to a form, shown below. Fill in the details of name and password and click on create. Make sure you add all the members into this group to make the assignments visible to them. Initially, the newly created group will have no members.



Now making an assignment and allowing the students to work on it for a timeline of one week is equivalent to setting up a personalized contest with duration one week, right ? So now lets move on to making our first assignment. Click on add contest. This would ask you some trivial information which is self-explanatory. In case you don't understand what to fill in some fields, there is an information button that will guide you.



  

After you fill in details uptil language, make sure you click the MODIFY button or else all the typed information will be lost later on. The next part, adding problems to the contest is a bit tricky. The 4 step-process is shown in the below figure. In order to view the individual submissions, you have to make sure that the problem is added by you. Or else, you can add them to the contest, but you won't be able to see the submissions. Adding a problem is shown in this blog.


Congratulations ! You are now set up with the system. You can add news to the contest, view ranks, see when the question was solved, how many attempts it took, the running time, memory usage, accuracy of a problem, see comments and reply to it as well as give out editorials after the assignment deadline. Cheers !

Hope this helped you. I would love to hear from you. Kindly give feedback in comments and if you face any problems, do comment. I will try to help you out. 

Teaching Assistant IT105 - Adding problem on Spoj.

Continuing from my previous post ...

In order to view individual submissions of the problem, it is necessary that the problem for which you want to see solutions was set-up by you. Also, when designing assignments you will come up with problems which you would have to set on your won. Hence, lets look at how to add a problem. Trust me, its very easy. :)

Assuming you have an account on spoj, in order to set up assignments and groups, you need to ask for spoj to grant you with the privileges to add problems. This can be done by adding up the form http://www.spoj.com/info/ . You need to have solved atleast 20 problems on spoj or give link to problems solved on any other online judge, in order to ask for these rights.

Now, when you login, go to http://www.spoj.com/problems/my/ . This will show up the list of problems set up by you and also allow you to add new problems as shown in the below figure. Click on Add Problem.


You will redirected to a page to add a problem. It requires to fill up all trivial basic self-explanatory details. If you aren't sure what a particular field expects, click on the i-button.



Before you proceed to putting the hidden input test cases and output test cases, make sure you click on create. 

Click on Edit Problem. Scroll down until you reach Test case Setting. You would have to upload two files  - one for input and other for output which would be matched against and acting as stdin and stdout for the submission. In the Problem Test Sequence field, input all the testcases which you want to check the solution against. (eg: #0, #1 etc)


Congratulations ! You are now completed adding a problem. You can add this problem to the contest and view individual submissions. To view individual submissions, go to the problem in contest and click on All Submissions and then click on Id of the particular solution which you want to see, as shown in the below screenshots.



If you like this tutorial or face any problems, do comment below ! :)

Teaching Assistant IT105 - Automation in Assignment Assessment

I am now a final year under-graduate. According to the institute policy, now I am eligible to be a half-time teaching assistant or a research assistant, and invest my time constructively apart from my academic work. I am in talk with professor Sanjay Srivastava of IT105 course, Introduction to Programming for the freshman under-graduates and would be probably, a teaching assistant for this course.

The strength of the students who would be taking this course will be approximately 300, which increased last year due to an increase in number of seats intake. Previously, the assignments were uploaded on course-moodle website and the assignments were submitted as a zip folder containing individual files. Downloading each file, compiling each program and running it to check for the output individually was a very tedious job. Also, it was very difficult to detect plagiarism. Due to all these drawbacks, the lab-component was graded based on the majorly vivas and not considering the coding assignment, which was unfair to some extent. There was a dire need for some kind of automation, which would make the entire process transparent, less tedious and less erroneous. There are two options for this - either write a lot of scripts and make it run or use some kind of online judge.

Two of the most popular online judge are spoj and hackerrank. Analyzing the pros and cons of both and fulfillment of the needs in each, use of spoj was finalized. I will walk you through the steps in next post of making a closed system for a group, where you can put up assignments, contest and problems, students can submit their codes and you can check for codes. The correctness of the solution need not be individually checked i.e. you can provide some sample test cases and some hidden test cases to judge the solution.

The next post will give you an insight on how you can set up the system which would lessen your burden and ease your life. Stay tuned !