Computer Science Notes

Introduction to Computers and Computer Science

What is a Computer?

  • Definitions of a computer vary.

  • Boring Definition: A boxy device with a typewriter-like interface that stores and processes information.

  • Criminal Code of Canada (s. 342.1):

    • “computer system” means a device that, or a group of interconnected or related devices one or more of which:
      a) contains computer programs or other data,
      b) by means of computer programs:
      i. performs logic and control,
      ii. may perform any other function;
    • “computer program” is data representing instructions or statements that, when executed, cause the computer system to perform a function.
  • UCITA Legal Definition (USA):

    • An electronic device that accepts information in digital or similar form and manipulates it for a result based on a sequence of instructions.
  • Additional Definitions:

    1. One who computes.
    2. A tool that receives, processes and presents data.

Evolution of Computers

  • Abacus:
    • First known computer, used around 2500 years ago.
    • Relied on manual operation to move beads.
  • Difference Engine:
    • Designed by Charles Babbage between 1847 and 1849.
    • First mechanical calculator; could evaluate polynomial expressions.
  • Electrical Switches:
    • Relay: electromagnetic switch, limited use due to sound.
    • Vacuum Tube: used to open/close circuits, prone to overheating.
    • Transistor: Integral to all modern machines, developed in 1954.
  • ENIAC (1940s):
    • Electronic Numerical Integrator and Computer.
    • Composed of 17,468 vacuum tubes, could perform 5,000 additions/sec.

Moore’s Law

  • Moore's Law states that the complexity of minimum component costs has approximately doubled every year.
    • Expected to continue in the short term; long-term predictions remain uncertain.

What is Computer Science?

  • Definition: The scientific study of computation, including the theoretical foundations of information and computation and their implementation in computer systems.
  • Disciplines within Computer Science:
    • Human-Computer Interaction
    • Computer Graphics
    • Databases
    • Information Security and Privacy
    • Networking and Distributed Systems
    • Artificial Intelligence
    • Software Engineering
    • Game Development

Problem Solving with a Computer

  • Bloom’s Taxonomy: Levels of learning from knowledge to evaluation.

    1. Knowledge: Recall information.
    2. Comprehension: Understand information.
    3. Application: Apply knowledge to solve problems.
    4. Analysis: Identify relationships.
    5. Synthesis: Create new ideas.
    6. Evaluation: Compare and contrast information.
  • Top-Down Design: Break a problem into smaller sub-problems for better manageability.
    Steps: Begin with the entire problem, divide into 3-5 manageable components, repeat if necessary.

  • Algorithm: A finite sequence of effective steps to solve a problem with clear, unambiguous instructions.

    • Example: Change dispensing algorithm to give the customer the correct currency.

Programming and Future Considerations

  • Programming: Process of creating software by translating algorithms into computer language with precise syntax rules.
  • Future Directions: Understand the problems we want to solve and learn to program effectively to use computers as tools for problem-solving.