Lecture Notes

The lecture notes given over here have been from the courses taught at Dept of CS at M B M Engineering College during 1997-2013, and at IIT Jodhpur, during 2010-2017. These lecture notes have been typeset in Latex, and also comprises the Home assignments, mid semesters and End semester exams, and solution, particularly in the case of IIT Course. The final versions, year-after-year improvement and upgrading has been uploaded here.

Various courses of B.Tech./B.E. and M.E. (Master of Engineering) for which they have been designed are: Theory of computation, Artificial Intelligence, Compilers, Computer Architecture, and for M.E. (PG) : Natural Languages and Speech Processing and Theory of Formal Languages.

Also the BTP which suggests various B.Tech Projects, has been included.

Lecture notes

Artificial Intelligence

This covers lecture notes in the course of Artificial Intelligence taught at Indian Institute of technology, taught by the author during 2010-2017.

Read it
Theory of Computation

This covers lecture notes in the course of Theory of Computation taught at Indian Institute of Technology Jodhpur, by the author, during 2010-2017.

COmputer architecture

This covers lecture notes in the course of Computer Architecture,  taught at Indian Institute of Technology, Jodhpur, by the author during 2010-2017.


Compiler course is backbone of CS: it requires the combined knowledge of Computer Architecture, Data Structures, Discrete Structures, Assembly Language, High level languages, and Operating System. Thus, compiler is sole one subject that covers maximum Computer science.

Formal languages theory

The Formal Languages Theory is a M.Tech./MS course in CS with prerequisite of theory of computation. It covers Primitive Recursive Functions, Computable functions, Decidability, Undecidabilty  and advanced topics of theory of computation, like, Lambda Calculus.

natural languages & speech processing

The NLP is M.Tech./MS level course in CS, concerned with recognition and representation of NL texts, while Speech Processing is concerned with conversion of human speech to text form.

b.tech project

The B.Tech/BE Project provides basic guidelines about this project work, which is done during final year of Computer Science & Engineering students.

advanced algorithms

This is an M.Tech / MS level course, and broadly covers the topics on parallel and distributed Algorithms. Its pre-requites are Networking and Discrete Structures.

Machine learning

Machines learning is broadly classified as Supervised Learning, Unsupervised Learning, and Reinforced Learning. Below given provides access to Statistical Machine Learning.