MGU Computer Science Series — Computer Science Foundations
Part VII: Software Projects, Ethics, and the Future
Ethics · Society · Careers · The Future of Computing
Chapter 28 of 28
MGU Computer Science Series  ·  Computer Science Foundations  ·  Library Textbook Edition

Chapter 28:
Ethics, Society, Careers,
and the Future of Computing

How computing reshapes society, what responsibilities come with technical work, where computing careers lead, and how to participate in a digital world with both curiosity and critical judgment

■ Part VII: Software Projects, Ethics & the Future ■

■ 11 Sections  •  Final Chapter of the Textbook ■

Capstone Chapter  ·  Follows Chapter 27: Software Engineering and Team Projects  ·  Completes the MGU Computer Science Foundations Course

Purpose and Overview

Computing is not neutral. Every system is designed by someone, for someone, with assumptions about what matters and what does not. Understanding those choices — and making better ones — is part of what it means to be a computer scientist.

You have traveled a long way through this textbook. You have learned how computers represent information using binary digits. You have written algorithms, traced control flow, defined functions, and debugged programs. You have studied how hardware and software work together, how the internet moves packets across the globe, how databases store and retrieve records, how encryption protects private information, and how machine learning systems are trained on data to make predictions.

All of that knowledge is real and valuable. But knowledge of how systems work is not the same as wisdom about how systems should be used.

This final chapter asks the harder questions. Who benefits from the systems we build? Who might be harmed? What responsibilities do computer scientists carry? How does computing reshape work, opportunity, creativity, democracy, health, and education? What does a computing career look like? And what lies ahead?

Computer science is a technical discipline. It is also a human one. The machines are built by people. The algorithms encode human choices. The data reflects human history. The systems serve — or fail — human needs. The profession is practiced inside human societies, governed by laws, shaped by markets, and answerable to communities.

This chapter is not a warning against technology. Computing has enabled extraordinary things: connecting people across distance, preserving knowledge, accelerating medicine, expanding education, enabling creativity, and giving individuals tools that once belonged only to governments and corporations. The goal of this chapter is not pessimism but clarity. A computer scientist who understands the social dimensions of computing is a better designer, a more careful engineer, a more honest communicator, and a more responsible professional.

11Sections
8Objectives
16Key Terms
28Chapters Complete

Learning Objectives

  1. 1Explain how computing acts as a social force that reshapes medicine, education, communication, work, and government.
  2. 2Describe the ethical responsibilities that computing professionals carry and give examples of what those responsibilities look like in practice.
  3. 3Define privacy and fairness in computing contexts, and identify ways bias can enter algorithmic systems.
  4. 4Explain what accessibility means in computing design, and identify standards and assistive technologies that support it.
  5. 5Describe the environmental impact of computing and identify choices that affect that footprint.
  6. 6Explain how automation affects employment and why the distributional effects of automation are not uniform.
  7. 7Identify major computing career areas and the skills each requires.
  8. 8Describe what responsible participation in a digital world involves and articulate what a commitment to lifelong learning in computing means.

Sections at a Glance

Sections 28.1 – 28.3
Computing in Society: Force, Responsibility, and Fairness
Social Force · Professional Ethics · Privacy · Fairness

Computing as a Social Force

Computing is not a tool that sits quietly waiting to be used. It reshapes the world in which it operates. Consider what was different before widespread computing: medical records were paper files in filing cabinets; maps were printed; music was sold on physical discs; letters crossed cities in days; photographs lived in albums. If you wanted to find a fact, you went to a library. Computing has transformed each of those areas at a scale and speed that institutions, laws, norms, and individual habits have not always kept pace with.

This gap between technical capability and social readiness is one of the central challenges of the computing age.

Three Questions to Ask About Any Computing System

Who built it, and whose perspective shaped its design?

Who uses it, and who cannot?

Who benefits, and who might be harmed?

DomainComputing Capabilities IntroducedRisks Also Introduced
MedicineDiagnostic algorithms; shared records; imaging softwareData breaches; biased diagnostic tools; over-trusted decision support
EducationRemote access; personalized practice; instant feedbackDevice and internet gaps; intrusive monitoring; algorithmic disengagement
CommunicationGlobal connection; community organizing; multi-source newsMisinformation at scale; engagement-optimized harm; interception of private messages
TransportationNavigation; logistics optimization; collision avoidanceSoftware failures in safety-critical vehicles; algorithmic pricing that concentrates access

The lesson is not that computing is harmful. The lesson is that computing is powerful, and powerful tools require careful design, honest evaluation, and responsible use. Computing affects people unequally. Access to computing resources, reliable internet, quality devices, technical education, and computing careers is not evenly distributed within countries or across countries. Gaps in access compound into gaps in opportunity. Systems designed without input from diverse communities tend to serve those communities poorly. A computing professional who ignores these patterns is not neutral; they are building the patterns in.

Professional Ethics

Professions develop ethical standards because technical expertise creates power, and power creates responsibility. A civil engineer who designs a bridge carries responsibility for the safety of everyone who crosses it. A physician who diagnoses a patient carries responsibility for the accuracy of that diagnosis. Computing professionals carry analogous responsibilities. The systems they build affect real people.

A software bug in a medical device can injure a patient. A flaw in financial software can trigger losses affecting thousands of accounts. A poorly designed authentication system can expose private records to unauthorized access. A biased algorithm deployed in a hiring system can systematically exclude qualified candidates. These are not hypothetical scenarios. Each type of failure has happened in the real world.

The ACM Code of Ethics

The ACM (Association for Computing Machinery) Code of Ethics and Professional Conduct is one of the most widely cited professional codes in computing. It covers contributing to society, avoiding harm, honesty and trustworthiness, fairness, respecting privacy, honoring confidentiality, and improving professional competence. Reading it is useful not because it resolves every dilemma automatically, but because it names the considerations that deserve attention.

Ethical ResponsibilityWhat It Involves in Practice
Honesty about capabilitiesCommunicate what systems can and cannot do accurately, especially to clients and users who cannot evaluate technical claims themselves
Honesty about errorsDisclose known vulnerabilities, acknowledge bugs, and file honest incident reports; concealing failures is a professional and ethical failure
Responsibility for consequences"I just built what I was asked to build" is not a sufficient ethical response when what was built causes foreseeable harm
Protecting dataCollecting more data than needed, retaining it longer than necessary, or failing to secure it are ethical failures, not merely technical ones
AccessibilityBuilding systems that work only for a narrow demographic profile is a design failure with ethical dimensions; accessibility is a responsibility from the beginning

Ethics is not only about dramatic failures. Most ethical decisions in computing happen in ordinary moments: deciding how long to retain user data, writing a tooltip that honestly describes what a checkbox does, pushing back on a deadline that would require shipping an inadequately tested system, speaking up when a colleague's approach will harm users, or choosing not to implement a feature that could be technically built but should not be. The discipline of asking ethical questions consistently — not only in crises — is what makes professional ethics meaningful.

Privacy and Fairness

Privacy

Privacy is the ability of individuals to control information about themselves. It enables autonomy, dignity, and safety. People who cannot control information about themselves are vulnerable to exploitation, manipulation, discrimination, and harm. Privacy in computing is more complicated than privacy in physical space: digital information can be copied perfectly, transmitted instantly, stored indefinitely, and searched comprehensively. A remark made in person may be forgotten. A remark made online may be retrieved years later.

Five Key Privacy Principles

Data minimization: Collect only the data you actually need for the purpose you have declared.

Purpose limitation: Use data only for the purpose for which it was collected. Using health data for marketing without consent violates the expectation under which it was shared.

Informed consent: Users should understand what data is being collected and why before they agree to it. Privacy policies written in complex legal language do not constitute meaningful consent.

Right to deletion: In many jurisdictions, individuals have the right to request that their data be deleted. Systems should be designed to support this rather than resist it.

Security by design: Systems that collect sensitive data should be built from the beginning with protections appropriate to the sensitivity of that data.

Fairness and Algorithmic Bias

Fairness in computing concerns whether systems treat people equitably and whether they replicate, amplify, or create patterns of discrimination. Algorithmic bias is the tendency of automated systems to produce systematically different outcomes for different groups of people in ways that are not justified by relevant differences between those groups.

Source of BiasDescriptionExample
Training data biasSystem learns to replicate discrimination encoded in historical dataA hiring algorithm trained on past hires at a company that historically hired fewer women may downrank resumes from women
Measurement biasData used to represent a concept does not measure it equally well across groupsUsing arrest records as a proxy for criminality is problematic because arrest rates reflect policing patterns, not only behavior
Feedback loopsBiased predictions affect the world in ways that confirm the biasA system predicting higher crime in certain neighborhoods directs more policing there, producing more arrests, which appears to confirm the prediction
Representation gapsSystems designed and tested by people from one demographic perform poorly for othersFacial recognition trained mostly on lighter-skinned faces shows higher error rates for darker-skinned faces
Common Misconception

Fairness cannot be guaranteed by simply ignoring demographic characteristics. It requires actively measuring whether systems perform equitably across groups, involving affected communities in design and evaluation, and being willing to modify or decline to deploy systems that cause disproportionate harm. There are also multiple competing mathematical definitions of fairness that cannot all be satisfied simultaneously — choosing which criteria matter requires value judgments, not only technical ones.

Sections 28.4 – 28.7
Accessibility, Safety, Environment, and Automation
Accessibility · Safety · Environmental Impact · Automation and Work

Accessibility and Inclusion

Accessibility means designing computing systems so that people with disabilities can use them effectively. Approximately one billion people worldwide live with some form of disability. Disabilities affecting computing use include visual impairments (from low vision to complete blindness), hearing impairments, motor impairments (affecting the ability to use a mouse or keyboard), and cognitive disabilities (affecting reading, attention, or memory).

When a website is built without alt text on images, users who rely on screen readers cannot understand the content of those images. When a video is published without captions, deaf users cannot access the audio content. When an interface requires precise mouse movements, users with motor impairments may be unable to interact. When text is displayed at low contrast against its background, users with low vision cannot read it. These are not edge cases — they are almost always fixable.

The Curb Cut Effect

Features designed for accessibility often improve usability for everyone. Captions on videos help users watching in noisy environments or learning a language. High-contrast design helps users in bright sunlight. Large tap targets help users of all abilities on mobile devices. Keyboard navigation helps power users. Accessibility investment is not charity; it is good design.

WCAG PrincipleWhat It RequiresExample
PerceivableAll information must be presentable to users in ways they can perceiveAlt text on images; captions on videos; sufficient color contrast
OperableAll interface components and navigation must be operableFull keyboard navigation; no content that requires a mouse only
UnderstandableContent and interface operation must be understandableClear labels; consistent navigation; error messages that explain what to fix
RobustContent must work reliably with assistive technologiesCorrect use of HTML semantics; compatibility with screen readers

Inclusion is broader than accessibility. It also concerns whether systems are designed with input from the communities they will serve, whether those communities are represented among the people who build the systems, whether interfaces assume cultural contexts that not all users share, and whether language barriers are addressed. A system built entirely by teams with similar demographics, without input from diverse users, will reflect the assumptions and blind spots of its builders. Diverse teams with diverse input produce more inclusive systems — not as a matter of charity, but as a matter of design quality.

Safety and Reliability

Some computing systems operate in contexts where failure causes immediate physical harm. Medical devices monitor vital signs and deliver treatments. Autonomous vehicles navigate roads. Aircraft fly under the control of avionics software. Power grids are managed by automated systems. Failures in these contexts can injure or kill people. Safety-critical computing is a specialized discipline with its own methods, but several principles apply broadly.

ConceptDescription
ReliabilityThe probability that a system performs its required function under stated conditions for a specified period. Designed into systems through redundancy, rigorous testing, and failure mode analysis.
Fail-safe designWhen a system fails, it fails in the way that minimizes harm. A reactor losing power should default to shutdown, not runaway. Designing failure modes is as important as designing normal operation.
Formal verificationMathematical techniques used to prove that software meets its specification. Used in safety-critical contexts where testing alone is insufficient.
Human factorsA system that works correctly but whose interface causes operators to misunderstand its state is dangerous. Interface design must account for how people actually use systems under stress.
Reliability Beyond Safety-Critical Systems

A social media platform that loses user data, a banking app that shows incorrect balances, a school system that exposes student records, or an e-commerce site that processes payments incorrectly all cause real harm even without physical injury. Computing professionals should take reliability seriously across all contexts, not only in formally safety-critical ones.

Environmental Impact of Computing

Computing has a physical footprint that is easy to forget when the interface is a screen on a desk. The hardware is manufactured from mined materials. The systems run on electricity. The old devices become waste. Each of these is an environmental interaction with real consequences.

Impact AreaDescriptionWhat Can Change It
Data center energyFacilities housing servers for cloud, streaming, and web services consume enormous electricity for computing and coolingRenewable energy; efficient hardware; software efficiency
Hardware manufacturingSemiconductors require purified silicon, rare earth elements, and chemical processes; factories use large amounts of water and energyMaterial efficiency; longer device lifespans; repairability
Electronic wasteOld devices may be broken down for valuable materials under conditions that expose workers to toxic substances including lead, mercury, and cadmiumSafe recycling programs; design for recyclability; extending device use

The energy mix matters significantly: a data center powered by renewable energy has a substantially different carbon footprint than one powered by coal. Computing professionals can influence the environmental impact of computing by designing software that is computationally efficient, choosing or advocating for cloud providers that use renewable energy, extending the useful life of hardware through software support, and reporting energy consumption accurately rather than obscuring it. The environmental impact of computing is not primarily a problem caused by individual users. It is a structural problem that requires structural responses from organizations, governments, and the computing profession.

Automation and Work

Automation is not new. The industrial revolution automated physical labor in manufacturing. Spreadsheet software reduced demand for human bookkeepers. Word processing reduced demand for typists. ATMs changed banking branch staffing. In each historical case, automation eliminated some jobs while creating others, though the distribution of benefits and disruptions was not even. Workers in eliminated occupations often faced significant hardship, and the new jobs created did not always require the same skills, pay comparable wages, or locate themselves in the same communities as the eliminated work.

Current automation is broader and faster. Machine learning systems can now perform tasks that previously required human judgment: reading radiology images, classifying documents, translating text, summarizing information, generating written content, handling customer service inquiries, and routing complex logistics decisions. These capabilities continue to expand.

ViewArgumentLimitation
OptimisticAutomation increases productivity and creates more and better jobs over time; historical precedents support thisTimeline for new job creation may be long relative to displacement hardship; assumes displaced workers can transition
PessimisticCurrent automation targets cognitive middle-skill work that historically provided stable employment; may not be replacedCannot predict which new roles will emerge from productivity gains and changed consumer behavior
DistributionalRegardless of aggregate outcome, benefits tend to accrue to owners of automated systems; workers may bear most of the riskPolicy, not technology alone, determines how productivity gains are shared
Professional Responsibility in Automation Design

The decisions made in designing automated systems — what tasks to automate, how to design transitions, whether to involve affected workers in the process, how to allocate productivity gains — are not purely technical decisions. Many forms of automation eliminate dangerous, painful, or degrading work. Automation in medicine, agriculture, infrastructure, and public safety has saved lives. The question is not whether to automate but how to do so in ways that are honest about the consequences and that design for equitable outcomes.

Sections 28.8 – 28.9
Computing Careers and Lifelong Learning
Career Areas · Preparation · Lifelong Learning Strategies

Computing Careers

Computing is one of the most actively hiring fields in the modern economy, and it continues to grow. More importantly, computing skills are increasingly valuable in fields that are not primarily computing fields — science, medicine, education, journalism, government, business, law, art, and social services all increasingly reward computational literacy.

Career Area 1
Software Development and Engineering

Software developers and software engineers design, build, test, and maintain software systems. This includes applications for desktop, web, and mobile platforms; backend services that power applications; embedded software running on devices; operating systems; and the infrastructure tools that developers use to build everything else.

Typical skills: Programming in one or more languages · Data structures and algorithms · Debugging · Version control · Translating requirements into working software · Related roles: Frontend developer · Backend developer · Full-stack developer · Mobile developer · Embedded systems engineer · DevOps engineer
Career Area 2
Data and Analytics

Data analysts, data engineers, and data scientists work with data. Analysts extract meaning from existing data to answer business or research questions. Engineers build and maintain the pipelines that collect, store, transform, and deliver data. Scientists develop models that make predictions or discover patterns.

Typical skills: Programming (Python, SQL, often R) · Data wrangling and cleaning · Statistical reasoning · Data visualization · Domain knowledge in the area the data concerns · Related roles: Data analyst · Data engineer · Data scientist · Business intelligence developer · Quantitative analyst
Career Area 3
Machine Learning and Artificial Intelligence

Machine learning engineers and AI researchers build, train, evaluate, and deploy machine learning models. This area sits at the intersection of software engineering and statistical modeling and is one of the fastest-growing areas in the computing field.

Typical skills: Programming (Python primarily) · ML concepts and algorithms · Linear algebra and probability (at advanced levels) · Model evaluation · ML frameworks · Related roles: ML engineer · AI researcher · NLP engineer · Computer vision engineer · Research scientist
Career Area 4
Cybersecurity

Cybersecurity professionals protect systems, networks, devices, and data from unauthorized access, damage, or disruption. This is a broad field ranging from hands-on technical work to policy and organizational governance. As systems become more connected, demand for cybersecurity professionals continues to exceed supply.

Typical skills: Networking and operating systems · Common attack vectors and defenses · Adversarial thinking · Cryptography fundamentals · Related roles: Security analyst · Penetration tester · Security engineer · Incident responder · SOC analyst · Digital forensics analyst
Career Area 5
Networks, Infrastructure, and Cloud

Network engineers and systems administrators design, build, and maintain the infrastructure that computing systems run on — the physical and virtual networks, servers, storage systems, and cloud environments that everything else depends on.

Typical skills: Networking protocols · Operating systems administration · Cloud platforms · Hardware configuration · Troubleshooting · Related roles: Network engineer · Systems administrator · Cloud architect · Site reliability engineer · Infrastructure engineer
Career Area 6
Human-Computer Interaction and Design

UX designers and HCI researchers study how people interact with computing systems and design interfaces that are usable, accessible, and effective. This work sits at the intersection of computing and human psychology, often collaborating closely with engineering and product teams.

Typical skills: User research methods · Prototyping · Usability testing · Interface design principles · Accessibility standards · Communicating across technical and non-technical teams · Related roles: UX designer · UX researcher · UI designer · Product designer · Accessibility specialist
Career Area 7
Computing in Other Fields

Computing skills are increasingly valuable in fields that are not traditionally computing fields. Bioinformaticians apply computing to genomic data. Computational journalists use data analysis to report on complex topics. Digital humanists apply computing tools to historical and literary questions. Scientific programmers build simulation tools for climate, ecology, and physics. In many of these roles, deep subject matter expertise in the non-computing field is as important as computing skills.

Examples: Bioinformatics · Computational journalism · Digital humanities · Scientific computing · Public health informatics · Policy analytics · In each: domain expertise + computing skills together

Preparing for a Computing Career

No single path leads into computing. Some computing professionals have computer science degrees. Some have degrees in mathematics, engineering, or science. Some have degrees in non-technical fields and learned computing skills later. Some attended coding bootcamps. Some are self-taught through online courses, personal projects, and open-source contributions. What matters most across all of these paths: foundational knowledge that transfers across specific tools; practical skills demonstrated through real projects; the ability to communicate clearly with technical and non-technical colleagues; a genuine habit of continuous learning; and ethical judgment about the consequences of technical work.

Lifelong Learning in Technology

One unusual feature of a computing career is how rapidly the technical landscape shifts. Programming languages that were dominant twenty years ago are now niche. Frameworks that were industry standards five years ago have been supplanted. Entire computing paradigms — cloud computing, mobile computing, machine learning, containerization — have emerged and become central within a professional lifetime. This is not a reason to avoid computing as a career. It is a reason to approach a computing career with a particular disposition: one that treats learning as ongoing rather than complete.

Changes SlowlyChanges Quickly
Fundamental concepts: algorithms, data structures, abstraction, decomposition, systems thinking, networking principles, security conceptsSpecific languages, frameworks, libraries, platforms, and tools
Mathematical and logical foundations that underlie computingParticular APIs, cloud service offerings, and development workflows
Core ethical questions about privacy, fairness, safety, and accessSpecific regulations, industry standards, and organizational norms
Six Strategies for Lifelong Learning in Computing

Read documentation. Official documentation is the most accurate and comprehensive source. Getting comfortable reading it is one of the most valuable habits in computing.

Build things. Side projects, experiments, and real work under constraints teach what reading alone cannot.

Engage with community. Computing has rich communities — forums, conferences, meetups, open-source projects, professional organizations. Engagement accelerates learning and builds professional relationships.

Follow primary sources. Research papers, official documentation, and technical specifications are more reliable than secondary summaries and much more reliable than social media commentary.

Revisit fundamentals. When new topics feel confusing, the confusion is often rooted in a gap in foundational knowledge. Returning to earlier material with fresh eyes often resolves apparent complexity.

Teach what you know. Explaining ideas to others reveals your own understanding and misunderstandings. Teaching is one of the most effective ways to deepen learning.

Sections 28.10 – 28.11
The Future and Responsible Participation
Future Directions · Responsible Participation in a Digital World

The Future of Computing

Predicting the future of computing with confidence is not possible. Experts consistently overestimate the pace of change in some areas and underestimate it in others. Technologies that seemed inevitable have failed; technologies that seemed impossible have arrived. What is possible is to observe the directions in which computing appears to be moving and to think carefully about what those directions imply.

Direction 1
Artificial Intelligence is Expanding Rapidly

Machine learning systems are now used in image recognition, natural language processing, code generation, scientific research, drug discovery, content recommendation, logistics, financial analysis, and many other domains. The capabilities of large language models and other AI systems have advanced faster than most researchers expected. The social, economic, and ethical implications of these capabilities are still being worked out, and the technical systems themselves continue to evolve. What can be said with confidence is that AI will be part of the working environment for virtually any computing professional entering the field today.

Direction 2
Computing is Becoming Embedded Everywhere

Microprocessors are inside vehicles, appliances, medical devices, agricultural equipment, clothing, eyewear, and infrastructure components. The Internet of Things connects sensors and devices in homes, factories, hospitals, and cities. The boundaries between computing systems and physical systems are blurring. Software errors now have physical consequences in domains that were once entirely mechanical — and the security of embedded systems is far less mature than the security of traditional computing environments.

Direction 3
Infrastructure is Simultaneously More Accessible and More Concentrated

Cloud computing has made powerful infrastructure available to small teams and individuals who could not previously afford dedicated servers. But the major cloud platforms are controlled by a small number of very large companies, creating dependencies and concentrating power in ways that raise questions about resilience, competition, and governance. The organizations that control this infrastructure make decisions with global effects. How those decisions should be governed is one of the central political questions of the computing age.

Direction 4
Privacy, Security, and Trustworthiness Remain Central Challenges

As systems collect more data, make more decisions with less human oversight, and become more integrated into essential infrastructure, the consequences of failures — whether caused by bugs, attacks, or misuse — grow larger. Building trustworthy systems is both a technical challenge and a governance challenge. No purely technical solution resolves questions that are ultimately about power, accountability, and consent.

The Future is Made by People

The future of computing is not determined by the technology itself. It is determined by the choices made by the people who design systems, the organizations that deploy them, the governments that regulate them, and the communities that use them. You are one of those people. The commitments you carry into your technical work — toward honesty, toward fairness, toward the people your systems serve — are not peripheral to your career. They are part of how you practice it.

Responsible Participation in a Digital World

This textbook ends not with a command but with an invitation. Computing is an extraordinary field. The tools, systems, and ideas you have encountered in these twenty-eight chapters have transformed every dimension of human life and will continue to do so. Studying computing gives you the ability to understand these transformations, to participate in them, and to influence their direction.

CommitmentWhat It Means in Practice
Commitment to understandingTake time to understand how systems work before accepting claims about what they can do. Demand evidence. Recognize that complexity is sometimes used to obscure rather than to illuminate.
Commitment to honestyBe accurate about what systems do and what they cannot do. Do not overclaim. Do not hide failures. Acknowledge limitations. Communicate clearly with people who depend on your technical work.
Commitment to othersComputing systems serve people who are diverse in ability, language, background, access, and need. Thinking carefully about who your work affects is part of doing the work well.
Commitment to learningComputing changes. Your understanding of it will need to change as well. Remaining a learner throughout a computing career is both professionally practical and personally valuable.
Commitment to engagementThe social, ethical, and political dimensions of computing are real. Treating them as someone else's problem while building systems that create or amplify them is not a neutral position.

None of this is simple. Ethical questions in computing often involve genuine tradeoffs, competing values, and deep uncertainty. Reasonable people with good intentions disagree. Decisions must be made under incomplete information. There are no algorithms for ethics. But there is something available: the practice of asking the questions, taking the answers seriously, and remaining willing to revise your judgments as you learn more. That practice, applied consistently over a career, is what responsible participation looks like.

The machines are ready. The questions are yours.

Chapter Summary