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.
- “computer system” means a device that, or a group of interconnected or related devices one or more of which:
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:
- One who computes.
- 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.
- Knowledge: Recall information.
- Comprehension: Understand information.
- Application: Apply knowledge to solve problems.
- Analysis: Identify relationships.
- Synthesis: Create new ideas.
- 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.