Skip to content

Instantly share code, notes, and snippets.

@chunrapeepat
Last active September 23, 2017 08:51
Show Gist options
  • Save chunrapeepat/0df4c705dde6e104ff4bcbfa8990f698 to your computer and use it in GitHub Desktop.
Save chunrapeepat/0df4c705dde6e104ff4bcbfa8990f698 to your computer and use it in GitHub Desktop.
Introduction to computer science sitemap

Introduction to computer science sitemap

[1] Introduction

  • Turing model (Note: Mathematical model of computation)
  • Data Processor (Note: Like a function)
  • Programmable Data Processor
  • The universal turing machine
  • The Von Neumann Model
    • concept: program state stored in memory, program stored as binary patterns
    • 4 subsystems: Memory, Arithmatic logic unit, control unit, I/O
    • Sequential Execution of Instructions
    • Computer Components
      • Hardware, Software and Data
    • Programs (Note: Program made of a set of instructions.)
  • Computer History
    • Mechanical Machines (before 1930)
    • Electronic Computers (1930–1950)
    • Computer Generations (1950 – Present) + 5 generations
  • Social and Ethical Issues
  • What is Computer Science?

[2] Data Representation !important

  • Data Types (5 types of data)
  • Data Inside the Computer
  • Encode/Decode of Different Data Types
    • Note: computer don't know what type of bit patterns is, It's the responsibility of I/O devices or programs
  • Number Systems
    • Positional Number Systems (Note: binary, octal, decimal, hexa)
    • Non-positional Number Systems (Note: Roman number)
  • Storing Numbers
    • Storing Integers (Integer Representation)
      • Unsigned
      • Signed
        • Sign and Magnitude
        • One's Complement
        • Two's Complement
    • Storing Reals
      • Floating Point Representation (Note: Sign, Shifter, Fixed-point number)
      • Normalization (Note: 1.yyyyyy which y is 0 or 1)
      • Excess System
      • IEEE Standard (Note: Single Precision, Double Precision)
        • Howto convert float to bit patterns
        1. The sign is positive or negative
        2. Decimal to binary transformation
        3. Normalization
        4. Exponent = power + bias
        5. The number is stored in the computer
    • Storing Text
      • ASCII (American Standard Code for Information Interchange)
      • Extended ASCII
      • EBCDIC (Extended Binary Coded Decimal Interchange Code)
      • Unicode Standard
    • Storing Audio
      • Sampling and Quantization
      • Encoding
      • Sound Encoding Standards (Note: MP3 (short for MPEG Layer 3))
    • Storing Images
      • Images are stored using 2 different techniques
        • Raster graphics (or bitmap graphics)
        • Vector graphics
      • Resolution
      • Color Depth
      • True-Color
      • Indexed Color
      • Image Encoding Standards
        • JPEG (Joint Photographic Experts Group)
        • GIF (Graphic Interchange Format)
        • PNG (Portable Network Graphics)
      • Raster Graphics vs. Vector Graphics
    • Storing Video

[3] Operations on Bits !important

  • Four Bit Level Operations
    • NOT
    • AND
    • OR
    • XOR
  • Shift Operations (Note: move the bits in a pattern)
    • Logical Shift Operations
      • Logical Shift
      • Logical Circular Shift
    • Arithmetic Shift Operations
  • Arithmetic Operations
    • Adding
    • Subtracting
    • Multiplying
    • Dividing
  • Addition of Reals
    • Howto adding 2 real numbers
    1. De-normalize
    2. Aligning decimal points
    3. Add up
    4. Normalize

[4] Computer Architecture

  • Computer Hardware Subsystems
    • Central Processing Unit (CPU)
      • arithmetic logic unit (ALU)
      • control unit
      • registers
        • Note: Data registers, Instruction register, Program counter
    • Main Memory
      • Address Space
      • Memory Units
      • Memory Types
        • Random access memory (RAM)
          • Static RAM (SRAM)
          • Dynamic RAM (DRAM)
        • Read-only memory (ROM)
          • Programmable read-only memory (PROM).
          • Erasable programmable read-only memory (EPROM).
          • Electrically erasable programmable read-only memory (EEPROM).
      • Memory Hierarchy
      • Cache Memory
    • Input Output Subsystem
      • Non-storage devices (Note: Keyboard, monitor, printer)
      • Storage devices
        • Magnetic Disk
        • Magnetic Tape
        • Solid State Drives (SSD)
        • Creation and Use of CD ROMs
        • Making CD-R and CD-RW
      • Subsystems Interconnection
        • Connecting CPU and memory (Note: connecting by bus)
          • Note: Data Bus, Address bus, Control bus
        • Connecting I/O Devices
          • I/O Controllers – SCSI Controller
          • I/O Controllers – Firewire Controller
          • I/O Controllers – USB Controller
          • I/O Controller – SATA and Thunderbolt
          • I/O Addressing
  • Program Execution
    • Note: Machine cycle (Fetch, Decode, Execute)
  • I/O Operation
    • Programmed I/O
    • Interrupt driven I/O
    • Direct memory access (DMA)
  • Different Computer Architectures
    • CISC (pronounced sisk) stands for complex instruction set computer.
    • RISC (pronounced risk) stands for reduced instruction set computer.
  • Pipelining Execution
  • Parallel Execution
    • SISD Organization
    • SIMD Organization
    • MISD Organization
    • MIMD Organization
  • Performance Evaluation
    • Depending on the context (Short response time, High throughput, High availability, High bandwidth)
    • SPEC (Standard Performance Evaluation Cooperative)
  • Performance Metrics
    • Clock rate
    • MIPS (Millions Instructions per Second)
    • FLOPS (Floating Point Operations per second) – Mega-, Giga-, TeraFLOPS
    • Response time or Turnaround time
    • Throughput
    • Utilization
    • Speedup
    • Scalability
  • Evaluation Techniques
    • Analytical Modeling
    • Simulation
    • Measurement
@chunrapeepat
Copy link
Author

too much topic. nice!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment