What is computer science What is an algorithm

  • Slides: 11
Download presentation
What is computer science? What is an algorithm? Why do we need computer science

What is computer science? What is an algorithm? Why do we need computer science and algorithms?

§ Define ”computer science” § Think Write down what you think computer science is.

§ Define ”computer science” § Think Write down what you think computer science is. Who uses computer science. § Pair Share your definition with your neighbor. Come up with a common definition. § Share your common definition with the class.

§ https: //www. youtube. com/watch? v=-x. FJM 3 QQ 3 TE § A discipline

§ https: //www. youtube. com/watch? v=-x. FJM 3 QQ 3 TE § A discipline that involves the understanding and design of computers and computational processes § Computer science is theoretical. § Computer programming is practical § Process of designing, writing, testing, debugging, and maintaining the source code of computer programs

§ Major areas of Computer Science include: § 1. Operating Systems--concerned with the development

§ Major areas of Computer Science include: § 1. Operating Systems--concerned with the development and structure of complex programs which facilitate man-machine communications. § 2. Computational Science--the analysis of numerical methods for solving mathematical problems with a computer. § 3. Programming Languages--the study of the design and properties of languages by which humans communicate with computers. § 4. Architecture--the study and use of mathematical logic to design electronic circuits. § 5. Intelligent Systems--concerned with means by which computers may perform tasks which might be characterized as "intelligent" if performed by humans. § 6. Automata Theory--an abstract study of computers and their capabilities. § 7. Information Storage and Retrieval--the study of methods for storing a vast amount of data in a computer and methods for searching and retrieving this data. § 8. Software Engineering--the study of tools and techniques for software design, development, testing and maintenance.

§ What is an algorithm? § Why might we use an algorithm in our

§ What is an algorithm? § Why might we use an algorithm in our daily lives?

§ Create Your Arrangement: With a pen, draw a figure of variously sized rectangles

§ Create Your Arrangement: With a pen, draw a figure of variously sized rectangles (or squares). make sure that the squares/rectangles are connected § Design Your Algorithm: As you draw think about the fundamental operations - the most basic set of commands - you would need in order to write out a list of instructions for another person to draw it the same way you did. Your instructions may only use words, so you cannot use pictures to help you. § Write these instructions on a separate piece of paper.

§ Trade your instructions with someone else in the class. Recreate a drawing based

§ Trade your instructions with someone else in the class. Recreate a drawing based only on the words and instructions that were given to you. § Try two different classmate’s instructions.

§ Compare Your Instructions with a Neighbor’s Instructions: § With a neighbor, compare how

§ Compare Your Instructions with a Neighbor’s Instructions: § With a neighbor, compare how you each drew the shape, and compare your sets of commands to see where you have things in common. § Where did the drawer start? § Where did they end? § Did they draw it the same way as you? § Did they pick up the pen? § How many different commands do you actually need to draw this?

§ How were your instructions different than your neighbor’s? § Were your instructions as

§ How were your instructions different than your neighbor’s? § Were your instructions as clear as you thought?

§ If we were going to change human language to improve our odds of

§ If we were going to change human language to improve our odds of succeeding at this activity, what types of changes would we need to make?

§ So long as there are multiple ways to interpret language, we cannot have

§ So long as there are multiple ways to interpret language, we cannot have perfect precision. § If we rigorously define the meaning of each command we use, then we can avoid misinterpretation and confidently express algorithms. § This is different from the way we normally think and talk, and it might even take a while to get comfortable with communicating in this way. Ta dah!! Computer programming languages! § Instruction game § http: //www. bbc. co. uk/skillswise/game/en 33 inst-game-destination-impossible