Skip to main content

Chapter 1 Why are we here?

Computer Science.

Computers are kind of everywhere, it has become necessary to interact with Computers to be a Functioning Member of Society. Given that, it seems like a reasonable idea that when you’re learning the important stuff in school, you also learn about these magic boxes that everyone walks around with. So here we are, in a Computer Science class.
Physics is the natural science that studies matter, its fundamental constituents, its motion and behavior through space and time, and the related entities of energy and force. Biology is the scientific study of life. Chemistry is the scientific study of the properties and behavior of matter. So what then, is Computer Science? Here is a reasonable start:
Computer science is the study of computation, automation, and information. Computer science spans theoretical disciplines (such as algorithms, theory of computation, information theory, and automation) to practical disciplines (including the design and implementation of hardware and software). Computer science is generally considered an academic discipline and distinct from computer programming. Wikipedia 1 
In this course, you will explore the core principles of Computer Science and their applications. This will include (but is not limited to):
  • Problem solving tools.
  • Writing computer programs.
  • Understanding computer hardware.
  • Understanding the internet.
  • Considering the impact of computers, networks and programs.

Section 1.1 If you’ve got a problem, we’ll solve it

Computer Science, at it’s core, is about solving problems. These problems can range from How can we tell if a year is a leap year? to How can we figure out how wages have changed with respect to corporate profits over the past 40 years? to How can we create a compelling image of the universe from satellite data?, and so much more. The tools of computer science are varied and powerful, and while they are primarily used with the goal of creating a computer program, they are often just as valuable without that particular goal. Here are the main problem solving strategies we’ll be investigating in this course:
  • Algorithmic Thinking: Crafting solutions as replicable series of steps.
  • Modeling and Simulations: Representing a system in order to observe, understand, or simulate it.
  • Decomposition: Breaking a problem down into smaller, more manageable tasks.
  • Abstraction: Finding the essential, key elements of a problem.
  • Data Analysis & Visualization: Gathering and looking at potentially large sets of data to find deeper meaning.