The discipline which involves the study of information, computation and automation is known as computer science. It can be broadly divided into theoretical computer science, applied computer science and computer systems. Theoretical computer science (TCS) refers to a branch of mathematics and computer science that focuses on the mathematical aspects of computer science such as type theory, lambda calculus and the theory of computation. Applied computer science encompasses software engineering, Image and sound processing, and computer graphics. Software engineering is a subfield of computer science which focuses on the design, development, testing, distribution and maintenance of software products. This book explores all the important aspects of theoretical computer science and software engineering in the present day scenario. It will also provide interesting topics for research, which interested readers can take up. A number of latest researches have been included to keep the readers up-to-date with the global concepts in this area of study.