Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "1-1 What is computer science? … the study of the theoretical foundations of information and computation and their implementation and application in computer."— Presentation transcript:

1 1-1 What is computer science? … the study of the theoretical foundations of information and computation and their implementation and application in computer systems From Wikipedia

2 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 What is computer science?

3 1-3 Hilbert Addressed the International Congress of Mathematicians in 1900 with 23 problems for the next century Problem #10 is of particular interest to Computer Science, and was stated as follows: 10. Given a diophantine equation with any number of unknown quantities and with rational integral numerical coefficients: to devise a process according to which it can be determined by a finite number of operations whether the equation is solvable in rational integers. Hilbert continued to consolidate his position as one of the world's leading mathematicians as Professor at Goettingen. In 1928 he posed three fundamental questions: Was mathematics complete - every statement could be proved or disproved, Was mathematics consistent - no apparently incorrect statement such as "1+1=3", could be arrived at by a sequence of valid steps of proof, and Was mathematics decidable, in that did there exist a definite algorithm which could, in principle, be applied to any assertion and which was guaranteed to produce a correct decision as to whether that assertion was true? What is computer science?

4 1-4 What is computer science? 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

5 1-5 CS has many subfields Computer architecture Algorithms Programming languages and compilers Databases Operating systems Networking Computer security  Software engineering  Artificial intelligence  Computer graphics  Theory of computation

6 1-6 Fields that depend on CS Scientific computing Bioinformatics Cryptography Simulation Weather modelling Umm, pretty much all of them.

7

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

9

10

11 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 themYOURSELF

12 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

13 Abstraction Algorithms Data Impact Internet Programming Creativity

14 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

15 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.

16 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

17 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

18 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

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

20 Computing fosters the creation of artifacts and creative expression. Programming is a creative process. Examples: ?

21 Problem: Compute 2 n (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!

22 Programming Language Example // the naïve algorithm in code int powerOfTwo(n) { int result = 1; for (int i = 0; i < n; i = i + 1) { result = result * 2; } return result; } // the recursive doubling algorithm in code int powerOfTwo(n) { int result = 1; for (int i = 0; i < n; i = i * 2) { result = result * result; } return result; }

23 World state accessible, vacuum performs as advertised. No percepts, vacuum performs as advertised. The Vacuum world

24 You can formulate these kind of problems as a search problem World State, possible actions, actions modify state (lead to another state) Computational Thinking: Making Decisions and Working Towards Goals

25

26 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. Problem Formulation – Missionaries and Cannibals

27 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? Problem Formulation – The 8 Puzzle


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

Similar presentations


Ads by Google