0% found this document useful (0 votes)
8 views13 pages

Module 2 (105) Intro Overview

The document provides an overview of science, the scientific method, and the various branches of science and engineering. It discusses the distinctions between computer science and computer engineering, along with the roles and responsibilities of professionals in these fields. Additionally, it emphasizes the importance of ethics in computing and the evolution of computer ethics through the decades.

Uploaded by

Brandon Quon
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
8 views13 pages

Module 2 (105) Intro Overview

The document provides an overview of science, the scientific method, and the various branches of science and engineering. It discusses the distinctions between computer science and computer engineering, along with the roles and responsibilities of professionals in these fields. Additionally, it emphasizes the importance of ethics in computing and the evolution of computer ethics through the decades.

Uploaded by

Brandon Quon
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 13

Introduction and overview

CECS-105

Forouzan Golshani

© Copyright Forouzan Golshani


Science
Science: from Latin scientia meaning “knowledge” or “to know”
• Science is a systematic framework that builds and organizes
knowledge in the form of testable explanations and predictions about
the universe and its elements.

• Another definition: Science refers to an organized body of knowledge


in any area of inquiry, which is acquired using “the scientific method”.

© Copyright Forouzan Golshani


The Scientific Method
• To do science is to search for repeated patterns,
not simply to accumulate facts.
• The scientific method is an empirical method in
which we acquire knowledge based on making Scientific Method
careful observations and applying rigorous
skepticism about what is observed, given that
biases and assumptions can distort how one
interprets the observation. It can be seen as an
endless cycle that involves:
• formulating hypotheses based on the observations;
• experimental and measurement-based testing of deductions drawn from the
hypotheses; and
• refinement (or elimination) of the hypotheses based on the experimental findings.

© Copyright Forouzan Golshani


Three Major Branches of Modern Science
• Natural sciences (e.g., biology, chemistry, and physics): Studying nature in
the broadest sense and all natural phenomena
• Social sciences (e.g., sociology, psychology, and economics): Studying
individuals and societies and their characters
• Formal sciences (e.g., logic, mathematics, and theoretical computer
science): Studying, using and dealing with symbols that are governed by
rules.
• The above are known as basic sciences because they are focused on
advancing scientific theories and laws that explain/predict events in the
natural world. Some disciplines, such as engineering and medicine, use
existing scientific knowledge for practical purposes. They are characterized
as applied sciences.
© Copyright Forouzan Golshani
Engineering
• Engineering: derived from the Latin ingenium (meaning "cleverness“) and
ingeniare (meaning "to contrive, devise“).
• Engineering is the use of scientific principles to design and build machines,
structures, roads, tunnels, vehicles, rockets, products, and computers.
• ABET definition of Engineering: “The creative application of scientific
principles to design or develop structures, machines, apparatus, or
manufacturing processes, or works utilizing them singly or in combination;
or to construct or operate the same with full cognizance of their design; or
to forecast their behavior under specific operating conditions; all as
respects an intended function, economics of operation and safety to life
and property.”
ABET (Accreditation Board for Engineering and Technology, Inc.) is a non-governmental organization that accredits
post-secondary education programs in computing, engineering, engineering technology, and applied sciences.
© Copyright Forouzan Golshani
Major branches of Engineering
• Military Engineering
• Civil Engineering
• Mechanical Engineering
• Electrical Engineering
• Chemical Engineering
• Industrial Engineering
• Biomedical Engineering
• Environmental Engineering
• Computer Engineering

© Copyright Forouzan Golshani


Computing: Science or Engineering?
• Computer Engineering: As a branch of engineering, Computer Engineering integrates
electronic engineering with computer science to design and develop computer systems
and other technological devices.
• Computer science: Computer Science is the study of computers and computational
systems. Whereas computer engineers focus more on the hardware, computer scientists
deal mostly with software and software systems, including their theory, design,
development, and application.
• Software Engineering: A systematic and well-defined process for analyzing user
requirements and then designing, building, and testing software application that satisfy
those requirements.
• Data Science: This is an interdisciplinary field that makes use of scientific methods along
with data mining processes, algorithms and systems. Data Science is the study of
techniques to extracts knowledge and insights from large, noisy and potentially
unstructured data sets and to apply the acquired knowledge (which may include
actionable conclusions) to a broad range of application domains.
• Other related fields: Information Technology, Data Engineering, Information Systems,
Management Information Systems, Decision Support Systems, Information Theory…

© Copyright Forouzan Golshani


Computer Science Professions
• Programmer, software developer, coder: Writes programs. Possible specialization in specific areas.
• Teacher/Professor: Helps students acquire knowledge, competence or virtue.
• Software engineer: Applies the principles of software engineering to design, develop, maintain, test, and
evaluate software apps. Closely tied to coding.
• Software architect: An expert who decides or suggests high-level design choices and applicable technical
standards, including software coding standards, tools, and platforms.
• Software tester: Examines the artifacts and the behavior of software applications, through validation and
verification, to provide an objective, independent and comprehensive view of potential risks and failures.
• Network administrator: Designs and maintains the corporate computer infrastructure with an emphasis on
client computers, Local Area Network (LAN) and on-site servers, and their integrity and resilience.
• Interaction designer: Designs user interfaces for applications based on the desired user experiences.
• Data analyst: Designs processes for inspecting, cleansing, transforming, and modeling data, in preparation
for the data mining stage.
• Data scientist: Applies machine learning and AI techniques to glean useful and informative classifications,
patterns and trends from large collections of structured or unstructured data.

© Copyright Forouzan Golshani


Computer Engineering Professions
• Computer engineer: Integrates knowledge of Electronics Engineering and Software Engineering to design
computers and their components which may be analog, digital or electromechanical.
• Microprocessors, circuit boards, …
• Memory chips: random-access memory (RAM), read-only memory (ROM), nonvolatile rewritable flash memory, …
• Data storage devices: hard disks, solid-state drives, optical drives …
• Input devices: keyboards, mice, joysticks and gaming controllers, microphones, scanners, cameras, touch screens, remote
sensors …
• Output devices: printers, monitors, audio devices, remote controls …
• Networking components: adapters, modems, switches, routers …
• Hardware architect: Performs a variety of functions, including:
• Interfaces with the systems architect (or client) to determine the (evolving) needs and with the software architect or
engineer, to generate a set of highest-level hardware requirements, based on the user's needs and cost and schedule
constraints.
• Ensures that the list of high level requirements is consistent, complete, correct, and operationally defined.
• Performs cost–benefit analyses for optimal method of implementation of hardware requirements (build or buy).
• Develops the overall system architecture.
• Generates a set of acceptance test requirements.
• Embedded software developer: Uses software engineering and hardware design techniques to design and
develop real-time software that assures reliability, precise execution and time bounds.
• Forensic analyst: Uses a range of specialized techniques to analyze, retrieve and secure data linked to a
variety of criminal activities, such as network intrusions, hacking, online fraud and scams.

© Copyright Forouzan Golshani


Senior Positions
• Various managerial positions
• Software architect
• … various senior management positions
• Vice President of Engineering
• VP of Corporate Security or Chief Security Officer (CSO)
• Chief Information Officer (CIO)
• Chief Technology Officer (CTO)
• Chief Operating Officer (COO)
• Chief Executive Officer (CEO)

© Copyright Forouzan Golshani


Professionalism, Ethics, and Societal
Responsibilities
• The field of computing impacts the society at a fast pace, and there
are growing calls for inclusion of more computer ethics content in the
Computer Science and Engineering curricula.

• IMPORTANT NOTE: Ethics is an integral part of computing, not an


added-on piece. The foundation of any work done by any
computing professional must be the relevant societal concerns and
ethical responsibilities.

• Analogy: Safety issues in construction.


© Copyright Forouzan Golshani
Made more complicated by advances in computing!

Computational biology and medicine


Arts The end of business
travel

Prosthetics
augmentation
Safe driving access Social media

© Copyright Forouzan Golshani


Ethics through the decades
• 1940s and 1950s: The phrase “computer ethics” was introduced in the context of “a second industrial
revolution” leading to an “automatic age” with “enormous potential for good and for evil”.
• 1960s: Norbert Wiener’s books introduced: computers and security, computers and unemployment,
responsibilities of computer professionals, computers for persons with disabilities, information networks and
globalization, virtual communities, teleworking, merging of human bodies with machines, robot ethics,
artificial intelligence, computers and religion, and a number of other subjects. This led to the three “great
principles of justice”: Freedom, Equality and Benevolence.
• 1970s: New realization that ethics in other fields, e.g., medicine, become considerably more complicated
when computers are involved. This started a growing demand for teaching ethics to computer professionals.
• 1980s: Significant awareness and concern on the lack of policy about how computer technology can be used.
• “Computers are logically malleable in that they can be shaped and molded to do any activity that can be characterized in
terms of inputs, outputs and connecting logical operations … . Because logic applies everywhere, the potential applications
of computer technology appear limitless. The computer is the nearest thing we have to a universal tool. Indeed, the limits of
computers are largely the limits of our own creativity.” (James Moor, 1985)
• 1990s: Addressing the problem of policy vacuum, a number of research groups outlined what was most
important: “human values, such as life, health, happiness, security, resources, opportunities, and
knowledge”. Curricula of all computing and engineering programs were required to include an ethics course.
• 2000s: Shift from one stand-alone course to topic-related coverage of societal responsibility issues in every
class.

© Copyright Forouzan Golshani

You might also like