Computer science (sometimes called computation science) is the study of processes that interact with data and that can be represented as data in the form of programs. It enables the use of algorithms to manipulate, store, and communicate digital information. A computer scientist studies the theory of computation and the practice of designing software systems.
Fields of mathematics. Theoretical computer science includes computability theory, computational complexity theory, and information theory. Computability theory examines the limitations of various theoretical models of the computer, including the most well-known model – the Turing machine. Complexity theory is the study of tractability by computer; some problems, although theoretically solvable by computer, are so expensive in terms of time or space that solving them is likely to remain practically unfeasible, even with the rapid advancement of computer hardware. A famous problem is the "P = NP?" problem, one of the Millennium Prize Problems.[69] Finally, information theory is concerned with the amount of data that can be stored on a given medium, and hence deals with concepts such as compression and entropy.
- Association for Computing Machinery Advancing Computing as a Science & Profession
- TURING LECTURES, Presented by each winner on the topic of their choice at a forum of their choice in the year they received the ACM A.M. Turing Award.
- [[mathematics]]
- [[algorithm]]
- [[theory-of-computation]]
- [[compiler]]
- [[programming-language]]
- [[operating-system]]
- [[networks]]
- [[computer-graphics]]
- [[machine-learning]]
- ⭐Teach Yourself Computer Science - zh-CN
- CS 自学指南
- Coding Interview University, This is my multi-month study plan for going from web developer (self-taught, no CS degree) to software engineer for a large company. zh-CN
- learn, The best way to learn is to teach what you have learned to other people. I tried YouTube channel, which was hard to maintain. So I decided to write my own textbook. I am still learning, and I may say things out of ignorance. Every post is working in progress, non-committal on a timeline. The point is to review and improve over time. This is a personal white-board where I scribble anything, organize my code, learning experiences.
- The Missing Semester of Your CS Education - 计算机教育中缺失的一课: Classes teach you all about advanced topics within CS, from operating systems to machine learning, but there’s one critical subject that’s rarely covered, and is instead left to students to figure out on their own: proficiency with their tools. We’ll teach you how to master the command-line, use a powerful text editor, use fancy features of version control systems, and much more!
- ⭐Crash Course, Computer Science - zh-CN - bilibili
- Open Source Society University - computer science, Path to a free self-taught education in Computer Science!
- Foundations of Computer Science - zh-CN
- Electronic References: a loosely-categorized collection of links to CS textbooks in a variety of areas that are freely available online
- Structure and Interpretation of Computer Programs - JavaScript Edition
- Programming in Java · Computer Science · An Interdisciplinary Approach: textbooks for a first course in computer science for the next generation of scientists and engineers
- Introduction to Programming in Python: a textbook for a first course in computer science for the next generation of scientists and engineers
- 《计算机体系结构基础》,龙芯团队胡伟武老师等人编写的《计算机体系结构基础》(第三版)的开源版本。本书纸质版本由机械工业出版社发行,前两版可以通过各种常规渠道购买,第三版纸质版本也即将发行。 read online
- Awesome lists about all kinds of interesting topics
- Awesome CS Courses, List of awesome university courses for learning Computer Science!
- Papers We Love (PWL) is a community built around reading, discussing and learning more about academic computer science papers. This repository serves as a directory of some of the best papers the community can find, bringing together documents scattered across the web. You can also visit the Papers We Love site for more info.
- fogus/papers-i-love Computer science and computer-adjacent papers (and sometimes books) that have influenced me deeply.
- Freely available programming books, zh-CN, an easy-to-read website