Sunday, June 7, 2026

How computer science affects people, society, the economy, and the environment

 How computer science affects people, society, the economy, and the environment, not just how computers work.

1. Ethical Aspects of Computer Science

Ethics means doing what is right and responsible when using technology.

Examples:

Privacy

  • Companies collect personal information.
  • Users should know how their data is used.
  • Personal health records must be protected.

Security

  • Protecting systems from hackers.
  • Preventing identity theft and fraud.

Artificial Intelligence (AI)

  • AI should be fair and unbiased.
  • Decisions made by AI can affect jobs, loans, and healthcare.

Intellectual Property

  • Respecting copyrights and software licenses.
  • Not copying software illegally.

Question: Is it ethical for a company to track everything a user does online?


2. Historical Aspects of Computer Science

How computers developed over time.

Early Computers

  • Large machines used for calculations.
  • Limited speed and storage.

Personal Computer Revolution

  • Computers became available in homes and schools.

Internet Era

  • People could communicate worldwide.
  • Information became easier to access.

Modern Era

  • Smartphones
  • Cloud computing
  • Artificial intelligence
  • Robotics

Historical milestones include:

  • Alan Turing helping develop modern computing concepts.
  • Apple Inc. and Microsoft Corporation making personal computers widely available.

3. Environmental Aspects of Computer Science

Technology has environmental benefits and costs.

Positive Effects

  • Less paper through digital documents.
  • Remote work reduces travel.
  • Smart systems can improve energy efficiency.

Negative Effects

  • Electronic waste (old computers and phones).
  • Data centers consume large amounts of electricity.
  • Manufacturing electronics uses natural resources.

Example:
Millions of phones are replaced every year, creating e-waste that must be recycled properly.


4. Technological Aspects of Computer Science

The technologies that power modern life.

Examples:

  • Artificial Intelligence
  • Robotics
  • Databases
  • Cloud Computing
  • Cybersecurity
  • Mobile Apps
  • Virtual Reality

These technologies continue to transform:

  • Healthcare
  • Education
  • Transportation
  • Business
  • Entertainment

5. Social Impact

How technology affects people's lives.

Positive Social Impacts

  • Instant communication
  • Online learning
  • Telemedicine
  • Access to information

Negative Social Impacts

  • Cyberbullying
  • Misinformation
  • Internet addiction
  • Privacy concerns

Example:
A patient can have a video appointment with a doctor from home, improving access to healthcare.


6. Economic Impact

How computer science affects jobs, businesses, and wealth.

Positive Economic Effects

  • Creates new industries and jobs.
  • Improves productivity.
  • Enables online businesses.

Challenges

  • Automation may replace some jobs.
  • Workers may need new skills.
  • Technology can increase inequality if access is limited.

Examples:

  • Online shopping has created new business opportunities.
  • Automation can reduce repetitive factory work.

Summary

Computer science influences nearly every part of modern society. It raises ethical questions about privacy and security, has a rich history of innovation, affects the environment through technology production and energy use, drives technological advances, changes how people communicate and learn, and plays a major role in economic growth and employment.

process of designing computational artefacts web pages digital animations simulations games apps robotic systems

 The process of designing computational artefacts such as web pages, digital animations, simulations, games, apps and robotic systems

This means learning how to design and build digital products using computer science.

A computational artifact is something made with computing, such as a website, app, game, animation, simulation, or robot program.

1. Understand the problem or goal

First, ask: “What do I want this artifact to do?”

Example:
A health app goal could be:
“Help patients track daily water intake.”

2. Plan the design

Before coding, you plan:

  • Who will use it?
  • What features are needed?
  • What should the screen look like?
  • What data will it use?

Example:
For a water tracker app:

  • Button to add 1 cup
  • Daily goal display
  • Reminder message

3. Use abstraction

You focus on the important parts and remove unnecessary details.

Example:
For a game, you may only need:

  • Player
  • Score
  • Enemy
  • Rules

You do not need to design every tiny detail at first.

4. Create an algorithm

An algorithm is a step-by-step instruction.

Example for a game:

Start game
Set score to 0
If player catches coin, add 1 point
If player hits enemy, lose 1 life
End game when lives = 0

5. Build the artifact

This is where you use tools or programming languages.

Examples:

  • Web page: HTML, CSS, JavaScript
  • App: Python, JavaScript, Swift, Java, Kotlin
  • Game: Scratch, Python, Unity
  • Robot: sensors, motors, code
  • Animation: timeline, objects, movement rules

6. Test it

Testing means checking if it works correctly.

Ask:

  • Does the button work?
  • Does the page open correctly?
  • Does the game keep score?
  • Does the robot move safely?
  • Are there errors?

7. Debug and improve

Debugging means finding and fixing mistakes.

Example:
The app says 9 cups instead of 8 cups.
You check the code and fix the counting problem.

8. Evaluate the final product

Evaluation means judging how good the artifact is.

Ask:

  • Is it useful?
  • Is it easy to use?
  • Is it safe?
  • Is it accurate?
  • Can people understand it?
  • What can be improved?

Simple example: designing a website

Goal: Make a nursing study website.

Process:

  1. Decide the purpose: help students review medical terms.
  2. Plan pages: home page, vocabulary page, quiz page.
  3. Design layout: simple buttons and readable text.
  4. Write code: HTML/CSS/JavaScript.
  5. Test links and quiz answers.
  6. Fix errors.
  7. Improve design based on feedback.

Simple meaning

The process of designing computational artifacts means using planning, logic, creativity, coding, testing, and improvement to create useful digital products like websites, games, apps, animations, simulations, and robots.

Programming languages and how to read- write-test and modify computer programs

 Programming languages and how to read, write, test and modify computer programs

This description is usually from an Introduction to Computer Science or Programming Fundamentals course.

It means you will learn:

1. Read Computer Programs

Understand what existing code does.

Example (Python):

age = 20
if age >= 18:
print("Adult")

You should be able to explain:

  • age stores 20
  • The condition is true
  • The program prints "Adult"

2. Write Computer Programs

Create your own code to solve problems.

Example:

name = input("Enter your name: ")
print("Hello", name)

3. Test Programs

Check whether the program works correctly.

Example:

  • Input: 5 + 3
  • Expected output: 8
  • Verify the result is correct

4. Modify Programs

Change existing code to add features or fix problems.

Original:

print("Hello")

Modified:

name = "Phyu"
print("Hello", name)

Common Topics Covered

  • Variables
  • Data types (numbers, text, true/false)
  • Input and output
  • If/else statements
  • Loops
  • Functions
  • Lists/arrays
  • Basic debugging

Difficulty

SubjectDifficulty (1–10)
Intro SQL3–4
Intro Programming (Python)5–6
Computer Architecture7–9

For You

If you're considering computer courses at De Anza or Foothill and have little programming experience:

  1. Introduction to SQL → easiest
  2. Introduction to Programming (Python) → moderate
  3. Computer Architecture & Organization → hardest

A course with the description "read, write, test and modify computer programs" is typically an introductory programming class and is a good starting point before taking Computer Architecture. It teaches the programming foundation you'll need for more advanced computer science courses.

How to analyse problems in computational terms and understand concepts such as abstraction- logic-algorithms- computer systems, data representation and evaluation

 How to analyse problems in computational terms and understand concepts such as abstraction, logic, algorithms, computer systems, data representation and evaluation

The phrase "How to analyze problems in computational terms and understand concepts such as abstraction, logic, algorithms, computer systems, data representation and evaluation" is describing Computational Thinking, a foundational computer science skill.

Here's what each term means in simple language:

1. Abstraction

Focus on the important details and ignore unnecessary information.

Example:
When using Google Maps, you care about roads and directions, not every tree or building along the route.

2. Logic

Using clear rules to make decisions.

Example:

IF temperature > 100°F
Turn on fan
ELSE
Keep fan off

3. Algorithms

A step-by-step procedure for solving a problem.

Example:
Recipe for boiling an egg:

  1. Fill pot with water.
  2. Bring water to a boil.
  3. Add egg.
  4. Cook for 10 minutes.
  5. Remove and cool.

That's an algorithm.

4. Computer Systems

Understanding how hardware and software work together.

Examples:

  • CPU processes instructions.
  • RAM stores temporary data.
  • Hard drive stores files.
  • Operating system manages resources.

5. Data Representation

How computers store information.

Examples:

  • Text → letters encoded as numbers.
  • Images → pixels stored as binary data.
  • Numbers → stored in binary (0s and 1s).

For example:

Decimal 5 = Binary 101

6. Evaluation

Determining whether a solution works well.

Questions to ask:

  • Is it correct?
  • Is it fast?
  • Is it easy to understand?
  • Can it be improved?

Example: Computational Thinking in Daily Life

Problem: Find the fastest route to work.

  • Abstraction: Focus on roads and traffic, ignore irrelevant details.
  • Logic: If traffic is heavy, choose another route.
  • Algorithm: Compare several routes and select the shortest travel time.
  • Computer System: GPS app calculates directions.
  • Data Representation: Traffic and maps are stored digitally.
  • Evaluation: Did the chosen route save time?

In one sentence:

Computational thinking is the process of breaking a problem into manageable parts, creating logical step-by-step solutions, representing information efficiently, and evaluating whether the solution works effectively.

This concept is often taught in introductory computer science courses and is much easier than courses like Computer Architecture or Assembly Language.

Computer science

 Computer science is the study of computing and algorithmic processes.

 Leaving Certificate Computer Science includes 

  1. how programming and 
  2. computational thinking can be applied to the solution of problems, and 
  3. how computing technology impacts the world around us.

The specification is constructed into 3 strands, whose learning outcomes are interwoven. The 3 strands are:

  1. Practices and principles
  2. Core concepts
  3. Computer science in practice

C S F020A - 4.5 Units - PROGRAMMING IN C#

 

C S F020A - 4.5 Units - PROGRAMMING IN C#

This course is an introduction to the C# programming language and the .NET platform. It is intended for Computer Science majors as well as non-majors and professionals seeking C# programming experience. Topics include object oriented programming, graphical user interfaces, elementary data structures, algorithms, recursion, data abstraction, code style, documentation, debugging techniques and testing.

C S F012A - 4.5 Units - INTRO TO MACHINE LEARNING prequisite CS 3A

 

C S F012A - 4.5 Units - INTRO TO MACHINE LEARNING

A survey of machine learning algorithms and modern packages. Includes models in supervised, unsupervised, and reinforcement learning. Explores the entire machine learning pipeline from dataset selection through model evaluation. Students will gain practical experience coding models, with less emphasis on math and theory. *** Prerequisite: C S 3A. *** Advisory: Students will benefit from prior exposure to statistics.

C S F011A - 4.5 Units - INTRO ARTIFICIAL INTELLIGENCE prerequisite is CS 3A and MATH 10

 

C S F011A - 4.5 Units - INTRO ARTIFICIAL INTELLIGENCE

A survey of artificial intelligence (AI) and its application. Includes search algorithms, evolutionary algorithms, and machine learning. Explores issues of ethics and equity. Students will use Python and publicly available packages to develop and test AI models. Students will gain practical experience coding models, with less emphasis on math and theory. *** Prerequisite: C S 3A. *** Advisory: MATH 10.

CS F010 – Computer Architecture & Organization (4.5 units) is much harder than an Intro SQL course.

 CS F010 – Computer Architecture & Organization (4.5 units) is much harder than an Intro SQL course.

Difficulty Level

CourseDifficulty (1–10)
Intro SQL3–4
Intro Python5–6
CS F010 Computer Architecture7–9

What makes it difficult?

This course goes "inside" the computer and teaches how software interacts with hardware.

Topics include:

  • Assembly language programming
  • CPU architecture
  • Memory organization
  • Cache and virtual memory
  • Instruction execution
  • Pipelines
  • Interrupts
  • Intel (CISC) vs MIPS (RISC)
  • Machine-level programming

Example of assembly language:

mov eax, 5
add eax, 3

Instead of writing:

x = 5
x = x + 3

you work much closer to the hardware.

Good preparation

Students usually do better if they already have:

  • Some programming experience (Python, Java, or C++)
  • Understanding of variables, loops, functions
  • Basic binary and hexadecimal numbers

For your background

Based on your previous questions, you've taken science and healthcare courses and have been learning some programming concepts. If you have not taken an introductory programming course yet, I would recommend:

  1. Introduction to SQL first (easy)
  2. Introduction to Python/Programming
  3. Computer Architecture & Organization

Taking CS F010 before learning programming can feel overwhelming because you're learning both programming concepts and computer hardware concepts at the same time.

Workload

Expect:

  • Weekly programming assignments
  • Reading technical material
  • Learning assembly language
  • Exams that test understanding of CPU and memory operations

For many students, this is one of the more challenging lower-division CS courses.

If your goal is nursing, public health, radiologic technology, or healthcare IT, SQL would be far more useful and much easier than CS F010. If your goal is a computer science degree, then CS F010 is an important foundational course.

C S F008A - 4.5 Units - INTRODUCTION TO DATA SCIENCE

 

C S F008A - 4.5 Units - INTRODUCTION TO DATA SCIENCE

Introduction to the fundamental concepts and computational skills needed to understand and analyze data arising from real-world phenomena. Topics include key data science concepts such as correlation vs. causation, randomness, sampling, uncertainty, predictive models, and classification. Using a tool such as Jupyter notebooks, students write code for transformation and use of data tables, simulation models, and A/B testing. *** Advisory: Students will benefit from some experience with computer programming or statistics; demonstrated proficiency in English by placement via multiple measures OR through an equivalent placement process OR completion of ESLL 125 & ESLL 249.

C S F049. - 4.5 Units - FOUNDATIONS OF COMPUTER PROGRA

 

C S F049. - 4.5 Units - FOUNDATIONS OF COMPUTER PROGRA

This course is an introduction to basic computer programming concepts using an object-oriented language. 

It is intended for students who may wish to take C S 1A or C S 2A,

 but would like a more gradual entry to computing foundations prior to taking those faster-paced courses. Coding topics include hands-on practice with software engineering tools,

 simple programs, variables, control structures, functions, and input /output.


 Concept topics include the comprehension of specifications, adherence to style guidelines, and the importance of testing to ensure that programs are usable, robust and modifiable.

required unit For CS

 

Major Units

Still needed:

56 major units are required. You currently have 0, you still need 56 more units.

Computer Architecture & Organization Not complete

Computer Architecture & Organization

Still needed:

1 Class in
Calculus Not complete

Calculus

Still needed:

1 Class in or
Calculus Not complete

Calculus

Still needed:

1 Class in or
Calculus Not complete

Calculus

Still needed:

1 Class in
Discrete Mathematics Not complete

Discrete Mathematics

Still needed:

1 Class in or
Select ONE Option: Not complete

Select ONE Option:

JAVA, C++ or Python Not completeJAVA, C++ or Python

Still needed:

Choose from 1 of the following:

Programming/Design/Structures & Algorithms: JAVA Not completeProgramming/Design/Structures & Algorithms: JAVA

3 Classes in and and

Programming/Design/Structures & Algorithms: C ++ Not completeProgramming/Design/Structures & Algorithms: C ++

3 Classes in and and

Programming/Design/Structures & Algorithms: Python Not completeProgramming/Design/Structures & Algorithms: Python

3 Classes in and and
Support Courses Not complete

Support Courses

Still needed:

18 Units in or or or or or or or or or or or or or or or or or or or or or or or or or or or or or or or or or or or or or or or or or or or or or or or
Electives

How computer science affects people, society, the economy, and the environment

  How computer science affects people, society, the economy, and the environment , not just how computers work. 1. Ethical Aspects of Compu...