1-1 What is computer science? … the study of the theoretical foundations of information and...

27
1-1 … the study of the theoretical foundations of information and computation and their implementation and application in computer systems From Wikipedia

Transcript of 1-1 What is computer science? … the study of the theoretical foundations of information and...

Page 1: 1-1 What is computer science? … the study of the theoretical foundations of information and computation and their implementation and application in computer.

1-1

… the study of the theoretical foundations of information and computation and their implementation and application in computer systems

From Wikipedia

Page 2: 1-1 What is computer science? … the study of the theoretical foundations of information and computation and their implementation and application in computer.

1-2

• Computer Science involves finding how to decompose problems into manageable parts and how to work on those parts

• Computer Scientists often use computer programming languages to write the steps for solving a problem, but the crux of the work is spending time discovering the steps needed to solve a particular problem

• A computer language is not just a way of getting a computer to perform certain operations but rather it is a novel formal medium for expressing ideas about methodology.

• The computer revolution is a revolution in the way we think and in the way we express what we think

Page 3: 1-1 What is computer science? … the study of the theoretical foundations of information and computation and their implementation and application in computer.

1-3

Page 4: 1-1 What is computer science? … the study of the theoretical foundations of information and computation and their implementation and application in computer.

1-4

• Computer science, like Engineering, builds upon a foundation of Mathematics and Science

• Both computer science and physics are about how the world works at a rather fundamental level. The difference is that while in physics you're supposed to figure out how the world is made up, in computer science you create the world

• Engineering deals precisely with the notion of “how to.” Science and Mathematics deal precisely with the notion of “what is.” Computer Science deals with, and enables, both...

• Computer Science in turn now drives the research and practice in Science, Technology, Engineering and Mathematics, as well as other fields

Page 5: 1-1 What is computer science? … the study of the theoretical foundations of information and computation and their implementation and application in computer.

1-5

• Computer architecture

• Algorithms• Programming

languages and compilers

• Databases• Operating systems• Networking• Computer security

Software engineering

Artificial intelligence Computer graphics Theory of

computation

Page 6: 1-1 What is computer science? … the study of the theoretical foundations of information and computation and their implementation and application in computer.

1-6

• Scientific computing• Bioinformatics• Cryptography• Simulation• Weather modelling• Umm, pretty much all of them.

Page 7: 1-1 What is computer science? … the study of the theoretical foundations of information and computation and their implementation and application in computer.
Page 8: 1-1 What is computer science? … the study of the theoretical foundations of information and computation and their implementation and application in computer.

By 2020, over half the jobs in STEM will be CS/computing jobs

Page 9: 1-1 What is computer science? … the study of the theoretical foundations of information and computation and their implementation and application in computer.
Page 10: 1-1 What is computer science? … the study of the theoretical foundations of information and computation and their implementation and application in computer.
Page 11: 1-1 What is computer science? … the study of the theoretical foundations of information and computation and their implementation and application in computer.

What kind of companies can you work for?

Grocery Store

Software companies like Google, Microsoft (duh), Adobe, etc.Local software companies like Metageek, Clearwater, Balihoo, Whitecloud, etc.Local tech/hardware companies like HP and Micron.

Construction Company

Automobile Manufacturer

Financial Industry

Video Games!Idaho Department of Transportation

All of them YOURSELF

Page 12: 1-1 What is computer science? … the study of the theoretical foundations of information and computation and their implementation and application in computer.

Computer Science Career

• Lots of jobs• High demand• Lots of job choices• Make good money• Do cool stuff• All kinds of problems to work on• Software is going to rule the world

Page 13: 1-1 What is computer science? … the study of the theoretical foundations of information and computation and their implementation and application in computer.

AbstractionAlgorithmsData Impact InternetProgrammingCreativity

Page 14: 1-1 What is computer science? … the study of the theoretical foundations of information and computation and their implementation and application in computer.

Abstraction reduces information and detail to facilitate focus on relevant concepts.

Multiple levels of abstraction are used in computation. A combination of abstractions built upon binary sequences can be used to represent all digital data.

Models and simulations use abstraction to raise and answer questions.

Examples: Binary numbers, integers, characters using Unicode

Page 15: 1-1 What is computer science? … the study of the theoretical foundations of information and computation and their implementation and application in computer.

Algorithms are used to develop and express solutions to computational problems.

An algorithm is a precise sequence of instructions for a process that can be executed by a computer.

They are expressed using languages, and can solve many, but not all, problems.

They are evaluated both analytically and empirically.

Automate This: How Algorithms Came to Rule Our World. Chris Steiner.

Page 16: 1-1 What is computer science? … the study of the theoretical foundations of information and computation and their implementation and application in computer.

Data and information facilitate the creation of knowledge. People use computer programs to process information to gain insight and knowledge. Computing facilitates exploration and the discovery of connections in information.

Computational manipulation of information requires consideration of representation, storage, security and transmission.

Examples: Lossless data compression. How to represent the following data? b b b b b b b c c c c a a a a a a a a a

Lossy compression: MP3 music

Page 17: 1-1 What is computer science? … the study of the theoretical foundations of information and computation and their implementation and application in computer.

Computing affects communication, interaction and cognition. It enables innovation in nearly every field and has both beneficial and harmful effects.

Computing is situated within economic, social and cultural contexts.

Examples: Twitter Privacy of sensitive data Flash mobs

Page 18: 1-1 What is computer science? … the study of the theoretical foundations of information and computation and their implementation and application in computer.

Programs: Creative Implement algorithms enable problem solving, human expression, and analysis and

creation of knowledge uses mathematical and logical concepts (variables, if-then,

loops, etc.) and is facilitated by abstractions

Page 19: 1-1 What is computer science? … the study of the theoretical foundations of information and computation and their implementation and application in computer.

pervades modern computingnetwork of autonomous systems. cybersecurity is an important concern for the Internet and those systems.

Page 20: 1-1 What is computer science? … the study of the theoretical foundations of information and computation and their implementation and application in computer.

Computing fosters the creation of artifacts and creative expression. Programming is a creative process.

Examples: ?

Page 21: 1-1 What is computer science? … the study of the theoretical foundations of information and computation and their implementation and application in computer.

Problem: Compute 2n (in as few multiplications as possible)

Solution Approaches: Multiple ways of computing the result. Each is a different algorithm

Performance: Naive approach versus recursive doubling can lead to a speedup of 100 or more!

Page 22: 1-1 What is computer science? … the study of the theoretical foundations of information and computation and their implementation and application in computer.

Programming Language Example

// the naïve algorithm in codeint powerOfTwo(n) { int result = 1; for (int i = 0; i < n; i = i + 1) { result = result * 2; } return result;}

// the recursive doubling algorithm in codeint powerOfTwo(n) { int result = 1; for (int i = 0; i < n; i = i * 2) { result = result * result; } return result;}

Page 23: 1-1 What is computer science? … the study of the theoretical foundations of information and computation and their implementation and application in computer.

World state accessible, vacuum performs as advertised.

No percepts, vacuum performs as advertised.

Page 24: 1-1 What is computer science? … the study of the theoretical foundations of information and computation and their implementation and application in computer.

You can formulate these kind of problems as a search problem

World State, possible actions, actions modify state (lead to another state)

Page 25: 1-1 What is computer science? … the study of the theoretical foundations of information and computation and their implementation and application in computer.
Page 26: 1-1 What is computer science? … the study of the theoretical foundations of information and computation and their implementation and application in computer.

Three missionaries and three cannibals on the left bank of a river seek to cross the river to the right bank. They have a boat which can carry up to two people at a time. All missionaries and cannibals are able to row the boat. If at any time the cannibals outnumber the missionaries on either bank the cannibals will eat the missionaries

 Now find a way to get EVERYONE to the other side.

Page 27: 1-1 What is computer science? … the study of the theoretical foundations of information and computation and their implementation and application in computer.

What happens if part of the puzzle is not visible? What if I know where the blank is, and when I exchange the blank with something I find out what that something is? What if I don’t know where the blank is, but when I exchange the blank with something I find out what that something is?