What is Computer Science?

Slides:



Advertisements
Similar presentations
Assembly Language for Intel-Based Computers, 4 th Edition Chapter 1: Basic Concepts (c) Pearson Education, All rights reserved. You may modify and.
Advertisements

CHAPTER 2 GC101 Program’s algorithm 1. COMMUNICATING WITH A COMPUTER  Programming languages bridge the gap between human thought processes and computer.
Probability (Unit 5) Is the likelihood or chance of an even occurring.
Data Representation COE 202 Digital Logic Design Dr. Aiman El-Maleh
COMPUTER PROGRAMMING I Understand Problem Solving Tools to Design Programming Solutions.
Course resources available from What is Scratch? How does Scratch fit into the Computing PoS? Progression in Computing.
Reference :Understanding Computers
While Loops Programming. COMP102 Prog Fundamentals I: while Loops/Slide 2 Shortcut Assignments l C++ has a set of shortcut operators for applying an operation.
Programming System development life cycle Life cycle of a program
13 February Building a Web Page. HTML Files Two types of information Text Instructions on how to display Instructions are in the form of tags Tags are.
Session 5 of 10 Review + Multiple Sprites
Is ASCII the only way? For computers to do anything (besides sit on a desk and collect dust) they need two things: 1. PROGRAMS 2. DATA A program is a.
Introduction to Computers and Programming. Some definitions Algorithm: –A procedure for solving a problem –A sequence of discrete steps that defines such.
Introduction to Management Information Systems Chapter 3 Computer Basics HTM 304 Spring 06.
Programming Logic and Design, Introductory, Fourth Edition1 Understanding Computer Components and Operations (continued) A program must be free of syntax.
About the Presentations The presentations cover the objectives found in the opening of each chapter. All chapter objectives are listed in the beginning.
Introduction to Computers and Programming. Some definitions Algorithm: Algorithm: A procedure for solving a problem A procedure for solving a problem.
Last time 3 main components to a computer system Types of computers Talked about software – task oriented What are some kinds of data that a computer works.
COMPUTING IN THE NATIONAL CURRICULUM. WHY?  The 2014 national curriculum introduces a new subject, computing, which replaces ICT. This represents continuity.
ALGORITHMS AND FLOWCHARTS
PRINCIPLES OF PROGRAMMING Revision. A Computer  A useful tool for solving a great variety of problems.  To make a computer do anything (i.e. solve.
1 Survey of Computer Science CSCI 110, Spring 2011 Lecture 16 Digital Circuits, binary Numbers.
Advanced Instructions Most PLCs now support more advanced functions such as Floating point math, Boolean operations, Shifting, Sequencing, Program control.
MATH 224 – Discrete Mathematics
School of Computing and Mathematics, University of Huddersfield Computing Science: WEEK 17 Announcement: next few weeks… 9 nd Feb: Comparative Programming.
C How to Program, 6/e © by Pearson Education, Inc. All Rights Reserved.
Programming Languages -1 (Introduction to C) arrays Instructor: M.Fatih AMASYALI
PROGRAMMING, ALGORITHMS AND FLOWCHARTS
CIS Computer Programming Logic
Foundations of Computer Science Computing …it is all about Data Representation, Storage, Processing, and Communication of Data 10/4/20151CS 112 – Foundations.
Goals of Course Introduction to the programming language C Learn how to program Learn ‘good’ programming practices.
Programing Concept Ken Youssefi/Ping HsuIntroduction to Engineering – E10 1 ENGR 10 Introduction to Engineering (Part A)
Computer Programming I. Today’s Lecture  Components of a computer  Program  Programming language  Binary representation.
Lec 3: Data Representation Computer Organization & Assembly Language Programming.
Computing Fundamentals Module Lesson 19 — Using Technology to Solve Problems Computer Literacy BASICS.
File Structures Foundations of Computer Science  Cengage Learning.
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 3: Operating-System Structures System Components Operating System Services.
Examples of Recursion Data Structures in Java with JUnit ©Rick Mercer.
What does a computer program look like: a general overview.
Getting Started with MATLAB 1. Fundamentals of MATLAB 2. Different Windows of MATLAB 1.
Operating Systems Foundation Computing Half the people you know are below average.
Visual Basic Programming
Algorithm Design.
Intro to Programming Web Design ½ Shade Adetoro. Programming Slangs IDE - Integrated Development Environment – the software in which you develop an application.
Marwan Al-Namari 1 Digital Representations. Bits and Bytes Devices can only be in one of two states 0 or 1, yes or no, on or off, … Bit: a unit of data.
Software Development. Software Development Loop Design  Programmers need a solid foundation before they start coding anything  Understand the task.
COMP135/COMP535 Digital Multimedia, 2nd edition Nigel Chapman & Jenny Chapman Chapter 2 Lecture 2 – Digital Representations.
INTRODUCTION TO PROGRAMMING. Program Development Life Cycle The program development life cycle is a model that describes the stages involved in a program.
Chapter 10 Algorithmic Thinking. Learning Objectives Explain similarities and differences among algorithms, programs, and heuristic solutions List the.
CS 1110/1111 The Case for Computer Science CS 1110/1111 – Introduction to Programming.
CHAPTER 2 PROBLEM SOLVING USING C++ 1 C++ Programming PEG200/Saidatul Rahah.
Internet & World Wide Web How to Program, 5/e © by Pearson Education, Inc. All Rights Reserved.
WELCOME To ESC101N: Fundamentals of Computing Instructor: Ajai Jain
Programming Logic and Design Seventh Edition Chapter 1 An Overview of Computers and Programming.
Algorithms and Flowcharts
Midterm preview.
Computers and Programming
Creativity of Algorithms & Simple JavaScript Commands
Lec 3: Data Representation
Arithmetic Shifts and Character Representation
GC211Data Structure Lecture2 Sara Alhajjam.
Ch. 8 File Structures Sequential files. Text files. Indexed files.
ALGORITHMS AND FLOWCHARTS
ALGORITHMS AND FLOWCHARTS
Computational Thinking for KS3
Fundamentals of Data Representation
Vocabulary Algorithm - A precise sequence of instructions for processes that can be executed by a computer Low level programming language: A programming.
Basic Concepts of Algorithm
Functions MIS 3406 Department of MIS Fox School of Business
Presentation transcript:

What is Computer Science? What it is not Game Play or Game Development Animated Film Making Web Site Development Definition Computer science is the study and application of ways to represent problems in such a manner to make those problems amenable to being solved partially or completely with computer programs (i.e., software). Algorithms + Data Structures = Computer Programming. Donald Knuth

What is Computer Science? What do computer scientists do? Development Programming or web development in a multitude of industries: business, retail, communications, entertainment, government, or defense. Operations and Maintenance Installing, configuring, monitoring or repairing computer equipment Customer service Networks and Security Installing, configuring, monitoring or repairing computer networks Network security: network protection, intrusion detection. Management Supervision of developers, operations, or networks Teaching and/or Research

CS Fundamentals Computer science is the study and application of ways to represent problems in such a manner to make those problems amenable to being solved partially or completely with computer programs (i.e., software). “Represent Problems”: The “stuff” on which you make decisions needs to be encoded in a manner which the computer can understand. Information Representation Data Structures Data Design “Computer Programs”: The instructions which the computer follows to accomplish the task at hand. Software Programs Algorithms So then, fundamentally, we need to know how to encode data (information representation) and write instructions (algorithms).

CS Fundamentals Information Representation What basic kinds of information does the world contain? Numbers Characters (i.e. Letters or Symbols) Logicals Instructions or Commands Colors or Sounds References (think house address or citation) How can we organize it? Arrays: a collection of the same thing Records (or Structures): a collection of different things How does the computer store the data? All information on the computer is stored as a number So a number is a number, but characters, instructions, etc. are also numbers – so how does the computer tell the different kinds of info apart?

CS Fundamentals Information Representation Data Typing: The kind (or type) of information is determined by the programmer telling the computer (via the program) what kind of information the number represents. (data typing example) Encoding 101 Logical: ‘1’ means yes and ‘0’ means no Instruction or Command Color or Sound (paint, paint-by-number example, digital sound) Character or Symbol (ASCII Table) Number (intro to binary, programming example) Reference (think house address or citation) Information Representation Challenges Fundamental types above tend to be too simple and static So we need flexibility in specifying types Modern languages permit new type definitions for various problems

CS Fundamentals Algorithms Algorithm Definition: A specific, well defined procedure which has an end for accomplishing some task Three Algorithmic Constructs Sequence Decision (or Selection) Looping Examples Rock, paper, scissors Exercises Pass the Potatoes, Please Computation Exercise Algorithmic Challenges Fundamental programming operations tend to be “mathy” Need flexibility for specifying new non-mathy operations Programming languages commonly provide capabilities for new operations

An Example of Data Typing In the example below which computes the average of a set of test scores we have four pieces of information: The number of test scores The actual test scores The sum (or total) of all the scores The average of the scores (i.e., the total divided by the number of scores The word “int” or “double” (in bold) in front of the variable name indicates how the number is to be interpreted when the program executes. int num = 3; double scores[num] = {94, 96, 99}; double total = 0.0; double average = 0.0; total = scores[0] + scores[1] + scores[2]; average = total / num; Go Back

Algorithm Example Rock, Paper, Scissors Each player thinks of either a rock, paper or scissors One player says, “Rock, paper, scissors, shoot!!” Each player shows object he/she was thinking of (an R, P, or S) If P1 is R & P2 is S OR P1 is P & P2 is R OR P1 is S & P2 is P Player 1 wins and gloats Otherwise Player 2 wins and gloats P1 Wins? N Think Speak Show Choice P2 Gloats P1 Gloats go back

Algorithm Example (cont.) Rock, Paper, Scissors Each player thinks of either a rock, paper or scissors One player says, “Rock, paper, scissors, shoot!!” Each player shows the object he/she was thinking of (i.e., R, P, or S) If (P1 is R & P2 is S) OR (P1 is P & P2 is R) OR (P1 is S & P2 is P) Player 1 wins and gloats If (P2 is R & P1 is S) OR (P2 is P & P1 is R) OR (P2 is S & P1 is P) Player 2 wins and gloats Otherwise Play game again P1 Wins? N P2 Wins? Y Think Speak Show Choice P2 Gloats P1 Gloats Y go back

Algorithm Exercise Pass the Potato Develop an algorithm to solve the objective below, given certain restrictions: Objective: Be the first team to move the potato from the first person in your row to the last. Restrictions: All team players must remain in their seats, and the seats in their area, at all times. If you are handling the potato for the first time, then you may Hand the potato to the person on your left or right Toss the potato to a person in your row to the left, but not past more than one person If you are handling the potato the 2nd, 3rd, 4th, .... time, then you may Toss the potato to any person in your row GO!! go back

Algorithm Exercise Computation Exercise the following algorithm: Get numbers A and B from the instructor If B equals 0, then go to step 7 Set C equal to the remainder of A / B Set A equal to B Set B equal to C Repeat at step 2 Stand up and, when asked, announce the final value of A go back