Introduction to Computer Science

Chapter 1
Computer Science: Foundations, Evolution, and Professional Landscape

Bachelors Program in Computer Science Engineering
Introduction to Computer Science   •   Bachelor

Computer Science: Foundations, Evolution, and Professional Landscape

Introduction

Computer science is the systematic study of computation: how information is represented, processed, communicated, stored, secured, and used to solve problems. It is both a scientific discipline and an engineering practice. As a science, it develops theories, models, abstractions, and methods for understanding computational phenomena. As an engineering discipline, it applies those ideas to design reliable software, hardware, networks, databases, intelligent systems, and interactive technologies.

Computer science is broader than programming. Programming is an important activity, but computer scientists also study algorithms, computational limits, programming languages, data, architectures, operating systems, human-computer interaction, artificial intelligence, security, and the social consequences of digital systems. The field ranges from mathematical questions about what can be computed to practical questions about how a cloud service can serve millions of users safely and efficiently.

Computing now supports banking, healthcare, transportation, manufacturing, education, government, entertainment, scientific research, and everyday communication. Consequently, an introductory understanding of computer science is essential not only for future software developers but also for professionals who will design, manage, evaluate, regulate, or use computational systems.

Learning Objectives

After studying this chapter, you should be able to:

  1. Define computer science and explain its scientific and engineering dimensions.
  2. Describe major areas of computer science and their relationships.
  3. Trace important developments in the history of computing.
  4. Distinguish computer science from software engineering, information technology, data science, and computer engineering.
  5. Explain contemporary computing roles, competencies, professional standards, and employer expectations.
  6. Identify ethical, legal, security, accessibility, and sustainability responsibilities in computing.
  7. Relate foundational knowledge to a realistic computing project or professional situation.

1. The Nature and Scope of Computer Science

1.1 A working definition

A useful definition is:

Computer science is the study of computation, computational systems, information processes, and the methods used to design and analyze them.

The term computation refers to a systematic transformation of inputs into outputs according to rules. A computation may be performed by a person, a mechanical device, a digital computer, a distributed network, or a biological system. Digital computers perform computations by manipulating representations of information, usually encoded using bits. A bit has one of two logical values, commonly represented as 0 and 1.

Computer science investigates questions such as:

  • Which problems can be solved by an algorithm?
  • How much time and memory does a solution require?
  • How should a computer system represent numbers, text, images, and sound?
  • How can software remain dependable when requirements and environments change?
  • How can systems learn from data without creating unfair or unsafe outcomes?
  • How should computational systems be designed for people with different abilities and circumstances?

1.2 Science, engineering, and practice

Computer science combines three perspectives.

Scientific perspective. Computer scientists create abstractions, formulate hypotheses, prove properties, conduct experiments, and analyze empirical evidence. For example, algorithm analysis studies how resource use grows as input size increases.

Engineering perspective. Engineers make design decisions under constraints such as cost, performance, reliability, safety, maintainability, energy consumption, and time. A theoretically elegant solution may be unsuitable if it cannot be operated or maintained economically.

Professional perspective. Computing work affects people, organizations, and public institutions. Professionals must communicate with stakeholders, protect confidential information, comply with law and policy, document decisions, and recognize the social consequences of technical choices.

These perspectives are complementary. A secure authentication algorithm requires theory, implementation skill, system design, operational controls, and responsible treatment of user data.

1.3 Abstraction and decomposition

Two foundational problem-solving techniques are abstraction and decomposition.

Abstraction identifies essential properties while temporarily hiding unnecessary detail. A file-system interface allows a programmer to open and read a file without knowing the physical location of every disk sector. An application programming interface (API) similarly exposes useful operations while concealing implementation details.

Decomposition divides a complex problem into smaller components. A university registration system may be divided into identity management, course search, enrollment, payment, notification, and reporting. Components can be designed, tested, and maintained more effectively than one undifferentiated program.

Good abstraction is neither excessive simplification nor complete description. It selects details appropriate to a particular purpose. A database administrator, a user-experience designer, and a security analyst may require different abstractions of the same system.

2. Major Disciplines of Computer Science

Computer science contains interconnected subdisciplines rather than isolated subjects.

2.1 Algorithms and theory of computation

Algorithms are finite, unambiguous procedures for solving problems. Algorithmic study includes correctness, efficiency, optimization, randomness, and computational complexity. Complexity analysis commonly examines how resource requirements grow as input size increases. For example, an algorithm with running time proportional to n² generally becomes less suitable than one proportional to n log n as n becomes large, although actual performance also depends on hardware, constants, data structure, and implementation.

Theoretical computer science studies formal languages, automata, computability, complexity classes, logic, cryptography, and mathematical foundations. It establishes boundaries: some problems are efficiently solvable, some are solvable only with substantial resources, and some are not computable by any algorithm under a given formal model.

2.2 Programming languages and software systems

Programming-language research studies syntax, semantics, type systems, paradigms, compilers, interpreters, and language design. A language provides a way to express computation; a compiler or interpreter translates that expression into a form a machine can execute.

Software systems include operating systems, libraries, middleware, databases, cloud platforms, and application software. Operating systems manage hardware resources and provide services such as process management, memory management, storage, and access control.

2.3 Computer architecture and organization

Computer architecture concerns the programmer-visible structure and behavior of a computer, including instruction sets, memory models, and input-output facilities. Organization concerns how those features are implemented using processors, caches, buses, memory, and peripheral devices.

The stored-program concept—storing instructions and data in memory—underlies most general-purpose computers. Performance is influenced not only by processor speed but also by memory latency, parallelism, storage, network communication, workload characteristics, and energy limits.

2.4 Data management and information retrieval

Data management concerns the collection, modeling, storage, querying, protection, integration, and governance of data. Relational databases represent information using tables and relationships; non-relational systems support other structures and scaling patterns. Information retrieval focuses on finding relevant material in collections such as web pages, documents, images, or scientific publications.

Data quality includes accuracy, completeness, consistency, timeliness, validity, and uniqueness. Poor data quality can produce incorrect decisions even when software operates exactly as designed.

2.5 Artificial intelligence and machine learning

Artificial intelligence (AI) develops systems capable of tasks associated with perception, reasoning, language, planning, decision-making, or generation. Machine learning is an approach in which a system learns patterns from data rather than relying entirely on hand-written rules.

A machine-learning system should be evaluated using appropriate data, metrics, baselines, and error analysis. High predictive accuracy alone does not establish fairness, safety, interpretability, or suitability for a high-stakes decision. The quality and representativeness of training data are central concerns.

2.6 Computer networks and distributed systems

Computer networks enable communication among devices. Topics include protocols, addressing, routing, wireless communication, congestion, reliability, and network security. Distributed systems coordinate components that operate across multiple computers. They must address partial failure, delay, concurrency, consistency, scalability, and coordination.

A service may continue operating when one server fails by replicating data and distributing requests. However, replication introduces design choices involving consistency, conflict resolution, recovery, and cost.

2.7 Cybersecurity and privacy

Cybersecurity protects the confidentiality, integrity, and availability of systems and information. Confidentiality limits unauthorized disclosure; integrity protects against unauthorized alteration; availability ensures authorized access when needed. These goals are often called the CIA triad.

Security is a system property, not merely a feature added at the end of development. Threat modeling, secure design, least privilege, authentication, authorization, encryption, logging, patching, backup, incident response, and user education all contribute to risk reduction.

Privacy concerns appropriate collection, use, sharing, retention, and deletion of information about people. A system can be secure against outsiders while still violating privacy through excessive or unjustified data collection.

2.8 Human-computer interaction

Human-computer interaction (HCI) studies how people interact with computational systems and how interfaces can be made useful, learnable, efficient, safe, and accessible. HCI uses user research, prototyping, usability evaluation, interaction design, and accessibility principles.

A technically correct system can fail if users cannot understand it, make frequent errors, or lack access because of disability, language, device limitations, or network conditions.

3. A Brief Evolution of Computing

3.1 Pre-electronic and mechanical foundations

People have long used tools to represent and manipulate quantities. The abacus supported systematic arithmetic. Mechanical calculators later automated addition, subtraction, multiplication, and division. In the nineteenth century, Charles Babbage proposed the Analytical Engine, a general-purpose mechanical design with memory, a processing unit, input, output, and programmable control. Although it was not completed as planned, its architecture anticipated important ideas in modern computing. Ada Lovelace described an algorithm for the machine and recognized that such machines could manipulate symbols beyond numerical quantities.

3.2 Electromechanical and electronic computing

The early twentieth century saw punched-card data processing and electromechanical machines. During the 1940s, electronic digital computers demonstrated the speed advantages of vacuum tubes. These machines were large, expensive, difficult to program, and limited by reliability and power consumption, but they established electronic computation as a practical possibility.

The stored-program architecture associated with the von Neumann model placed instructions and data in memory. This allowed programs to be modified and loaded more flexibly than systems whose instructions were physically rewired.

3.3 Transistors, integrated circuits, and microprocessors

The transistor replaced many vacuum-tube applications because it was smaller, more reliable, and more energy-efficient. Integrated circuits placed multiple electronic components on a single piece of semiconductor material. Continued increases in integration enabled smaller and more powerful systems.

The microprocessor placed a central processing unit on one chip. This development supported personal computers, embedded systems, industrial controllers, consumer electronics, and eventually smartphones and internet-connected devices.

3.4 Personal computing and graphical interfaces

During the late twentieth century, computers moved from specialist facilities into offices, schools, homes, and laboratories. Operating systems, graphical user interfaces, local networks, and productivity software made computing accessible to broader populations. Software development became a major professional activity, while open-source communities created reusable tools and platforms.

3.5 The internet, web, mobile, and cloud computing

The internet connected heterogeneous networks using common protocols. The World Wide Web made linked documents and services accessible through browsers. Search engines, online commerce, social platforms, streaming, and digital public services transformed communication and business.

Mobile computing combined portable hardware, wireless networks, sensors, cameras, and application platforms. Cloud computing provides on-demand access to computing resources, storage, platforms, and software through networks. It can improve scalability and reduce the need for organizations to own all physical infrastructure, but it also creates dependence on providers, raises data-governance questions, and requires careful cost and security management.

3.6 Contemporary and emerging directions

Current developments include generative AI, specialized accelerators, edge computing, quantum-information research, robotics, extended reality, privacy-enhancing technologies, the Internet of Things, and sustainable computing. These developments should be assessed critically rather than treated as inevitable improvements. Important questions include reliability, environmental cost, labor impact, accessibility, security, accountability, and the distribution of benefits and risks.

4. Distinguishing Related Fields

The following fields overlap but emphasize different questions and responsibilities.

FieldPrimary emphasisTypical concerns
Computer scienceComputation, algorithms, systems, and theoryWhat can be computed? How efficiently and correctly?
Software engineeringSystematic development and maintenance of softwareHow can software be reliable, maintainable, testable, and delivered effectively?
Information technologyDeployment and operation of technology for organizational needsHow should systems be configured, supported, secured, and governed?
Data scienceExtracting knowledge and supporting decisions from dataWhat patterns, predictions, or explanations can data provide?
Computer engineeringDesign of computing hardware and hardware-software systemsHow should processors, embedded devices, and digital systems be built?

4.1 Computer science and software engineering

Computer science may investigate a new algorithm or formal model without producing a deployable product. Software engineering focuses on requirements, architecture, implementation, testing, deployment, maintenance, project coordination, and quality assurance. In practice, the two fields overlap substantially. A software engineer needs algorithmic and systems knowledge, while a computer scientist may build experimental or production-quality software to evaluate an idea.

4.2 Computer science and information technology

Information technology (IT) emphasizes the selection, integration, operation, support, and governance of technology within organizations. IT professionals manage devices, networks, identity systems, enterprise applications, service desks, backups, and operational processes. They may configure commercial systems rather than develop their internal algorithms. Computer science provides foundational knowledge that can improve IT decisions, while IT provides the operational context in which computational systems deliver value.

4.3 Computer science and data science

Data science combines computing, statistics, domain knowledge, data management, visualization, and communication. It often involves data cleaning, exploratory analysis, statistical modeling, machine learning, evaluation, and deployment. A computer scientist may develop a more efficient learning algorithm, whereas a data scientist may use established algorithms to answer a business, scientific, or public-policy question. The boundary is fluid.

4.4 Computer science and computer engineering

Computer engineering combines electrical engineering and computer science. It addresses digital logic, processors, embedded systems, computer architecture, sensors, circuits, and hardware-software integration. Computer scientists usually focus more heavily on computation, software, data, and abstraction; computer engineers often work closer to physical devices and electronic systems. Modern systems frequently require both perspectives.

5. Professional Roles and Competencies

5.1 Common roles

Contemporary computing organizations use multidisciplinary teams. Roles include:

  • software developer or software engineer;
  • systems analyst;
  • web or mobile application developer;
  • data analyst or data scientist;
  • database administrator or data engineer;
  • cybersecurity analyst or security engineer;
  • network engineer;
  • cloud or platform engineer;
  • machine-learning engineer;
  • user-experience or interaction designer;
  • quality-assurance engineer and test specialist;
  • site reliability or operations engineer;
  • researcher, technical writer, product manager, or solutions architect.

Job titles vary between organizations. A title should not be used as a substitute for examining actual responsibilities, expected technologies, level of autonomy, and required evidence of competence.

5.2 Technical competencies

Bachelor-level graduates are commonly expected to understand:

  • programming fundamentals and at least one programming language deeply enough to build and test programs;
  • data structures, algorithms, and computational complexity;
  • computer organization and operating-system concepts;
  • databases and data modeling;
  • networks and basic distributed-system ideas;
  • software-development life cycles, version control, testing, and documentation;
  • cybersecurity principles and secure coding;
  • mathematics appropriate to the area, including discrete mathematics, probability, statistics, or linear algebra;
  • ethical, legal, social, and professional responsibilities.

5.3 Transferable competencies

Employers also value communication, teamwork, requirements analysis, problem formulation, critical thinking, estimation, time management, adaptability, and the ability to learn unfamiliar tools. Computing work is rarely performed in isolation. Professionals must explain trade-offs to non-specialists and negotiate requirements among users, managers, regulators, and technical colleagues.

5.4 Standards and professional guidance

Curricula and professional practice are informed by bodies such as the Association for Computing Machinery (ACM), IEEE Computer Society, and international standards organizations. Software engineering guidance commonly addresses requirements, design, construction, testing, maintenance, configuration management, quality, risk, and professional practice. Security and privacy work may draw on recognized risk-management frameworks and applicable national law.

Standards are not replacements for judgment. They provide shared vocabulary, expectations, and evidence of due care. Their applicability depends on the organization, sector, system risk, jurisdiction, and project context.

6. Professional Ethics, Law, and Governance

Computing decisions can affect employment, safety, liberty, access to services, and personal dignity. Professional responsibility therefore extends beyond producing functional code.

Important principles include:

  1. Public interest: avoid foreseeable harm and prioritize safety where systems affect people.
  2. Honesty and transparency: communicate limitations, uncertainty, conflicts of interest, and known defects.
  3. Privacy and confidentiality: collect and use personal information only for justified purposes and protect it appropriately.
  4. Fairness and inclusion: identify discriminatory effects and design for diverse users.
  5. Accountability: maintain records of decisions, assign responsibility, and provide mechanisms for correction or appeal.
  6. Respect for intellectual property: follow licenses, copyright rules, and attribution requirements.
  7. Security responsibility: report vulnerabilities responsibly and avoid unnecessary exposure of systems or data.

Legal requirements differ across countries and sectors. They may concern data protection, accessibility, cybersecurity reporting, consumer protection, intellectual property, records retention, and safety. An engineer should seek appropriate legal or compliance advice rather than assuming that technical feasibility establishes legal permission.

7. An Illustrative Case: University Online Registration System

Background

A university operates an online course-registration system. Students search for courses, check prerequisites, enroll, drop courses, and receive confirmation. The system exchanges information with identity management, academic records, payment, and notification services.

Problem

At the beginning of a semester, thousands of students access the system simultaneously. Previous releases have experienced slow response, duplicate enrollment records, confusing error messages, and unauthorized access to student information.

Analysis

The problem is not simply a programming defect. It involves several computer-science areas:

  • Algorithms and data structures: course search and timetable validation must be efficient.
  • Databases: enrollment constraints must be represented and enforced consistently.
  • Networks and distributed systems: multiple application servers communicate with shared services.
  • Security: authentication, authorization, session management, and audit logging are required.
  • HCI: students need clear feedback about capacity, prerequisites, and failures.
  • Software engineering: requirements, testing, deployment, monitoring, and maintenance must be coordinated.
  • Ethics and privacy: academic records must not be exposed or used beyond legitimate purposes.

Approach and solution

The team first documents functional requirements, such as “a student may enroll only when prerequisites are satisfied,” and quality requirements, such as response time, availability, accessibility, and privacy.

A transactional database operation is used so that checking a seat and assigning it occur as one controlled operation. Concurrency tests simulate many students attempting to enroll in the final available seat. The system uses role-based authorization: students can view their own records, instructors can view authorized course information, and administrators receive carefully scoped privileges.

The team adds automated unit, integration, accessibility, security, and load tests. Deployment is staged, database backups are verified, logs exclude unnecessary personal information, and monitoring detects unusual failure rates. User testing identifies that a generic “request failed” message should instead explain whether the course is full, a prerequisite is missing, or the service is temporarily unavailable.

Outcome

The redesigned system reduces duplicate enrollments, improves performance during peak demand, and gives administrators evidence for diagnosing failures. No design eliminates all risk: a provider outage, incorrect academic rule, or newly discovered vulnerability may still occur. Continuous monitoring, incident response, user feedback, and periodic review remain necessary.

Learning points

The case demonstrates that computing projects are socio-technical systems. Success depends on integrating theory, implementation, operations, user needs, governance, and professional judgment. It also illustrates why “working software” must be evaluated in terms of correctness, security, usability, accessibility, reliability, and social consequences.

8. Challenges and Limitations in Contemporary Computing

Computing creates opportunities but also difficult trade-offs.

Complexity and technical debt. Systems become difficult to change when shortcuts, obsolete dependencies, and undocumented assumptions accumulate. Technical debt may accelerate early delivery but increase later maintenance cost and risk.

Reliability and uncertainty. Distributed systems, machine-learning models, and third-party services can fail in unexpected ways. Testing improves confidence but cannot prove that every real-world condition has been covered.

Bias and unequal impact. Data may reflect historical discrimination or unequal measurement. Automated decisions can reproduce or amplify these patterns. Evaluation should examine performance across relevant groups and provide human oversight where appropriate.

Cybersecurity threats. Attackers exploit technical vulnerabilities, social engineering, weak credentials, insecure dependencies, and organizational failures. Security requires continuous improvement rather than a one-time certification.

Environmental impact. Manufacturing devices, operating data centers, and disposing of electronic equipment consume materials and energy. Sustainable design considers device longevity, efficient computation, repairability, workload placement, and responsible procurement.

Digital divide and accessibility. Not everyone has equal access to devices, connectivity, digital skills, or accessible interfaces. Public and commercial systems should offer inclusive design and appropriate alternatives.

9. Best Practices for Beginning Computer Scientists

  1. Clarify the problem before choosing a technology. Identify users, goals, constraints, assumptions, and success criteria.
  2. Use abstraction deliberately. Define interfaces and responsibilities while preserving information needed for correct decisions.
  3. Build incrementally. Implement a small, testable slice before expanding scope.
  4. Use version control and reproducible practices. Record changes, review contributions, and document how systems are built and run.
  5. Test at multiple levels. Combine unit, integration, system, usability, performance, security, and acceptance testing as appropriate.
  6. Treat data as an asset and a responsibility. Define quality rules, ownership, retention, access, and provenance.
  7. Design security and accessibility from the beginning. Retrofitting them is often expensive and incomplete.
  8. Measure before optimizing. Use evidence to locate bottlenecks rather than relying on intuition.
  9. Communicate uncertainty and limitations. A technically honest explanation is more valuable than unjustified confidence.
  10. Continue learning. Tools change rapidly, but principles such as abstraction, algorithmic reasoning, modularity, testing, and ethical responsibility remain durable.

Chapter Summary

Computer science is the study of computation and computational systems, combining scientific inquiry, engineering design, and professional responsibility. Its major areas include algorithms and theory, programming languages, software systems, computer architecture, data management, artificial intelligence, networks, cybersecurity, and human-computer interaction. The field evolved from mechanical calculation through electronic computers, transistors, integrated circuits, personal computing, the internet, mobile systems, and cloud platforms.

Computer science overlaps with but differs from software engineering, information technology, data science, and computer engineering. Professional computing requires technical knowledge, communication, teamwork, ethical judgment, security awareness, and lifelong learning. Contemporary systems must be evaluated not only for functionality but also for reliability, maintainability, privacy, accessibility, fairness, safety, and sustainability. The university registration case shows how these concerns converge in real systems.

Key Terms

Computer science: The study of computation, computational systems, and methods for designing and analyzing them.

Computation: A rule-governed transformation of inputs into outputs.

Algorithm: A finite and unambiguous procedure for solving a problem.

Abstraction: Representation that emphasizes relevant properties while hiding unnecessary detail.

Decomposition: Division of a complex problem into smaller, manageable components.

Software engineering: Systematic development, operation, maintenance, and management of software.

Information technology: Deployment, operation, support, and governance of technology in organizations.

Data science: Use of computing, statistics, and domain knowledge to obtain insight from data.

Computer engineering: Design of hardware, digital systems, and hardware-software integration.

Operating system: Software that manages computer resources and provides services to applications.

Database: An organized collection of data managed for storage, retrieval, and use.

Distributed system: A system whose components operate across multiple networked computers.

Artificial intelligence: Computing methods intended to perform tasks involving perception, reasoning, learning, or decision-making.

Cybersecurity: Protection of systems and information from unauthorized access, alteration, disruption, or destruction.

Privacy: Appropriate control over the collection, use, sharing, and retention of personal information.

Human-computer interaction: Study and design of interactions between people and computational systems.

Technical debt: Future cost or risk created by expedient technical decisions.

Technical standard: An agreed specification or guidance document supporting consistent practice.

CIA triad: Confidentiality, integrity, and availability—the three common goals of information security.

Computational thinking: Problem-solving through abstraction, decomposition, pattern recognition, and algorithmic reasoning.

Review Questions

Short Answer Questions

  1. Define computer science and explain why it is more than programming.
  2. What are abstraction and decomposition? Give one example of each.
  3. State the three goals represented by the CIA triad.
  4. How does information technology differ from computer science?
  5. Name four major areas of computer science and briefly describe each.

Long Answer Questions

  1. Trace the major stages in the evolution of computing from mechanical devices to cloud and mobile computing.
  2. Compare computer science, software engineering, data science, information technology, and computer engineering.
  3. Explain how scientific, engineering, and professional perspectives complement one another in computing.
  4. Discuss the technical and ethical responsibilities involved in designing a system that stores personal information.
  5. Explain why reliability, accessibility, security, and maintainability should be considered alongside functionality.

Analytical / Application Questions

  1. A hospital proposes an AI system to prioritize patients for additional review. Identify relevant computer-science disciplines, potential risks, evaluation requirements, and professional safeguards.
  2. A small business must choose between hosting its own servers and using a cloud provider. Analyze the decision using scalability, cost, security, privacy, reliability, skills, and vendor dependence.
  3. Design a high-level plan for improving a university registration system during peak demand. Identify requirements, system components, tests, monitoring measures, and ethical or privacy controls.

Multiple Choice Questions with Answers

Question 1

Which statement best defines computer science?

A. The study of computer repair and hardware maintenance only

B. The study of computation, computational systems, and methods for designing and analyzing them

C. The use of office applications in organizations

D. The manufacture of electronic components

Correct Answer: B. The study of computation, computational systems, and methods for designing and analyzing them

Question 2

Which technique hides unnecessary implementation detail while preserving an interface?

A. Abstraction

B. Duplication

C. Decompression

D. Compilation

Correct Answer: A. Abstraction

Question 3

Which field primarily emphasizes operating and supporting technology within organizations?

A. Information technology

B. Theoretical physics

C. Computer graphics

D. Computer architecture

Correct Answer: A. Information technology

Question 4

What does the integrity objective in cybersecurity protect against?

A. Unauthorized alteration of information

B. All electricity failures

C. Lack of user training only

D. Every form of performance delay

Correct Answer: A. Unauthorized alteration of information

Question 5

Which development placed multiple electronic components on a single piece of semiconductor material?

A. The abacus

B. The integrated circuit

C. The punched card

D. The mechanical typewriter

Correct Answer: B. The integrated circuit

Question 6

Which activity is most characteristic of data science?

A. Designing semiconductor circuits

B. Extracting patterns and supporting decisions using data, statistics, and computing

C. Replacing all organizational policies with software

D. Repairing damaged network cables

Correct Answer: B. Extracting patterns and supporting decisions using data, statistics, and computing

Question 7

Why is concurrency testing important in an online course-registration system?

A. It verifies that simultaneous requests do not create inconsistent enrollment results

B. It eliminates the need for authentication

C. It guarantees that no user will ever make an error

D. It converts all data into images

Correct Answer: A. It verifies that simultaneous requests do not create inconsistent enrollment results

Question 8

Which role most directly combines processor, embedded-device, and hardware-software concerns?

A. Computer engineer

B. Technical editor

C. Database end user

D. Graphic illustrator

Correct Answer: A. Computer engineer

Question 9

Which practice best supports responsible handling of personal information?

A. Collecting all possible data indefinitely

B. Sharing data by default with every employee

C. Collecting and using data only for justified purposes and protecting it appropriately

D. Disabling audit logs to improve convenience

Correct Answer: C. Collecting and using data only for justified purposes and protecting it appropriately

Question 10

Why should a machine-learning system not be judged by accuracy alone?

A. Accuracy is unrelated to data

B. Fairness, safety, interpretability, subgroup performance, and suitability may also matter

C. Machine-learning systems never use measurements

D. Accuracy can only be assessed before deployment

Correct Answer: B. Fairness, safety, interpretability, subgroup performance, and suitability may also matter

Introduction to Computer Science
Chapter 1 of 15