[TOC]
↗ 🤯 Awesome List ↗ Computer (Host) System
↗ 🌲 Road To CS ↗ 一个仅供参考的CS学习规划
↗ Universe, Self-Awareness, and Intelligence
↗ History of Computing ↗ World's Science & Technology History ↗ News Focus (IT-exclusive)
UC Berkeley CS61
- ↗ CS61A Structure and Interpretation of Computer Programs
- ↗ CS61B Data Structures
- ↗ CS61C Great Ideas in Computer Architecture
CMU Intro to Computer Science
🎬 Crash Course Computer Science
https://space.bilibili.com/392208938/channel/collectiondetail?sid=3139667&spm_id_from=333.788.0.0 合集·直观理解计算机技术
📖 New Perspectives Computer Concepts Comprehensive, June Jamrich Parsons 🔗 https://www.amazon.com/Perspectives-Computer-Concepts-Comprehensive-MindTap/dp/0357674618
- Digital Content
- Digital Devices
- Networks
- The Web
- Social Media
- Software
- Digital Security
- The ICT Industry
- Information Systems
- Databases
- Programming
- Coding with Python
💡 This section only stands for personal views.
TL;DR
- The universe is made of objects /maters. According to different frames of references, objects can be still or in movement.
- The movement of objects leads to energy.
- One unique existence in the universe: objects that has self-consciousness. The universe thus is divided into objects with self-consciousness and objects without self-consciousness.
- Objects with self-consciousness (humans) exists in the way of information.
- Knowledge is connected information. Language or symbolic system is the media of information.
- The computation of information and the engineering to the universe compromise the intelligence of self-consciousness, i.e. human intelligence. Human intelligence demonstrates itself in two dimension: logic ability and sentimental ability.
- The universe is thus compromised of three elements: objects /maters, energy, and information.
- The automation of computation of information gives rise to the study of computer science.
- The ultimate goal of computer science is to reach to the extreme of computational power, i.e. the ability like human intelligence or beyond that in regard of the computation of information.
- Strong computational power don't make human-like intelligence, the combination of computational power and engineering ability makes human-like intelligence, or even human ourselves. However, a more widely-accepted version of such intelligence, artificial intelligence, aims to only reach the maximal power of computational ability, ignoring the engineering part.
The relationship of language, information/data, computation, and automation.
From CS to AGI: Computing and Intelligence
↗ Universe, Self-Awareness, and Intelligence
[!links] ↗ 🌲 Road To CS /CS & IT in Difference Aspects ↗ The Essence of Computing - Programs & The Semantics of Programs
🔗 https://en.wikipedia.org/wiki/Computer_science#Fields 🔗 https://en.wikipedia.org/wiki/Outline_of_computer_science
Computer science is the study of information, computation, and automation.
Computer science spans theoretical disciplines (such as algorithms, theory of computation, and information theory) to applied disciplines (including the design and implementation of hardware and software).
↗ Universe, Self-Awareness, and Intelligence
↗ Information Theory
↗ The Essence of Computing - Programs & The Semantics of Programs
[!links] ↗ 🌲 Road To CS ↗ Academics 🎓 (In CS)
Computer System & Computer Science Overview
Computer Networks & Supplements to the Computer Science Overview
Language, Computer Language, and Programming Language Processing
Computer Program Execution Procedure: Top-down Review
https://en.wikipedia.org/wiki/Computer_science#External_links
TL;DR (personal opinion) In general, the domain of computer science includes 3 major areas:
- ==Theoretical & Formal Computer Science== (theories and math)
- Theory of Computation
- Algorithms and Data Structures
- *Programming Methodology and Languages (Stride from theory to engineering)
- etc.
- ==Computer Elements and Architecture== (studies about computer itself)
- Computer Host
- Computer Hardware and Engineering
- Computer Organization and Architecture
- etc.
- Computer Software and Engineering
- *System Level Software and Engineering (Stride from hardware to software)
- Operating System
- Database System
- Drivers
- Compilers
- etc.
- Application Level Software and Engineering
- Web Application
- etc.
- *System Level Software and Engineering (Stride from hardware to software)
- Computer Hardware and Engineering
- Computer Networking
- Hardware
- Software
- Protocols
- Computer Host
- ==Computer Application & Applied Computing== (studies about using computer)
- *Computer Security (Stride from computer elements & arch to applied computing)
- etc.
- Computing Methodologies
- AI & Data Science
- High Performance Computing
- Quantum Computing
- etc.
- Human-Centered Computing
- etc.
- *Computer Security (Stride from computer elements & arch to applied computing)
🔗 https://en.wikipedia.org/wiki/Computer_science#Fields 🔗 https://en.wikipedia.org/wiki/Outline_of_computer_science
As a discipline, computer science spans a range of topics from theoretical studies of algorithms and the limits of computation to the practical issues of implementing computing systems in hardware and software. CSAB, formerly called Computing Sciences Accreditation Board — which is made up of representatives of the Association for Computing Machinery (ACM), and the IEEE Computer Society (IEEE CS) — identifies four areas that it considers crucial to the discipline of computer science: theory of computation, algorithms and data structures, programming methodology and languages, and computer elements and architecture. In addition to these four areas, CSAB also identifies fields such as software engineering, artificial intelligence, computer networking and communication, database systems, parallel computation, distributed computation, human–computer interaction, computer graphics, operating systems, and numerical and symbolic computation as being important areas of computer science.
https://en.wikipedia.org/wiki/ACM_Computing_Classification_System The ACM Computing Classification System (CCS) is a subject classification system for computing devised by the Association for Computing Machinery (ACM). The system is comparable to the Mathematics Subject Classification (MSC) in scope, aims, and structure, being used by the various ACM journals to organize subjects by area.
https://dl.acm.org/ccs The 2012 ACM Computing Classification System (CCS 2012) has been developed as a poly-hierarchical ontology that can be utilized in semantic web applications. It replaces the traditional 1998 version of the ACM Computing Classification System (CCS), which has served as the de facto standard classification system for the computing field. It is being integrated into the search capabilities and visual topic displays of the Digital Library. It relies on a semantic vocabulary as the single source of categories and concepts that reflect the state of the art of the computing discipline and is receptive to structural change as it evolves in the future. ACM provides 🔍 a tool within the visual display format to facilitate the application of CCS categories to forthcoming papers and a process to ensure that the CCS stays current and relevant. The CCS visual display has both Interactive and Flat views of the classification tree. You may also opt to download the CCS SKOS file. The new classification system will play a key role in the development of a people search interface in the ACM Digital Library to supplement its current traditional bibliographic search.
- Hardware
- Printed circuit boards
- Communication hardware, interfaces and storage
- Integrated circuits
- Very large scale integration design
- Power and energy
- Electronic design automation
- Hardware validation
- Hardware test
- Robustness
- Emerging technologies
- Software and its Engineering ✅
- Software organization and properties
- Contextual software domains
- E-commerce infrastructure
- Software infrastructure
- Operating systems
- Virtual worlds software
- Software system structures
- Embedded software
- Software architectures
- Software system models
- Ultra-large-scale systems
- Distributed systems organizing principles
- Real-time systems software
- Abstraction, modeling and modularity
- Software functional properties
- Correctness
- Formal methods
- Extra-functional properties
- Interoperability
- Software performance
- Software reliability
- Software fault tolerance
- Software safety
- Software usability
- Contextual software domains
- Software notations and tools
- General programming languages
- Language types
- Language features
- Formal language definitions
- Syntax
- Semantics
- Compilers
- Interpreters
- Incremental compilers
- Retargetable compilers
- Just-in-time compilers
- Dynamic compilers
- Translator writing systems and compiler generators
- Source code generation
- Runtime environments
- Preprocessors
- Parsers
- Context specific languages
- Markup languages
- Scripting languages
- Domain specific languages
- Specialized application languages
- API languages
- Graphical user interface languages
- Window managers
- Command and control languages
- Macro languages
- Programming by example
- State based definitions
- Visual languages
- Interface definition languages
- System description languages
- Design languages
- Unified Modeling Language (UML)
- Architecture description languages
- System modeling languages
- Orchestration languages
- Integration frameworks
- Specification languages
- Development frameworks and environments
- Object oriented frameworks
- Software as a service orchestration system
- Integrated and visual development environments
- Application specific development environments
- Software configuration management and version control systems
- Software libraries and repositories
- Software maintenance tools
- General programming languages
- Software creation and management
- Designing software
- Requirements analysis
- Software design engineering
- Software design tradeoffs
- Software implementation planning
- Software development process management
- Software development methods
- Risk management
- Software development techniques
- Software prototyping
- Object oriented development
- Flowcharts
- Reusability
- Error handling and recovery
- Automatic programming
- Software verification and validation
- Software prototyping
- Operational analysis
- Software defect analysis
- Fault tree analysis
- Process validation
- Formal software verification
- Empirical software validation
- Software post-development issues
- Software reverse engineering
- Documentation
- Backup procedures
- Software evolution
- Software version control
- Maintaining software
- System administration
- Collaboration in software development
- Open source model
- Programming teams
- Search-based software engineering
- Designing software
- Software organization and properties
- Computer Systems Organization
- Architectures
- Embedded and cyber-physical systems
- Real-time systems
- Dependable and fault-tolerant systems and networks
- Networks
- Network architectures
- Network protocols
- Network components
- Network algorithms
- Network performance evaluation
- Network properties
- Network services
- Network types
- Theory of Computation
- Models of computation
- Formal languages and automata theory
- Computational complexity and cryptography
- Logic
- Design and analysis of algorithms
- Randomness, geometry and discrete structures
- Theory and algorithms for application domains
- Semantics and reasoning
- Mathematics of Computing
- Discrete mathematics
- Probability and statistics
- Mathematical software
- Information theory
- Mathematical analysis
- Continuous mathematics
- Computing Methodologies
- Symbolic and algebraic manipulation
- Parallel computing methodologies
- Artificial intelligence
- Machine learning
- Modeling and simulation
- Computer graphics
- Distributed computing methodologies
- Concurrent computing methodologies
- Information Systems
- Data management systems
- Information storage systems
- Information systems applications
- World Wide Web
- Information retrieval
- Security and privacy ✅
- Cryptography
- Key management
- Public key (asymmetric) techniques
- Digital signatures
- Public key encryption
- Symmetric cryptography and hash functions
- Block and stream ciphers
- Hash functions and message authentication codes
- Cryptanalysis and other attacks
- Information-theoretic techniques
- Mathematical foundations of cryptography
- Formal methods and theory of security
- Trust frameworks
- Security requirements
- Formal security models
- Logic and verification
- Security services
- Authentication
- Biometrics
- Graphical / visual passwords
- Multi-factor authentication
- Access control
- Pseudonymity, anonymity and untraceability
- Privacy-preserving protocols
- Digital rights management
- Authorization
- Authentication
- Intrusion/anomaly detection and malware mitigation
- Malware and its mitigation
- Intrusion detection systems
- Artificial immune systems
- Social engineering attacks
- Spoofing attacks
- Phishing
- Security in hardware
- Tamper-proof and tamper-resistant designs
- Embedded systems security
- Hardware security implementation
- Hardware-based security protocols
- Hardware attacks and countermeasures
- Malicious design modifications
- Side-channel analysis and countermeasures
- Hardware reverse engineering
- Systems security
- Operating systems security
- Mobile platform security
- Trusted computing
- Virtualization and security
- Browser security
- Distributed systems security
- Information flow control
- Denial-of-service attacks
- Firewalls
- Vulnerability management
- Penetration testing
- Vulnerability scanners
- File system security
- Operating systems security
- Network security
- Security protocols
- Web protocol security
- Mobile and wireless security
- Denial-of-service attacks
- Firewalls
- Database and storage security
- Data anonymization and sanitization
- Management and querying of encrypted data
- Information accountability and usage control
- Database activity monitoring
- Software and application security
- Software security engineering
- Web application security
- Social network security and privacy
- Domain-specific security and privacy architectures
- Software reverse engineering
- Human and societal aspects of security and privacy
- Economics of security and privacy
- Social aspects of security and privacy
- Privacy protections
- Usability in security and privacy
- Cryptography
- Human-Centered Computing
- Human computer interaction (HCI)
- Interaction design
- Collaborative and social computing
- Ubiquitous and mobile computing
- Visualization
- Accessibility
- Applied Computing
- Electronic commerce
- Enterprise computing
- Physical sciences and engineering
- Life and medical sciences
- Law, social and behavioral sciences
- Computer forensics
- Arts and humanities
- Computers in other domains
- Operations research
- Education
- Document management and text processing
- Social and Professional Topics
- Professional topics
- Computing / technology policy
- User characteristics
↗ 🌲 Road To CS ↗ 🌲 Road To CS /2️⃣ CS Specific Fields / CS Applications
[!links] ↗ 🌲 Road To CS /🚀 A Serious CS Roadmap ↗ Importance Themes & Ideology in CS
These questions, from general to specific, track my path in learning CS. The links given are not exhaustive, as there are too many directions to extend from (the ones i list here are only for inspirations). However, in my best efforts, the questions themselves are trying to cover all aspects in CS, threading them into a main logic from philosophy, theory, system, to application.
Philosophical Part
- What is the Universe?
- ↗ Universe, Self-Awareness, and Intelligence
- What is the life?(什么是生命?)
- What is the intelligence? What is Human Beings? (什么是智能(从低级到高级)?人类就是目前唯一已知的高级智能(?))
- Difference between human and other life objects? Self-consciousness.
- Human intelligence?
- Intelligence: computation (of information) + engineering
- what is human society /civilization and how did it developed?
- self-consciousness leads to needs for society and social activities.
- Artificial intelligence? (as in a narrower definition)
- computation (of information)
- Human-like intelligence? (or AI in its broader def?)
- artificial intelligence + engineering (Embodied AI)
- What is knowledge? What is the science?
- Knowledge is connected data /information. (so what is data /information?)
- Arts and Humanity 🆚 Natural Science ?
- Sentiments 🆚 Logics?
- (What is academic research?)
Computer Science Part (Mathematical) Theory -> Computer System Design -> Applications of Computer
- What is data /information?
- What is language? and its importance for data /information?
- (↗ Language & Literature)
- (↗ Natural Language Processing (NLP) & Computational Linguistics)
- ↗ Mathematics "axiomatization & formalization"
- Reasoning /Logic via language?
- What is computation? What is a computer (theoretically)? Computer language and program /algorithm?
- What is a computer in the sense of its design & construction? (4 aspects: hardware, software, policies & protocols, people/ user)
- ↗ Computer (Host) System | ↗ Computer Architecture |↗ Computer Networking and Communication
- What composes a computer? /How computer is designed in terms of hardware?
- What is a program (again?) and how does it work?
- ↗ The Essence of Computing - Programs & The Semantics of Programs
- ↗ Computational Trilogy & Curry–Howard(–Lambek) Correspondence
- Why and how do we program? /How are programming languages designed? 2. ↗ Computer Languages & Programming Methodology 1. ↗ Programming Language Theory (PLT) 1. ↗ Formal Semantics and Programming Language 2. ↗ Programming Tool Chain 3. ↗ ASM (Assembly Languages) 3. Using programming languages to solve problems: 1. ↗ Algorithm & Data Structure 2. ↗ C & CPP 3. ↗ Java 1. ↗ JVM Instrument Set & Java Bytecode 2. ↗ Java Virtual Machine (JVM) 4. ↗ Python 5. ↗ ECMAScript-Based Languages & JavaScript 6. ↗ Golang 7. ↗ Rust
- What happened when a program is running? /How is software programmed, compiled, and run?
- ↗ Programming Language Processing & Program Execution
- ↗ Program Language Processing & Compilation Theory (Compile-time)
- ↗ Program Linking & Loading (Link-time & Load-time)
- ↗ Program Execution (Runtime)
- 怎么构造一个最小的 helloworld程序? --- jyy
- Where is the first instruction of a C/Python/Java/Go/etc. program?
- ↗ Software (Program) Techniques & Binary Engineering
- etc.
- ↗ Programming Language Processing & Program Execution
- What happened during computer booting? /How does computer start running?
- What happened after computer booting? /How computer is designed in terms of software?
- ↗ Software Engineering
- ↗ Computer Languages & Programming Methodology
- How does OS work?
- How do applications work? how to design application software with good quality?
- What happened when a network request is sent and a response is received? /How does computer network(or the Internet) work?
- How to apply the power of computer into solving real world problems? Below lists (some) CS fields and related topics:
- ↗ Mathematics & ↗ Discrete Mathematics & TCS (Theoretical Computer Science) 2. ↗ Mathematical Modeling & Abstraction 3. ↗ Algorithm & Data Structure 4. ↗ Operations Research (OR) 5. ↗ Cybernetics & Control Theory 6. etc.
- ↗ Computing Methodologies
- ↗ Computer Engineering, Embedded & IoT
- ↗ Software Engineering
- ↗ Information Systems & System Architecture Design
- ↗ Data-Oriented & Human-Centered Technologies
- ⭐ How to improve computer /information system? (theory perspective; system perspective; application perspective)
- Application: how to use existing computer to solve new problems?
- Interaction: how to make interactions with human more smooth?
- Performance: how to improve the performance?
- Scalability
- Resources consumption
- manufacture cost
- computation complexity
- power consumption
- Execution speed
- Thorough put /concurrency
- Correctness
- Safety
- Development: how to speed up / simplify the process of development (under same performance)?
- Maintenance: how to maintain the system for desired time?
- Duration
- Cost
- Performance: how to maximally reduce the decrease of performance over time?
- ↗ CyberSecurity (note that the security issue is a special topic because it spans all aspects that related to information and information system, unlike other CS-subfields that specialize on just one certain area.)
- ↗ Risk Management
- ↗ Cybersecurity Basics & Information Security (InfoSec)
- ↗ Cryptology & Secure Communication
- Security aspects #1:
- Security aspects #2:
- etc.
↗ Learning English the Right Way ↗ International Opportunities
↗ Electronics & Information Technologies Business Fields Research ↗ CS & IT Jobs & Interns Related
↗ IT Laws & Institutions in United States ↗ IT Laws & Institutions in China
↗ Academics 🎓 (In CS) ↗ (CS) Master & PhD Guide - Preparation & Application ↗ (CS) Academics Roadmap & Tool Chain
🤔

