Computer Science Essentials: Redundancy, Ethics, and More

Redundancy in Data

  • Temporal Redundancy: Redundancy between frames, abrupt transition between frames.
  • Spatial Redundancy: Redundancy within a frame.

Fetch-Execute Cycle

  1. The address in the program counter is transferred to the MAR.
  2. During the next clock cycle, two things happen simultaneously:
    1. Load the instruction at the address of MAR into the MDR.
    2. The address stored in the PC is incremented.
  3. The instruction stored in the MDR is transferred to the CIR.

Sampling Process

  1. The amplitude of the sound wave is determined to get an approximation of the sound wave.
  2. The approximation is encoded as a sequence of binary numbers and converted to a digital signal.
  3. Increasing the sampling rate will improve the accuracy of the recording.

Run-Length Encoding (RLE)

  1. Lossless method of compression.
  2. Reduces the size of a string of identical bytes.
  3. The repeating string is encoded into two values.
  4. One value represents the number of identical characters in the run, and the other value is the code of the character.

Code of Ethics for Software Engineers

  • Public: Software engineers shall act consistently with the public interest.
  • Client and Employer: Software engineers shall act in a manner that is in the best interests of their client and employer, consistent with the public interest.
  • Product: Software engineers shall ensure that their products and related modifications meet the highest professional standards possible.
  • Judgment: Software engineers shall maintain integrity and independence in their professional judgment.
  • Management: Software engineering managers and leaders shall subscribe to and promote an ethical approach to the management of software development and maintenance.
  • Profession: Software engineers shall advance the integrity and reputation of the profession consistent with the public interest.
  • Colleague: Software engineers shall be fair to and supportive of their colleagues.
  • Self: Software engineers shall participate in lifelong learning regarding the practice of their profession and shall promote an ethical approach to the practice of the profession.

DRAM vs. SRAM

  • DRAM has to be refreshed; SRAM does not require a refresh.
  • DRAM uses higher power; SRAM uses less power.
  • DRAM is less expensive; SRAM is more expensive.
  • DRAM is used in main memory; SRAM is used in cache memory.

Bit Streaming

  • On Demand: In this case, the delivery of the media and the playing of the media are two separate processes. The incoming media data are received into a buffer created on the user’s computer. The user’s machine has media player software that takes the media data from the buffer and plays it.
  • Real Time: In this case, the content is being generated as it is being delivered, such as when viewing a sporting event. At the receiver end, the technology is the same as before. The major problem is at the delivery end because a very large number of users may be watching simultaneously.

Events When Viewing a Website

  1. User specifies a URL in their client.
  2. Client sends a DNS lookup request to convert the URL to an IP address and initiates a TCP connection to the server.
  3. Server acknowledges the TCP connection; the client sends HTTP requests to retrieve content for the URL.
  4. Server replies with content for the web page, and the browser retrieves content from the HTTP packets and renders it.

Sampling and Normalization

Sampling

  1. The height/amplitude of the (sound) wave is determined.
  2. At set intervals.
  3. To get an approximation of the sound wave.
  4. Encoded as a sequence of binary numbers.
  5. Increasing the sampling rate will improve the accuracy of the recording.

Normalization

  • 1NF: Contains no repeating attribute or groups of attributes.
  • 2NF: It is in 1NF, and every non-primary key attribute is fully dependent on the primary key. Incomplete dependencies have been removed.
  • 3NF: It is in 1NF and 2NF, and all non-key elements are fully dependent on the primary key. No inter-dependencies between attributes.