In this introductory course, you’ll learn and practice key computer science concepts by building your own versions of popular web applications. You’ll learn Python, a powerful, easy-to-learn, and widely used programming language, and you’ll explore fundamental computer science concepts, as you build your own search engine and social network. At the end of unit one. You will be learned a lot of computerscience , you know what a program is, you've learned about variables, you have learned about expressions and grammars, you learn about strings in Python. Then it is time for you to work on homework one on your own. And that will check that you understood everything from this class and prepare you to get started on unit two. And we're well on our way towards learning a lot of computer science, as well as building our web crawler and then building our search engine. Computer science studies how to describe, predict properties of, and efficiently implement information processes. This book introduces the most important ideas in computing using the Scheme and Python programming languages. It focuses on how to describe information processes by defining procedures, how to analyze the costs required to carry out a procedure, and the fundamental limits of what can and cannot be computed mechanically. In this course you will learn key concepts in computer science and learn how to write your own computer programs in the context of building a web crawler. At the end of this course you will have a rock solid foundation for programming in Python and built a working web crawler. This course will prepare you to take many of more advanced courses. There is no prior programming knowledge needed for this course. Beginners welcome. The course begins with line parsing to an eventual final project of building a search engine. On this journey, you start with the basic building blocks of constructing a program, then reintroduced with better building blocks. For example, we learn about while/for loops, but later on learn about recursion. Also we try to store the keywords in lists, but later on we learn about hash tables. This is nice way to learn different approaches to tackle the same issue, and then investigate why these approaches work better in certain circumstances. The course is basically a hand-holding of finishing the search engine.