Overview
CS Book is organized into six primary subjects, each essential for a solid foundation in computer science. Below is a brief overview of what you can expect in each section.
Ask Yourself These Questions Before You Start
What is your goal?
Are you preparing for a computer science entrance exam, or are you learning computer science for the first time? We suggest you set a clear goal before you start.
What is your current level?
Do you have a basic understanding of computer science concepts, or are you starting from scratch? Knowing your current level will help you choose the right resources and study plan. We recommend you have a basic understanding of computer science concepts before diving into this book.
What is your learning style?
Do you prefer reading books, watching videos, or learning by doing? We provide a variety of resources, including books, online courses, and videos, to cater to different learning styles. We also offer interactive examples and exercises to help you learn by doing.
If you are preparing for a computer science exam, have basic knowledge, and prefer a concise and straightforward guide with hands-on examples, this book is for you.
The Design of This Book
For each chapter of each subject, we will follow this structure:
- Overview: A brief introduction and its importance, so you know what to expect and focus on.
- No Boring Stuff: We will skip the boring stuff and go straight to examples and exercises to get to the core concepts.
- Hands-on Examples: We will provide hands-on examples and exercises to help you understand the concepts better.
- Quick Summary: A quick summary of the key points and takeaways to help you review and remember the concepts.
I believe Example-Based Learning is the most effective way in this field. Follow along with the examples and exercises, and you will be well on your way to mastering computer science.
I hear and I forget. I see and I remember. I do and I understand
Overview of Subjects and Resources
-
Algorithms link:
- Content: Complexity calculation, recursion, dynamic programming, graph algorithms, computational geometry, NP-completeness, algebraic algorithms, important problem-solving techniques, typical examples.
- Resources:
- Book: Introduction to Algorithms, 3/e, Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, Clifford Stein.
- OCW: MIT 6.006 Introduction to Algorithms (opens in a new tab)
-
Data Structures:
- Content: Basic concepts, arrays & structures, stack & queue, linked list, tree & binary tree, graph, search & sort, hashing, advanced tree structures.
- Resources:
- Book: Fundamentals of Data Structures in C++, 2/e, Ellis Horowitz, Sartaj Sahni, Dinesh Mehta.
- OCW: 交大彭文志 (opens in a new tab)
- Visualization: Data Structure Visualizations (opens in a new tab)
-
Operating Systems:
- Content: Introduction to operating systems, computer system architecture, operating system structure, processes, deadlock, process synchronization, memory management, space management, file system.
- Resources:
- Book: Operating System Concepts, 10/e, Abraham Silberschatz, Greg Gagne, Peter Baer Galvin.
- OCW: 清大周志遠 (opens in a new tab)
-
Linear Algebra:
- Content: Math basics, matrix & linear equations, determinant, vector space, linear transformation, diagonalization, Jordan form & application, inner product space, inner product operator & application.
- Resources:
- Book: Linear Algebra: with Applications, 9/e, Steven J Leon.
- OCW: 台大李宏毅 (opens in a new tab)
- OCW: 清大趙啟超 (opens in a new tab)
- OCW: MIT 18.06 Linear Algebra (opens in a new tab)
- OCW: 交大莊重 (opens in a new tab)
- Videos: 3Blue1Brown Essence of Linear Algebra (opens in a new tab)
-
Discrete Mathematics:
- Content: Math basics, relations & functions, permutation & combination, generating function, recurrence relation, graph theory, tree, algorithm analysis, algebraic structure, Boolean algebra, Pólya enumeration theorem, encoding & decoding, finite state machine.
- Resources:
- Book: Discrete Mathematics and Its Applications, 8/e, Kenneth Rosen.
- OCW: 清大韓永楷 (opens in a new tab)
-
Computer Organization and Architecture:
- Content: Command, computer arithmetic, performance, processor, pipeline, memory, I/O, multiprocessor, IC.
- Resources:
- Book: Computer Organization and Design RISC-V Edition, David A. Patterson, John L. Hennessy.
- Book: Computer Organization and Design MIPS Edition, David A. Patterson, John L. Hennessy.
- OCW: 清大黃婷婷 (opens in a new tab)
This book is your robust, practical guide, cutting to the core of computer science and equipping you with the knowledge and tools you need to excel! Start it now and enjoy the journey!