Showing posts with label Blog. Show all posts
Showing posts with label Blog. Show all posts

Friday, 6 July 2018

Getting Started with Computer Science-Part 2


Well, so starting with Computer Science becomes really tough, especially because no one knows where to. It happened with me a lot! I really wanted to study programming after JEE, but I didn't know where to. But I will tell you guys so that you don 't have trouble.

First things first, you can't rely on books to learn CS. You need to have access to the internet and online resources. Books are good for the theoretical parts(Data Structures and Algorithms, Discrete Math, theoretical CS, Cryptography, etc. I will tell you about these later on). So, you just need an internet connection to study.

So, as I mentioned in an earlier post, C++ is a good start. It's a good language with various applications, its still in use, and its accepted in almost all programming contests. Python is another good language for beginners, but its easy and has got its demerits as a first language(you will find it tough to move to C++ if you know Python as your first language, whereas learning Python after C++ is trivial). I'll tell you a step by step approach to learn programming.


1. Find a course on C++.

I personally recommend Bucky's C++ tutorials. They are easy to understand and to the point. If you watch and practice 2-3 videos every day, then you can easily finish it in 1 month. MAke sure you implement everything taught either on Ideone or on your Computer's IDE. The first video in this series explains how to install and use it. Follow the instructions well, I don't think there would be any issue. Don't move to the next video without understanding and practicing the previous one on your own.

There are many other courses on Coursera, Udemy, MITOCW, etc. but they are of some other languages. If you find a good one on C++ then its good. You can try it.. But I did this one(this is a pretty informal course, but I feel that formal courses should be done after you are done with the having the basics of one language on your tips. There are many places where you can practice questions. First be clear with all the basic functionalities and learn them by heart.

Another great website is www.learncpp.com. Its like a complete package.


2. Have a revision tool

After completing the above tutorial, you might wanna have a good revision tool. It can be a book, a website, an app, etc. I personally find books useful. Books have questions in them, and theory too. Reading a book will really tell you much more than what you can learn from an online tutorial. I guess you can start with this very famous book called Let us C++. I never used it, but I think it must be good. It will prove very beneficial after you have done Bucky's tutorials. This is not a very good book according to many people, but it will surely help you get the basics easily.

Also, there is this app called Sololearn, which is useful if you want to catch up the syntax of any language.

3. Get a practice source

There are tonnes of websites out there which contain questions for practice. A good one is SPOJ. I have linked the basic problems section. Solve them in the order of decreasing number of users(click on the users tab to arrange in decreasing number of users order). This can be done while reading the book(step 2). After you are thorough with it, you can move to the classical section and again arrange and solve. These are really nice problems and they are very useful for developing good coding skills. However, many of these problems involve the use of basic Data structures and some Algorithms(sorting, BFS, DFS, etc.), I'll be blogging about it later, for now, the basic problems are a good start.

There are many other sites like CodeChef, HackerRank, CodeForces, HackerEarth, etc. I personally find HackerRank good, but SPOJ is the best, because it requires thinking about the problem from scratch without any precoded stuff.


4. Learn how to use the internet to solve your problems

There a lot of resources online. Learn to google well. USe few keywords. When you see a compilation error, google it out(paste the exception type on search bar). You will definitely find a solution on StackOverflow. Similarly, if you can't solve say problem ID 3458, then google SPOJ 3458. Most probably you'll get an answer. This is a very important tip for aspiring programmers. I have started this recently, I think every one must know it from the start.


I personally feel this is a good strategy to learn how to programme, for the absolute beginner. After this, you should go for studying Data Structures and Algorithms, which I will post soon(once I am done with it :p)

Thanks and all the best!!! Feedback is welcome in comments, and do tell your friends about the CS section of the blog.

Also see-Getting Started with Computer Science- Part 1.


Getting Started with Computer Science- Part 1

I have completed a year at IITB, pursuing Computer Science and Engineering. This post will be for anyone who is interested in Computer Science, be it a middle school student, a class 12 student preparing for his/her school exam, or a college student who is interested.

I am not a 'hackerman type' coder, but I guess I know enough to set up a path for people who are about to start with programming. I know C++ very well, and I am pretty decent in Python, Java, and Lisp(taught in college, otherwise I would never have learned this beautiful language). I have recently solved a lot of competitive programming questions, and have also learned some basic Data Structure and Algorithms. I recently tried my hands on Android and Web Development(didn't go very far though, as of now).

There are always some questions which trouble beginners a lot. I had those questions in my mind too, when I was about to join college. Some of these include-

  1. I guess I am too 'young' to do something magnificent like 'coding'.
  2. I should wait until college to start. I should focus on my school and 'JEE' for now.
  3. I don't know where to start.
  4. Which laptop should I buy?
  5. Why should I learn to code?
  6. I fear I will break something.
  7. I don't have a laptop. I guess I should not go into this field.
  8. I am not in Computer Science branch in my college, I think I should focus more on my subject instead of learning Computers.
  9. Which 'language' should I begin with?
This post will focus on these questions. I will be telling you more about resources, and what to learn first later(in a separate post). This post is more focused towards taking out all your fears out.


1. I guess I am too 'young' to do something magnificent like 'coding'.

Well, this used to happen with me too. Believe me, coding is something which even a class 6 student can do(or at least class 8). it is not a very huge thing. People think coding is something like building Google and Facebook. These companies employ thousands of highly trained individuals(only a few IITians from top colleges manage to land a job there). Please don't think too much in the initial stages, and focus on yourself. It's a skill acquired over years, and it's not tough if you keep yourself motivated. Programming is fun and everyone must learn it. It is a very easy thing, contrary to public opinion.


2. I should focus on school/JEE instead of doing this.

This is probably the stupidest reason for not learning to programme. I personally feel I should have started coding at an early age, say 6th or so, instead of learning Physics and all. I do understand that JEE is important. My advice is that if you are someone who is good at studies and is below class 11, then I guess you MUST take out an hour every day and learn how to code. You can stop if you are serious about JEE and continue it in class 11, and stop for a year, and continue after JEE. But if you are in class 9, and feel that it's too early/I should focus on JEE, then you are doing a huge mistake. I personally feel that these Olympiads and NTSE aren't really great stuff. Not very useful. Better learn to programme, if you are interested. It will help you in the long run. You can go for IOI too, which is highly valued(Adam D Angelo, the founder of Quora, is an IOI medallist too).
Bottomline is that if you are below 11th, start ASAP if you have even the slightest of interest. Else focus on JEE, if not already started.


3. I don't know where to start.

Well, see this post for that(will be updated soon). First, I want you to realize that programming isn't tough or something magical. I'll be putting up the post on resources and where to begin after a few days.


4. Which laptop should I buy?

Pretty much anything will do but have a look at this post to see more about laptops.


5. Why should I learn to code?

Well, I can write a 1000 page book on this. Basically, everything today(and even more in future) depends on computers, and hence on programmers and computer scientists. Your mobile phone works cause someone has coded the software. Heard of those self-replicating robots and all? They involve a branch of Computer Science called 'Machine Learning', which is a subpart of 'Artificial Intelligence'. Your bank details, passwords and login credentials of your Facebook account are secure due to secure Cryptosystems in place(another branch of Computer Science). You might not be knowing it, but you already know a lot of Computer Science! You might be knowing many Algorithms like Eratosthene's Sieve, Greedy Algorithms, Linear Search, etc. without even knowing! Engineers, Medical Scientists, Mathematicians, and probably every imaginable field of science is benefitted from the existence of Computers in some way or the other.

Talking of materialistic benefits(although I am a sophomore), CSE has got really good research and job prospects. Every company, startup and research project needs good quality Computer Scientists/Software Engineers. Computer Science is the future. You can practically go to any field of interest if you are into it. So yeah, it's definitely worth trying!


6. I fear I will break something.

Lol, no way. Quoting Professor Umesh Bellur from IIT Bombay, CSE is one of the few fields where you can't break anything. Every other field includes some or the other physical device, but in CSE, you are just using your computer. Unless you are really unlucky, nothing happens to you or your laptop at all! Don't be afraid of anything and focus on learning.


7. I don't have a laptop/PC. I can't code!

Well, there are many online IDEs(basically a website where you can type code and it will act like a laptop where you are coding) like Ideone. I use this sometimes, and I find it really great. You can use your phone(I assume you must be having a phone which supports Internet) and go to Ideone, and code there while learning from online resources. So, laptops/PCs won't be a real issue, but it's recommended you use one.


8. I am not in Computer Science branch in my college, I think I should focus more on my subject instead of learning Computers.

Well, read point 5 again. I don't know much about placements and all, but I have heard from seniors that even if you are from a non-CS branch, you can get a career in CSE provided you study well. If you are interested, go for it. To learn a skill is better than not learning anything.


9. Which 'language' should I begin with?

This sounds very naive to me now, but there was a time when I used to ask the same question to everyone, and it's perfectly fine. Well, Computer Science is not about learning n number of language. Language is just a means of communicating with the computer. There are hundreds of programming languages, and everyone has its merits and demerits, and different use. Most complex structures like Facebook use many languages. You need to pick up one language first. Once you are good with its concepts, you can pick up any language.

I personally feel that C++ must be your first language. I will put up resources about it in another post, soon. Stay tuned.


So, this was it. I hope all your doubts are clear now. Hopefully, this post must have cleared many of your doubts and misconceptions. You can see this post for the second part, where I'll be telling where should a guy who hasn't touched a computer in his life go to become a programmer.

I hope you liked the introductory post for the Computer Science section of my blog. Do share with anyone who might be interested. Thanks, and feedbacks welcome as comments below.


Also see: Getting Started with Computer Science-Part 2



Thursday, 5 July 2018

Strategy to solve I.E. Irodov

You can refer this answer for a discussion on Irodov, my pattern to solve it, and how you should solve it.

You can find the solutions to Irodov in these books. These are in the latest edition, so you can order them from here-



These are the solutions I consulted, and they are really clear and crsip. Note that the second book might get out of stock soon, so you can use the kindle edition. It's economical, and environment friendly. Also, you must try a question on your own until you really need the solution.

Here is a list of problems from Irodov which are in JEE syllabus(sorry for the sideways orientation) :p.




Thursday, 28 June 2018

Informal post(1,00,000 views)

We have reached 1 lakh views on the blog in a very short span of time(i.e. 2 months of active writing). Thanks to everyone who has viewed/followed my blog.

There are many people who visit the blog but don't follow it. If you are interested in the content, do follow it via email/blogger(both the options can be found in the right sidebar and its recommended to do both). It will help you get notified about the latest posts.

Also, today is my father's birthday too!!! All this in one day is huge. And Elon Musk and Helen Keller too have their birth date today.

Anyway, you will be seeing such informal posts time and again, so that you don't get bored :p

Thanks to everyone again!

Thursday, 21 June 2018

College101- An Introductory guide for about-to-be college students

So, exams and results over. Most of you would have already decided whether to take a drop or not. If not, see this. So, this post will guide you about the Do's and Don'ts for college, based on many messages, emails, and comments I have been seeing over the last couple weeks. I'll be doing this as a Q&A session, based on the questions most requested to me.

1. Which college is the best for me? I am yet to decide my choices for counselling.
Well, check this out, this is a complete guide to choose your choices. Also, please consult people from all the choices you are filling. You can discuss your doubts here. This group has people from all colleges. Also, see this post. It will help you. Finally, I must say that it's your choice to go for a particular college/branch. I am not at blame if you end up choosing something you don't like. Consult many people and decide.

2. What should I do in the 1-month break I have before joining college?
Well, you had been studying for a long time, so I suggest you enjoy this time. You can pick up a hobby, learn to code, spend some time with family and friends, etc. In my case, I watched a TV Series called 'The Big Bang Theory', learned to play the Guitar, made up my Facebook page(like it for interesting stuff on JEE, college, and computers), visited a lot of places, etc. This time is precious as it won't come again. I strongly recommend learning to code in this break. It is because it is fun, every college has a course on Programming, and it's a must-have skill today.

3. How to learn to code in this break?
There are plenty of resources out there on the Internet. I strongly suggest you to learn C++ as a first step. You can do it first by seeing this playlist by thenewboston(really nice work). You will not get everything in the first try, but keep on trying. You can use this book along with these tutorials. For problem practice, I recommend you to practice a bit on SPOJ. Go to the basic problems sections, arrange them in the order of decreasing number of users, and solve around a 100. If you do this you will become really good at coding and will ace the first year(irrespective of whether you are in CS or not). You should see these articles-Getting Started with Computer Science- Part 1 and Getting Started with Computer Science- Part 2

4. Should I buy a laptop for college?
Well, if you have a financial problem, then you don't need to for now, because every college has a Computer lab, but still having one is immensely useful. Everything in college depends on your laptop, and you must buy a good one. If you haven't thought of buying a laptop yet, and plan to do it later, DON'T. Get it now, and get used to it, code a bit, play with it. A good laptop must have an i3 or above processor(7th gen or above), 4/8GB RAM or more, a decent Graphics card, and a good hard drive(SSD preferred, or 1TB hard drive at the minimum). Currently, many back to college and cashback offers are available on Amazon, so you might want to buy from these links. I have searched for the best laptops available in every range(arranged in increasing order of price). Some of these(the cheap ones) don't have OS, you can install Windows(paid) or Ubuntu(free)

Asus Vivobook X541UA-DM1358D (Intel i3 7100U (7th Gen)/4 GB DDR4/1TB/Intel HD Graphics/DOS) - Silver

Lenovo Ideapad 320E 80XL0378IN 15.6-inch Laptop (7th Gen Core i5-7200U/4GB/1TB/Windows 10 Home/2GB Graphics), Onyx Black

ACER E5-575G/Ci5-7200U/4/1TB/W10/2GB GRAPHICS/BLK NB (NX.GDWSI.007)

Dell Inspiron 15 3000 3567 15.6-inch Laptop (7th Gen Core i7-7500U/8GB/1TB/Windows 10 with Office 2016 Home and Student/2GB Graphics)

Apple MacBook Air MQD32HN/A 13.3-inch Laptop 2017 (Core i5/8GB/128GB/MacOS Sierra/Integrated Graphics) (If you can afford 60k, do go for it. Apple is a class apart, unless you are into gaming

HP Pavilion 15-CC129TX 2017 15.6-inch Laptop (Core i5/8GB/1TB/Windows/Integrated Graphics), Silver

Microsoft Surface Pro (Core-i5 7th Gen/4GB/128GB/Windows 10 Pro/Integrated Graphics), Silver

2018 Flagship HP Pavilion 14" WLED HD Premium Business Laptop - Intel Dual-Core i5-7200U up to 3.1GHz 16GB DDR4 1TB HDD B&O Play 802.11ac Bluetooth HDMI USB Type-C Webcam Backlit Keyboard Win 10

The list is by no means exhaustive, but I have tried to cover laptops of all range. If you are too lazy to buy one from out, you can order from here, I have taken this list from various tech websites and personal experience. You will find them good. Avoid watching a lot of TV series/movies.

5. How to survive in college?
Every college has a different culture of study, extracurriculars, etc. Talk to seniors and develop a healthy relationship with them. Ask them about the study patterns. And talk to many people. And try to adjust against feelings like homesickness, lack of friends,etc. Develop confidence and avoid bad habits.

This was all. If you have any more doubts, feel free to comment here.


Thursday, 14 June 2018

Coordinate Geometry, 3D, and Vectors

This is usually counted among the tough topics. Because it involves a lot of formulae and calculations(at times) and hence costs a lot of time during exam. You might wanna be very fast in calculations before moving here. So prepare your algebra well!

So, the topics will be 

1. Straight Line and Basics- This is the most important chapter because this forms the basis of other chapters. There would be various forms of lines, and you must be familiar with each and everyone of them. There would be lots of definitions in this chapter(orthocentre,incentre,etc.)Lots of formulae, learn them all by heart.  Shift of origin and family of lines are two important topics which will help you solve questions fast. Practice a lot, and different types of question, don't solve 10 questions of the same type. Solve 10 questions of 10 types(i.e.1-2 questions of each type).

2. Circles and Conic sections- You must be well prepared with formulae of equations in standard form, parametric form, positions of foci, vertices, length of latus rectum,etc. tangent, normal, etc. Joint equation of curves and lines is very helpful at times. There are a few special results(e.g. reflection properties of parabola and ellipse). It's tough to remember them all in one go. Take your time and try to apply them in questions to learn them. Do a lot of locus problems. Again, lots of types, and solving many problems of different types will help you.

3. Vectors and 3D- 3D is just a continuation of 2D Geometry. Have a good thinking of the problem in 3D. It will help you. Again, formulae-remember them. You won't face much problem in 3D. Vectors would give you problems :p. Well, try to think of vectors in terms of 3D when in trouble. There are a few standard techniques(taking dot product, cross product with something, etc.) try to implement them and see if they help. Keep on solving a variety of problems. Various lines forms get confusing. Tricky questions can be easily formed in vectors. Try to think of all the formulae available to you. It will surely help. Again, this is mostly based on revising and practicing. 

So, Coordinate Geometry, Vectors and 3D are mostly calculation based, with a handful of central concepts which apply to all the problems and situations. If you study it deeply you would find beautiful connections between various formulae and situations. I'll leave them for you to discover(NCERT style :p).


BOOKS

As usual, if you go to a coaching, follow that book. If you don't you can take this book from Resonance. I can't find the link for other books, so you'll have to take the ones mentioned below(I was from Resonance and found their study material pretty good).

If you want more practice, go for Arihant coordinate geometry and Vectors and 3D.
S.L. Loney is another beautiful book, with some very good questions. It is surely worth solving, if you have time. Apart from this, A. Das Gupta has some really nice questions in 2D coordinate geometry. Do solve them if you want a very good grasp and rank.





So, do well in coordinate and Vectors and 3D. They carry a huge weightage. They need some revision and practice. Give your best, and let me know if you have any doubts by commenting below.

All the best!!!

Also see : CalculusAlgebra, Trigonometry, Best books for JEE


Friday, 25 May 2018

Mechanics

Many of you would have started with mechanics by now(class 11 people I mean). New nightmare right? (:p) But trust me, this is an area which is hated by many by the time it starts and is loved by the time your course is about to get over. However, JEE has got a reputation for asking some really mind-boggling questions from Mechanics. But don't worry, I am here to guide you through a step by step analysis of Mechanics.

It starts with Kinematics. Be clear with Vectors and Basic Math, and you are done. Practice a lot at this stage because you would have an early practice of solving equations fast.

So, the next chapter is NLM. It might be seeming very tough to you, but don't worry, by the end of your course you would be really comfortable with it. Practice a lot of questions. I can't emphasize it more. Be thorough with concepts like friction, strings, and pulleys, Normal force, Circular Motion, etc. Practice till you are perfect.

Then comes Work, Power Energy, and Gravitation. Practice conservation of Energy a lot. It is very important in Physics. Gravitation is linked to this. Again, look out for Energy conservation and Kepler's law when solving Gravitation questions. Work-Energy Theorem is another important concept. Make yourself comfortable with the topic.

Coming to Centre of Mass, and Momentum. One of the toughest chapters after Rotation. Tough nut to crack. Step one could be trying to remember all concepts and equations. It helps a lot. Be thorough with vectors. Momentum conservation relies a lot on it. Collisions has some interesting problems. Be thorough with the main formulae. Conservation of Momentum and Energy are central here. Remember positions of COM of various objects. It will be very helpful in future. Remember some basic cases in collisions(small object, heavy object, same masses, etc.) Spring questions are common. Be aware of springs in parallel/series, and basic equations.

Rotation is a real tough nut, and JEE asks some really awesome questions from this section. This is tough and has got a good weightage. You must give a good amount of time to it. It begins with Moment of Inertia. Learn the MI of various standards objects, and be thorough with the derivations. It will help you in case some questions based on calculating MI comes in JEE. Then there is a discussion of angular velocity, rotational Kinematics, etc. Pretty easy if thorough with basic trigonometry and Kinematics. Then comes torque, angular momentum, etc. This seems tough, but it will come naturally to you with time if you are clear with NLM. Remember there are only few equation, T=I(alpha), and L=Iw. Try to remember these using a correlation with NLM. Conservation of Angular momentum is very important. Lots of questions are asked from this topic. Be clear with the axis of rotation and the point about which you are trying to conserve it. Massive problem solving will help.

Then comes SHM. Another basic and important topic. Remember the derivation and equations of SHM. Remember the Time Period formulae. It will save a lot of time on the final day. Questions involving finding the Time Period of any mechanical system are common. Be thorough with them.

Fluid Dynamics and Elasticity- Not very important but few easy questions come for sure. You don't wanna miss them. Continuity equation, variation of pressure with depth, and Bernoulli equation are important. Try to do some questions of Surface Tension too(JEE has asked some really tough questions from this topics). Elasticity has a graph of Stress vs Strain. Remember it well. These chapters have a bunch of long equations. Try to remember them. There might be a few questions at least in JEE(Main) where you would need to evaluate the expression.

So, this was the chapter Synopsis. Coming to the preparation strategy, first of all listen to your coaching lecture/online lecture and do homework, and discuss in class if you are in a coaching. This will help you clear Mechanics.

Coming to books(and hence the self-study guys too) HCV is the god-book for Mechanics. Read every line(irrespective of whether you are in a coaching or not), understand everything and solve each question. Solutions are available somewhere on the Internet I guess(don't know if they are copyrighted or something, so beware). Discuss with teachers. If you sincerely solve all questions of Mechanics then no one can stop you from being a Master of Mechanics. I also recommend reading NCERT. It gives a wonderful insight into the subject and will prepare you for JEE(Main) and Boards too. If you need more objective practice, go for DC Pandey Problems book. Deb Mukherjee's book is really good for conceptual questions. And then comes the GOD- I.E. Irodov. This will prepare you for Olympiads, and for facing any question in JEE(Advanced). Solve this only if you have time and are done with the above stuff. Better do it during Holidays. But trust me, Irodov will give you an upper edge if you are aiming for a top 100 rank or so.

You can buy the books at a cheap rate from these links -

1. HC Verma                                             
2. DC Pandey Problems book
3. DCP Mechanics Part 1
4. DCP Mechanics Part 2
5. Irodov
               
    


This was Mechanics. I'll cover more things with time. Feel free to comment any doubt/suggestions.

All the best!!!

P.S.- Guys, do follow the blog(using the option of the left) for regular updates. I'll be adding a lot of information in my summer vacations.

Also see: Best books for JEE , Electromagnetism,MotivationA complete JEE preparation guide, Organic ChemistryAlgebra,