Overview

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:

  1. Overview: A brief introduction and its importance, so you know what to expect and focus on.
  2. No Boring Stuff: We will skip the boring stuff and go straight to examples and exercises to get to the core concepts.
  3. Hands-on Examples: We will provide hands-on examples and exercises to help you understand the concepts better.
  4. 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

  1. Algorithms link:

    • Content: Complexity calculation, recursion, dynamic programming, graph algorithms, computational geometry, NP-completeness, algebraic algorithms, important problem-solving techniques, typical examples.
    • Resources:
  2. Data Structures:

  3. Operating Systems:

    • Content: Introduction to operating systems, computer system architecture, operating system structure, processes, deadlock, process synchronization, memory management, space management, file system.
    • Resources:
  4. Linear Algebra:

  5. 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:
  6. 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!

Not Enough?