# Video Lecture on P, NP and NP-Completeness Problems

This is my small effort to make the topic NP-Completeness clear to students studying Design and Analysis of Algorithms or preparing for GATE Computer Science. Please use the following link to download the video lecture:

NP-Complete-Lecture-By-Ankur-Gupta

It’s in compressed zip format. Therefore first decompress it using some zip utility and then click on the file “Launch.exe” to watch the video.

Source: Wikipedia

# Books and Other Resources for GATE Computer Science, Part – 1

Hello friends! I hope your preparation for GATE is going well. This is a long time after I wrote my last post. In this post, I am writing about the books and other resources that I had followed while preparing for GATE Computer Science and I hope it may be useful for you also. Most of my notes are based on these resources and these will help you a lot if you are referring my notes. This is not the only material to be followed for the preparation of GATE Computer Science. I encourage you to follow mainly those books that you like. It’s just a suggestive list for all those who usually ask me which books to refer for GATE Exam.

#### 1. Mathematical Logic, Set Theory & Algebra, Combinatorics

There are mainly two books that I had referred to prepare for the above topics:

• Discrete Mathematics and Its Applications by Kenneth H. Rosen
• Discrete Mathematics by Seymour Lipschutz & Marc Lars Lipson

First book is enough for most of the topics. For other topics that are either missing in the first book or you want to read them from some other book to make the concepts clear, you may use the second book.

#### 2. Linear Algebra, Permutation, Combination, Probability, Calculus

i. For Linear Algebra, it’s advisable to study the matrices portion from the “Engineering Mathematics” book that you had studied in your B.Tech 1st year. You can also study my notes and then try solving the problems given in the book or in previous year GATE papers.

ii. For Permutation, Combination & Probability, I would suggest you to watch the video lectures from Khan Academy website. These lectures are really very nice. After watching these lectures, you should try to solve the problems given in the 12th class mathematics book. You can also solve the problems given in the above two books for Discrete Mathematics. These are the links of the video tutorials from Khan Academy:

iii. For Calculus, solve all the examples given in the 12th class mathematics book. You don’t need to spend much time over this.

#### 3. Numerical Methods

Usually one simple question is asked from this subject. It would be fine if you remember few formulas, their properties and  then practice to apply those formulas on some problems. There are  just 2-3 pages dedicated to this portion in my notes, in which I have written the formulas and their properties. You should practice to applying those formulas on some simple problems. You can also refer the following book for more details:

• Computer Based Numerical and Statistical Techniques by Manish Goyal

#### 4. Graph Theory

In this subject, you are supposed to understand and remember all the results (Proofs and Lemmas). You can find most of those results in my notes. For detailed study, you can refer the following book:

• Graph Theory with Applications to Engineering and Computer Science by Narsingh Deo

While studying, I recommend you to create the notes from whatever you have studied. It will help you later in revising.

PS: This is the end of the first part of my post on “Books and Resources for GATE Computer Science”. I will write the next part of this post within one week. Please keep checking my blog or like my page to get update about my next post. Thanks for giving your time in reading this post.

# IISc Undergraduate Summer School on Computer Science

Today I am writing about Undergraduate Summer School on Computer Science which is being organized by Computer Science and Automation Department at Indian Institute of Science, Bangalore. It’s a five day summer school on computer science which will be held at Department of Computer Science and Automation, IISc, Bangalore. It will introduce you to the cutting-edge research in computer science. Most of the undergraduate students usually have so many doubts and queries, about the research career, like:

• What is research?
• Where do I start?
• Why should I do research?
• I don’t want to become a professor.
• I can easily get a job in an IT company.
• …………………….

This summer school is going to give answers to all of your queries. It will contain talks and hands-on sessions by the department facultyresearch scholars and industry experts, covering theoretical, applied and modern aspects of computer science. It will be covering topics like Algorithms, Automata Theory, Compilers, Cryptography, Computer Security, Database Systems, Game Theory, Graph Theory, Machine Learning, Operating Systems.

In addition, participating students will have an opportunity to interact with students and faculties of the department. I am sure that if you come and attend this summer school, your views about research will change completely. It will be a unique experience for you to come and see this beautiful campus, with so much of natural beauty. Until I had joined this best research institute of India, I always wanted to visit this beautiful campus once in my life. Therefore, don’t waste your time and hurry up to fill the form online, because this kind of opportunity don’t knock your door frequently. This summer school is open to second and third year B.E./B.Tech students of Computer Science/Information Technology and the last date to apply is 28th Feb. So, Hurry up!!!