Skip to content

Latest commit

 

History

History
45 lines (34 loc) · 5.91 KB

computer-science.md

File metadata and controls

45 lines (34 loc) · 5.91 KB

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]]

Learn

  • Teach Yourself Computer Science - zh-CN
  • 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.

courses

books

Resources

  • 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