Introduction to Computer Science
Article directory
- Introduction to Computer Science
-
- introduction
- digital system
- data storage
- Data operation
- computer composition
- Computer Networks and the Internet
- operating system
- algorithm
- programming language
- software engineering
- data structure
- abstract data type
- file structure
- database
- data compression
- Safety
- computational theory
- artificial intelligence
- Appendix B UML Unified Modeling Language
- Appendix E: Boolean Algebra and Logic Circuits
- Appendix H Error Detection and Correction
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
- system domain
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
- integer
- 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
- ALU
- main memory
- RAM,ROM
- IO
- storage device
- non-storage device
- CPU
- the main line
- CPU and main memory
- data, command, control bus
- IO and mainline
- controller (interface)
- I/O addressing
- independent addressing
- memory-mapped addressing
- CPU and main memory
- 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)
- machine cycle
- 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
- in principle
- TCP/IP protocol family
- application layer
- send message
- model
- C/S mode
- world wide web
- URL
- HTTP
- FTP
- TELNET remote login
- ssh condoms
- DNS
- domain name
- p2p mode
- BT download
- centralized, decentralized network
- C/S mode
- 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
- application layer
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
- process-oriented analysis
- design phase
- process-oriented design
- structure diagram
- Modular
- High aggregation and low coupling
- object-oriented design
- Detailed Design Class Details
- process design
- process-oriented 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
- white box testing
- analysis stage
- 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
- depth first
- 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
- renew
- index file
- hash file
- hash method
- direct hash
- modulo method
- digital extraction
- Other methods
- conflict
- open addressing
- linked list method
- bucket hashing
- hash method
- 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
- end user
- 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
- Relationship (two-dimensional table)
- 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
- space compression
- audio compression
- predictive coding
- perceptual encoding mp3
- frequency masking
- time cover
- image compression JPEG
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)
- for confidentiality
- Service and Technology
- cryptography
- symmetry
- asymmetric
- hash
- steganography
- cryptography
- safety goal
- 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
- single letter password
- shift cipher
- replace password
- Modern Symmetric Keys (Bit Oriented)
- modern block cipher
- modern stream cipher
- one time password
- asymmetric key cryptography
- RSA cryptosystem
- Symmetric Key Cryptography
- 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
- Message authentication code MAC
- sign abstract
- Message digest (tamper proof)
- Entity verification (real-time)
- Verification classification
- know
- password
- Owned
- ID card
- inherent in
- fingerprint
- know
- challenge-response
- Symmetric key
- asymmetric key
- digital signature
- Verification classification
- message verification
- 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)
- Symmetric key distribution
- firewall
- Packet filtering firewall (router)
- for ip
- for port
- proxy firewall
- Proxy Computer (Application Gateway)
- Application Layer Filtering
- Proxy Computer (Application Gateway)
- Packet filtering firewall (router)
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
- composition
- shutdown problem
- Gödel number
- program number
- The halting problem is unsolvable
- Gödel number
- problem complexity
- Solvable problem
- polynomial problem
- non-polynomial problem
- unsolvable problem
- Solvable 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
- Image Processing
- search
- brute force search
- depth
- breadth
- heuristic search
- heuristic value
- brute force search
- 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
- asynchronous
- combinational circuit
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