Last week, I officially cleared my first year of engineering with a distinction. Seeing the incoming FE batch in college, we knew our results were near. Not that I was waiting eagerly for them, I just needed an assurance that I’ve cleared all my semester 2 subjects. I was especially fearful of my Electronics(BXE) marks, for which I had literally borrowed the book from a senior 3 or 4 days before the exam, and my Basic Mechanical Engineering(BME) marks. I just hated BME, it was way too theoretical apart from the unit on Thermodynamics. Types of levers, pulleys, cranks and what not! It was like Chemistry was back to trouble me, just in a different form. All you needed to do was to rote the local text book and you’re done(No offense to the guys who liked BME , but the first few units were just rote. Actually that can be generalized for nearly all Pune University subjects).
And my semester was further worsened by the fact that I spent the last 1 and a half month preparing for BITSAT. Yeah, I thought I would crack BITSAT in under a month. I managed to gather this whole lot of motivation, and I got all my JEE preparation books out. All those fat dreaded books. Looking back, its seriously an achievement that I even managed to work my ass off seriously for a month. The motivation actually came after I cleared the JEE Mains(yeah I’d enrolled for a whole lot of exams) without studying anything! It was quite motivational, that moment when I saw I’d cleared the exam. But frankly it was too late, just a month before BITSAT. Even then, I decided to give it a go. I seriously solved almost 60-70% of AIEEE topic-wise past year problems, read loads of topics from HCV 1,2. Made notes of about 7 or 8 chemistry topics. I’d never made these many chem notes last year. All this gave me some hope. A faint hope that I might just clear BITSAT. After nearly a year of no contact with those topics and books, I managed to cover quite a lot in this time frame. I feel pretty good about it actually. Maybe someday it could help motivate me.
Anyway, during my university exam, I had to go to Goa as I got BITS Goa as my BITSAT center. Eventually , I managed to score a few more marks at BITSAT than last year(near about 250) and that got me nowhere. I was quite disappointed, but then I avoided feeling depressed by being happy about scoring better than last year in so less time. I have no idea(not exactly, but lets ignore chemistry for now) how I managed to royally screw up last year’s BITSAT so much, that I managed to beat that score with just 1 month of preparation. So anyway, the conclusion: I probably just wasted these one and a half months. I don’t say wasted because I feel bad about not studying for my university. That wouldn’t have happened anyway. But I did lose 2 months which I would have better used for coding. Before preparation of BITSAT, it was coding , the whole time. Coding is way too addictive.
So after reading that description, you must have got an idea as to why I dreaded semester 2 subjects like those two I mentioned. Memory_based_subjects + No_study == Horrible_Combo. So eagerly opening up the .pdf document from the web, I quickly found myself in the ‘ALL CLEAR’ list. That was a HUGE relief! Later we got our marks, BXE I scored 65/100 and BME 44/100. I passed BME with a margin of 4 marks . And I’d fared pretty good in the other subjects , so I did manage a 70% average of both semesters. Nothing great, but considering the circumstances, I’m way too happy. Its making me feel less bad about wasting those 2 months. I would probably have scored 80%(if I’d studied, that is). Frankly I don’t really think a 70 or 80 does a difference, you get a distinction anyway!
Looking back at the year, it went pretty good actually. I got introduced to programming exactly a year back, and I’m quite passionate about it. Apart from college hours, which were sometimes horrible due to the compulsory attendance thing , the first year seemed pretty chilled out. The difficulty of the exams was not at all hard. Managing a distinction studying a week before exams is easily manageable(Provided your 11th 12th concepts are clear). And you can do this even after having fun. I did things that I hadn’t done till now( were they illegal? Lets not get into that) . A lot of new experiences.
Oh, and I managed to do a lot of coding. A lot! A year back I did not know even a single syntax of C or C++ or Java or any programming language other than VB taught in school before the 10th grade. And today, I’m probably better than most, if not all students in my department. A strong passion really helps big time. You can go hours doing a thing without even realizing how time has passed. You can forget food, television, mobile , even sleep. And practice makes you better, the more you do it. So its not that you need some kind of genius to get awesome at coding, you just need practice and passion. You get better eventually.
So in a way, the lower difficulty of FE actually helped a lot. You have an opportunity to use all of that free time for things that you’re gonna learn ahead!(or you could use ALL of that time to chill out, smoke up, party, watch movies and/or sitcoms all day,etc. its your choice and you’re gonna face the consequences someday! I say ALL in bold because I used some of my time for some of those things too. Maybe 10% in quantitative terms. But most of that free time was put to good use. ) The current programming subjects in college feel really easy. Where people have difficulty understanding a simple syntax in class, I manage to dry run the entire program in my mind. Actually , more than 95% of my batch mates struggle with programming. 60 – 70 % have an extremely hard time. The main reason, in my opinion for this is their lack of passion in the field itself. And without giving effort, you just cannot program well. And to give effort, you need to concentrate a lot. Programming is not something you can learn by rote. Its a whole lot like mathematics,there are just a few rules and its all about arranging and manipulating those rules according to the situation. That’s what I love about Computer Science, its pure logic. You either understand it, or you don’t. Learning huge chunks of code would just not help. The codes are way too huge and too many.
And what do I have to say about my college? Way too strict, even more than my school. Compulsory attendance is just a stupid concept that does no good whatsoever. Half of the teachers cannot teach. In the second year, more than half of the teachers cannot teach. University of Pune exams are way too shitty. Local books are shitty too, but they get full retard during the Second Year. Never go full retard. I’m yet to face my first exam in the second year, but I’m sincerely hoping that the professors don’t expect the answers from the local books. I might just fail then. Most students are not interested about their field. Most don’t care about things being taught. Few are quite interested and they get along well. Our Fundamentals of Data Structures professor is quite awesome. Our Discrete Structures prof. is also good. I think we deserve more of such faculty. But 80%+ of the class doesn’t take interest even in these lectures, so sometimes I feel I’m at the wrong place. I really hope more passionate people take CS/IT in the coming years at PICT.
So what do I plan to do ahead, by the end of this year? Loads of things. Actually I’ve barely scratched the surface of this field. I’m assuming passionate people from IIIT/IIT or other premier institutions who’ve had exposure to programming in their 11th/12th , must be way ahead. In my college itself there are a couple of immediate seniors who are way more experienced. That actually helps, you get a bit of motivation to do more! The things I plan to do before I write a similar post next year:
- Complete a couple of courses on Coursera. I’m currently in my fourth week on the Stanford Course “Introduction to Algorithms”. I really want to complete this course with a distinction grade.
- Understand all of Discrete Math and Computer Organization properly. Try completing the reference books. I’m really inclined towards these subjects apart from Programming.
- Learn more of C. Be familiar with every chapter of Kernighan and Ritchie C Programming Book. Get exposed and acquainted with all major algorithms.
- Contribute to open source projects that use C by the end of this year. This kinda leads to the next point.
- Try getting into Google Summer Of Code ’14. This is like one of the major targets.
- Learn Python in detail.
- Get back to Competitive Programming. Prepare for ACM ICPC ’14. I need to find time for this, at the moment I’m way too occupied.
- Know Linux in detail.
- This is somewhat optional, score a distinction in the second year exams.
- Learn front-end + back-end web development.
- Try finding my main area of interest(for further studies and or research/job opportunities possibly?)
- Complete season 3, 4, 5, 6 of Mad Men. Mad Men is way way way too awesome. Start Season 1 of Breaking Bad.
- If there’s any time left, learn to play the guitar.
That list is way too long , and I hope I manage at least 10 of those things. I’ll maybe check this blog post often to keep a tab on these. And to anyone reading this, who’s from a Tier-2 university(read local college) , please stop depending on the local books/notes and study the reference books properly. Else you’re not gonna remember any of the learnt stuff after your sem end exams!
Enough of rant about the past year. All in all, I’m pretty satisfied with 2012-13. Lets hope I’m even more satisfied with 2013-14.
*Note: Please ignore grammatical errors, my English isn’t all that awesome.