1-1 What is computer science? … the study of the theoretical foundations of information and...
-
Upload
calvin-ward -
Category
Documents
-
view
217 -
download
0
Transcript of 1-1 What is computer science? … the study of the theoretical foundations of information and...
1-1
… the study of the theoretical foundations of information and computation and their implementation and application in computer systems
From Wikipedia
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
•
1-3
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
1-5
• Computer architecture
• Algorithms• Programming
languages and compilers
• Databases• Operating systems• Networking• Computer security
Software engineering
Artificial intelligence Computer graphics Theory of
computation
1-6
• Scientific computing• Bioinformatics• Cryptography• Simulation• Weather modelling• Umm, pretty much all of them.
By 2020, over half the jobs in STEM will be CS/computing jobs
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
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
AbstractionAlgorithmsData Impact InternetProgrammingCreativity
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
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.
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
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
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
pervades modern computingnetwork of autonomous systems. cybersecurity is an important concern for the Internet and those systems.
Computing fosters the creation of artifacts and creative expression. Programming is a creative process.
Examples: ?
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!
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;}
World state accessible, vacuum performs as advertised.
No percepts, vacuum performs as advertised.
You can formulate these kind of problems as a search problem
World State, possible actions, actions modify state (lead to another state)
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.
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?