Introduction to Computer Science (third edition of the original book) framework summary

Introduction to Computer Science

introduction

  • computer model
    • Turing model
    • von Neumann model
      • Stored program + sequential execution
      • four subsystems
        • ALU
        • control unit
        • memory
        • IO
  • computer components
    • hardware
    • data
    • software
  • computer Science
    • system domain
      • Computer Architecture
      • computer network
      • computer security
      • operating system
      • algorithm
      • programming language
      • software engineering
    • Application field
      • database
      • artificial intelligence
      • web
      • Computer Graphics

digital system

  • Number System: Using Symbols to Represent Numbers
    • location
    • Non-positional: Roman Numerals
  • Hexadecimal and hexadecimal conversion

data storage

  • Data related concepts
    • type of data
    • bit, bit pattern
    • data compression
    • Error Detection and Correction
  • digital storage
    • integer
      • original code
      • inverse code
      • Complement
    • real number
      • floating point representation
      • normalization
      • sign, exponent and mantissa
        • Exponential remainder notation
  • text storage
  • audio storage
    • sampling
    • Quantify
    • coding
  • image storage
    • raster image
    • vector illustration
  • video storage

Data operation

  • logic operation
    • and or not, exclusive or
  • shift operation
    • logical shift (unsigned)
    • arithmetic shift (complement)
  • arithmetic operation
    • add
    • minus (complement)

computer composition

  • three subsystems
    • CPU
      • ALU
        • Logical, Shift, Arithmetic Operations
      • register
        • data, instruction, program counter
      • control unit
    • main memory
      • RAM,ROM
    • IO
      • storage device
      • non-storage device
  • the main line
    • CPU and main memory
      • data, command, control bus
    • IO and mainline
      • controller (interface)
      • I/O addressing
        • independent addressing
        • memory-mapped addressing
  • program execution
    • machine cycle
      • fetch instruction
      • decoding
      • implement
    • I/O operation
      • program control
      • interrupt control
      • DMA mode
    • Architecture
      • CISC Complex Instruction Set
      • RISC Reduced Instruction Set
    • Pipeline (parallel)
  • Simple computer (example)

Computer Networks and the Internet

  • network
    • local area network
    • Wan
    • the Internet
    • Internet
  • protocol layering
    • in principle
      • Each layer is an opposite mirror image
    • logical connection
  • TCP/IP protocol family
    • application layer
      • send message
      • model
        • C/S mode
          • world wide web
          • URL
          • HTTP
          • FTP
          • e-mail
          • TELNET remote login
          • ssh condoms
          • DNS
            • domain name
        • p2p mode
          • BT download
          • centralized, decentralized network
    • transport layer
      • Send packets/fragments
      • process communication
      • TCP
      • UDP
    • Network layer
      • send datagram
      • IPV4,IPV6
      • routing
    • data link layer
      • transmit frame
      • LAN,WAN
    • physical layer
      • bit bit
      • signal conversion
      • Transmission medium

operating system

  • Function
    • efficient use of hardware
    • call resource
  • Bootstrap into RAM
  • evolution
    • batch system
    • time sharing system
    • parallel system
    • Distributed Systems
    • real time system
  • component
    • User Interface
    • memory management
      • single program
      • multiprogramming
        • partition scheduling
        • paging
        • request paging
        • request segment scheduling
        • request segment paging
      • Virtual Memory
    • process management
      • program, job, process
      • scheduler
        • job scheduler
        • process scheduler
      • queue
        • job, process control block
        • Scheduling Algorithm
      • process synchronization
        • deadlock
        • starve
    • device management
    • file management
  • mainstream operating system
    • UNIX
    • Linux
    • windows

algorithm

  • definition
    • An ordered collection of well-defined steps that terminate and produce results in a finite amount of time
  • three structures
    • order
    • choose
    • cycle
  • Notation
    • UML
    • pseudocode
    • structure diagram
      • sub-algorithm
  • basic algorithm
    • to sum
    • product
    • best value
    • look up
      • order
      • half off
    • to sort
      • choose
      • bubble
      • insert
  • Recursion and iteration

programming language

  • evolution
    • machine language
    • Assembly language
    • high level language
  • translate
    • compile
    • explain
    • process
      • lexical analysis
      • Gramma analysis
      • Semantic Analysis
      • code generation
  • programming mode
    • procedural
    • object oriented
    • Functional
    • Declarative (logical reasoning)
  • common concept
    • type of data
    • identifier
    • variable
    • literal value
    • constant
    • input Output
    • expression
    • statement
      • control statement
    • subroutine

software engineering

  • software life cycle
    • to develop
    • use
    • Revise
  • development process model
    • waterfall model
    • incremental model
  • development stage
    • analysis stage
      • process-oriented analysis
        • data flow diagram
        • Entity Relationship Diagram
      • object-oriented analysis
        • Use Case Diagram (Functional Interaction)
        • Class Diagram
        • State diagram
    • design phase
      • process-oriented design
        • structure diagram
        • Modular
          • High aggregation and low coupling
      • object-oriented design
        • Detailed Design Class Details
        • process design
    • development stage
      • language selection
      • software quality
        • Operability
        • maintainability
        • portability
    • testing phase
      • white box testing
        • basic path test
        • Control Structure Test
      • black box testing
        • exhaustive test
        • random test
        • boundary test
  • document
    • user documentation
    • system documentation
    • technical documentation

data structure

  • array
    • array name element name
    • Multidimensional Arrays
      • row-major storage
      • column-major storage
    • array operation
      • CRUD
  • record (data element)
    • domain (data item)
  • linked list
    • data and chain
    • Linked list name and node name
    • linked list operation

abstract data type

  • definition
    • Data types that encapsulate data and operations
  • the stack
    • first in last out
    • operate
    • application
      • reverse data
      • pair
      • data delay usage
      • Backtrack
    • accomplish
      • array
      • linked list
  • queue
    • first in first out
    • application
      • queue
  • generalized linear table
    • random access
    • orderly
  • binary tree
    • Tree
    • traversal operation
      • depth first
        • preface
        • In sequence
        • Subsequent
      • breadth first
        • level
    • application
      • Huffman coding
      • expression tree
    • binary search tree
  • picture

file structure

  • access method
    • sequential access
    • random access
  • sequence file
    • renew
      • new main file
      • old master file
      • transaction file
      • bug report file
  • index file
  • hash file
    • hash method
      • direct hash
      • modulo method
      • digital extraction
      • Other methods
    • conflict
      • open addressing
      • linked list method
      • bucket hashing
  • Table of contents
    • Compared with the index, it adds information such as permissions
    • special directory
      • Root directory
      • Main directory
      • Work list
      • parent directory
    • path
  • text files and binary files

database

  • introduction
    • Flat file system vs. database system
    • database management system
      • hardware
      • software
      • data
      • user
        • end user
          • database administrator
          • general user
        • application
      • regulations
  • database architecture
    • inner layer
    • conceptual level
      • logical view
    • outer layer
      • external view
  • database model
    • hierarchical model
    • mesh model
    • relational model
      • relational database model
      • Distributed Database Model
      • object-oriented database model
        • XML
  • relational database model
    • Relationship (two-dimensional table)
      • name
      • Attributes
      • tuple
    • relational operations
      • insert
      • delete
      • renew
      • choose
      • projection
      • connect
      • and
      • pay
      • Difference
  • Database Design
    • demand analysis
    • Entity Relationship Model ERM
      • ER图
      • entity set relationship
      • relationship set relationship
    • normalization
      • First Normal Form: Attributes are indivisible
      • 2NF: The primary key is completely dependent on
      • 3NF paradigm
      • BCNF

data compression

  • lossless compression
    • run-length encoding
    • Huffman coding
    • LZ code
  • lossy compression
    • image compression JPEG
      • Block
      • discrete cosine transform
      • Quantify
      • lossless compression
    • Video compression MPEG
      • space compression
        • JPEG
      • time compression
        • I
        • P frame
        • B frame
    • audio compression
      • predictive coding
      • perceptual encoding mp3
        • frequency masking
        • time cover

Safety

  • introduction
    • safety goal
      • confidentiality
      • integrity
      • availability
    • attack
      • for confidentiality
        • to sniff
        • Traffic Analysis
      • For integrity
        • tamper
        • counterfeit
        • replay
        • deny
      • for availability
        • Denial of service (Dos attack)
    • Service and Technology
      • cryptography
        • symmetry
        • asymmetric
        • hash
      • steganography
  • confidentiality
    • Symmetric Key Cryptography
      • stream cipher
      • block cipher
      • traditional symmetric key (character-oriented)
        • replace password
          • single letter password
            • additive cipher
          • multi-letter password
            • Auto key password
        • shift cipher
      • Modern Symmetric Keys (Bit Oriented)
        • modern block cipher
        • modern stream cipher
          • one time password
    • asymmetric key cryptography
      • RSA cryptosystem
  • integrity
    • message verification
      • Message digest (tamper proof)
        • Hash function MD5
      • Authentication (anti-counterfeiting)
        • Message authentication code MAC
          • Encrypted key guarantees confidentiality
        • digital signature
          • public and private keys
          • Authentication using the sender's public and private keys
      • sign abstract
    • Entity verification (real-time)
      • Verification classification
        • know
          • password
        • Owned
          • ID card
        • inherent in
          • fingerprint
      • challenge-response
        • Symmetric key
        • asymmetric key
        • digital signature
  • non-repudiation
    • Trusted Third Party Center
  • key management
    • Symmetric key distribution
      • Key Distribution Center: KDC
      • Multiple Key Distribution Centers
      • session key
    • Public key distribution (asymmetric)
      • Public statement (unsafe)
      • Certification body: CA
      • X.509 (structured certificate)
  • firewall
    • Packet filtering firewall (router)
      • for ip
      • for port
    • proxy firewall
      • Proxy Computer (Application Gateway)
        • Application Layer Filtering

computational theory

  • simple language
    • increment statement
    • decrement statement
    • loop statement
    • Macros for simple languages ​​(emulate any complex statement)
  • Turing machine
    • composition
      • tape
      • read/write head
      • controller
        • Finite State Automata
    • simulate simple language
    • Church-Turing Thesis
      • Algorithms for Turing Machines to Complete Symbolic Operations
  • shutdown problem
    • Gödel number
      • program number
    • The halting problem is unsolvable
  • problem complexity
    • Solvable problem
      • polynomial problem
      • non-polynomial problem
    • unsolvable problem

artificial intelligence

  • agent
    • software agent
    • physical agent
  • Programming language
    • LISP
    • PROLOG
  • knowledge representation
    • Semantic Web
    • frame
    • predicate logic
      • propositional logic
      • super predicate logic
    • rule-based system
      • knowledge base
      • fact base
      • reasoning machine
  • expert system
    • User and User Interface
    • Knowledge Base and Knowledge Base Editor
    • Fact Base and Interpretation System
    • reasoning machine
  • perception
    • Image Processing
      • edge detection
      • section
      • search depth
      • find directions
      • object recognition
      • application
    • language understanding
      • Speech Recognition
      • Gramma analysis
        • grammar
        • lexical analyzer
      • Semantic Analysis
      • Pragmatic analysis
        • intention
        • disambiguation
  • search
    • brute force search
      • depth
      • breadth
    • heuristic search
      • heuristic value
  • Neural Networks
    • Perceptron model
    • multi-layer network

Appendix B UML Unified Modeling Language

  • user view

    • User System Interaction: Users and Functions
    • use case diagram
      • system,
      • use case (behaviour),
      • mover,
      • relation
  • structure view

    • System static structure: class design
    • Class Diagram
      • properties and methods
      • Associations (relationships between classes (a few-to-several))
      • Generalization (inheritance relationship)
  • Behavior view
    The behavior of objects in the system

    • Collaboration diagram

      • relationship between objects
      • properties and values
      • method operation
      • Links (a few-to-several relationship)
      • information
    • State diagram

      • single object state change
      • symbol
        • state
        • convert
        • decision point
      • Events (external incoming messages)
      • Actions (raised by events)
    • Flowchart

      • Interaction between objects over time
      • mover
      • object
      • lifeline
      • activation
      • information
    • activity diagram

      • Detailed decomposition flow chart of complex operations
      • symbol
        • Almost like a state diagram
        • decision (branch or merge)
        • branch or join (indicating concurrency)
    • swim lane

      • Activity of multiple objects
  • Realize the view

    • Shows the realization of the final product (overview)
    • Component Diagram
      • Dependencies between software components
    • configuration diagram
      • communication link

Appendix E: Boolean Algebra and Logic Circuits

  • Boolean algebra
    • constants, variables, operators
    • expression
    • logic gate
      • buffer
      • AND,OR,NAND,NOR…
      • accomplish
        • Transistor (electronic switch)
    • axiom, theorem, formula
    • boolean function (expression)
      • truth table
      • Table conversion
        • sum of products
        • product of sum
      • function simplification
        • algebraic method
        • Karnaugh map method
  • logic circuit
    • combinational circuit
      • half adder
      • multiplexer
    • sequential circuit
      • asynchronous
        • SR Bistable Multivibrator
        • D
        • JK
        • T
      • Synchronization (clock pulse)
        • register
        • digital counter

Appendix H Error Detection and Correction

  • redundancy
  • Detection and Correction
  • Forward Error Correction and Retransmission
  • coding
    • block encoding
    • convolutional coding
  • block encoding
    • data word
    • Code
  • linear block coding
    • simple parity check code
    • Hamming code
    • cyclic code
      • Cyclic Redundancy Check
    • checksum

Guess you like

Origin blog.csdn.net/weixin_43231912/article/details/124583527