Thursday, February 20, 2014

How to start programming?


A bit about myself:

      I did my schooling in Madurai, India. I love mathematics. In my early school days, I started solving sudoku. I also liked playing Tetris, Bomber man, Super Mario and what not. I like to compete. What’s the fun in playing Fruit Ninja without having friends to brag about our high scores?


Why I started programming?

      I felt goosebumps when a computer bot with artificial intelligence played wiser in a video game. I saw a program which could solve any Sudoku puzzle within a fraction of a second. I saw a program which could chat to me like a human. I saw a robot which could solve any rubik’s cube.  I realized that I could solve such problems by mathematics and little programming. And that’s how I started.


How can you start programming?


      Step 1: Learn a programming language. There are lots of books to learn programming. If you can’t afford a book you can use some Library. If you hate books, you can learn online through w3schools.com. The syntax and the procedures will trouble you initially. But it’s worth it.


      Step 2: Start solving some real time problems. There are many websites where you can start solving real time problems. You can start with SPOJ, ProjectEuler and MyCodeSchool.


      Step 3: After solving few basic problems you should start learning Data Structures and Algorithms which could help you solve challenging and interesting real time problems. As MyCodeSchool provides nice video tutorials, I recommend you to learn and practice there.


      Step 4: Get like-minded friends and participate in programming camps and competitions. Compete in Topcoder where all the programmers in the world take part regularly. Participate in IOI if you are in school and participate in ICPC if you are in college. Win a GOLD for our country.
Data Structures and Algorithms are very important. In addition if you want to learn Game Programming, learn openGL and keep in touch with Vector Algebra and Trigonometry. If you want to create programs which can think like humans you should learn Artificial Intelligence and Machine Learning.


In case if you love mathematics and computers, it’s neither late nor early to learn programming. Start now!.
                                                            - Prakash D(Game Developer @ Smackall Games)

Friday, May 31, 2013

Why should one take part in programming contests?

This post is only for students who are interested in math, puzzle solving and programming.

Why do students avoid programming contests?

1) New to online learning
2) Afraid of problems
3) Feeling shy to see their name lower in the ranklist
4) Academics
5) Entertainment
6) Girlfriend 


Why should one take part in programming contests?

1) Its competitive and fun.
2) At the end of every contest, you learn to solve atleast one new problem.
3) Finish laboratory exams quicker. 
4) The preliminary written tests in symposiums are equialent to the interview questions. More you take part, more likely you will crack the interviews.
5) You can turn any idea into a code.
6) You can be the first one to bring India a gold medal in ACM ICPC, the world's biggest programming contest.
7) You will take efficient and right decisions in your real life.


Don't do it for money. Do it only if you have the passion
The path to success is not just MARKS -> GRADES -> GPA -> INTERNS -> JOBS -> MONEY -> MARRIAGE. You have to aim higher.

Friday, May 24, 2013

What is it like doing a final year project at CEG

I'm currently working on the thesis of my fyp and I felt like writing a blog post about how I feel now.
I didn't do the project. I bought it outside for money. Because I didn't have a good idea for a project. When I was in 2nd year, I really got inspired by one of my seniors' final year project on image processing which takes a video of a cricket match (without audio) as input and produces a video with auto generated commentary. He had a great idea!. He was able to find some IEEE base papers on image processing and could have faced the further troubles.

The first trouble that we face is, choosing the project guide. Every project guide can handle only two teams. We are forced to choose a project guide sooner even if we don't have any idea of what we are going to do. My project guide was good in networks. Me and all my team members were bad at networks. But if we chose a project without involving networks, it would have been rejected/ignored. Our current fyp panel wants us to have at least 5 base papers (should take the results of 5 other projects and improve) which clearly restricts the students' creativity. 

How CEG final year projects are

I really respect those projects which actually help some people. But I lacked in idea. I didn't want to waste 6 months in my teen age to do a project which is of no use. I also didn't want my teammates to lose marks because of my attitude. So I bought the project for money.

I know that Ok you bought the project outside. Y are you still frustrated? is the question in your mind. Here is me answering

There are 3 project reviews. For each review, we had to face most of the following problems

1) Preparation of ppts and documentation for 2 days
2) Waiting for project review at the review hall for 2 days
3) Postponing of the review date several times 
4) Meet the mam at least twice before every review in which the professor wants you to change the ppt and documentation repeatedly.
5) Have to take several printouts.
6) We must not attend any interviews on all such timings.
7) We must concentrate on our font size and alignment 75 percent more than how much we concentrate on our code.

Even if you cross all those hurdles, you have to climb the everest called THESIS (Project report). You have to prepare a book about your project with at least 50 pages. You have to understand that preparing a book of 50 pages is 51 times harder than typing 50 pages. You will be forced to spend at least 2 weeks and 500Rs for this paper work. Finally this book goes to the dustbin.


Disclaimer:
Note that ppl who didn't buy the project, dayscholars could have faced more troubles.

Saturday, March 16, 2013

How to apply for companies (off-campus)

Most of the college students don't know how to attract the HR in their first mail. They used to send  "I'm the best candidate for your company. You cannot find any other candidate like me." and all.. This kind of applications will never receive any response. Your application should contain catchy and simple words which should attract the HR.

Here is an example.

I'm very much interested in doing an internship at Garage games. Is there a position available to work? If there is any such possibility then you can check out my resume I've attached. I assure you that you will find my profile highly competitive and I would be suitable candidate for this. If I am granted an opportunity I will carry out my work with great enthusiasm.

"Application for software developer", "Application for game artist" are some good subjects for your application.

This was suggested by one of my seniors 4 years back in his blog. I'd like to share the same as this may help some of my juniors.

Tuesday, February 7, 2012

Why I hate my Educational system?

I have few questions to those who designed the educational system..

No one is perfect so am I. Then why do you expect me to learn everything?

Ok I agree that my college has good professors. Everyone is specialized in certain fields. But Algorithm professor is not good at Multimedia systems. Wireless networks professor is not good at service oriented architecture. If they can choose what to teach, why can’t we choose what to learn?

Some students don’t like math from their childhood. Then why you insist mathematics in every semester?

Some students are very much good at designing. But you are insisting Service oriented architecture, Electronics devices and circuits to them. Why is it so?

Grade Point Average!!! What is it for? To judge a student that’s ok. How can you judge a student without knowing what is he capable of?

There are many sports players in our college. If they are not insisted with all these Engineering subjects they can even be an Olympic winner. Now you can ask then why they took Engineering. These students want Engineering as an extra knowledge. But your GPA system makes him his most loveable sport as his extra-curricular activity. Why your college system restricts student’s interest?

Why do the student who wins at National level Robotics competition gets an arrear in his “Applied thermodynamics” subject?

Why do half of the mechanical engineers get placed at IT industries? (I do have proof http://www.annauniv.edu/dme/index.asp)

Why don’t Google and Microsoft hire people with the qualification of GPA?

Ok.. Now you are about to ask do I have a solution?

Yes. I have few suggestions.


*If students can choose the subjects what he/she is interested in

*If students can learn whatever they like

*If professors acts as friends (very few are)

*If professors teach engineering and not the definitions in the text books

*If there are no written assignments and lab records

*If GPA is awarded based on practical applications

*If Professors support the student’s idea and creativity

*If HOD trusts the student

*If Laboratory hours are more than lecture hours

*If universities won't restrict the students to attend placements because of GPA lacking

If all these changes happen I like your educational system