ALGORITHMS

1 / 23

ALGORITHMS - PowerPoint PPT Presentation

ALGORITHMS. CSC 171 LECTURE 1. What is “Computer Science”?. What is “Science”? What is a “Computer”? What is “Computation”?. Computer Science. Is Computer Science, “science”? Is computation part of nature? Is information part of nature? How do we study computation?. SCIENCE.

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.

PowerPoint Slideshow about 'ALGORITHMS' - valentine

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

ALGORITHMS

CSC 171

LECTURE 1

What is “Computer Science”?
• What is “Science”?
• What is a “Computer”?
• What is “Computation”?
Computer Science
• Is Computer Science, “science”?
• Is computation part of nature?
• Is information part of nature?
• How do we study computation?
Muhammad ibn Musa Al'Khowarizmi (ca. 825)

Described rules to be followed for arithmetic using Hindu numerals.

A written process to be followed to achieve some goal

Translated into Latin in 1202 by Leonardo Fibonacci

Al’Khowarazimi -> “Algorithmus”

History
More Recent History
• Charles Babbage (1791-1871)
• The father of computing
• Difference Engine & Analytical Engine
• First programmer
• John Atanasoff
• First electronic digital computer 1937-42
• Maucly & Eckert – 1943-45 - ENIAC
• First all electronic computer
ALGORITHM
• An algorithm is a procedure for solving problems in terms of :
• The actions to be executed (statements)
• The order in which these actions are executed
• Algorithms are independent of any specific computer language which may be used to for their implementation.
• Often expressed informally as pseudocode.
Some Algorithms
• How do I get to the pit?
• A robot
• Move forward x meters
Statements
• What do we need for “Statements”
• Syntax
• the form in which statements may be written
• Semantics
• “meaning” attached to syntactic constructs
Example
• Syntax
• F = (9/5) * C + 32
• 2 F 3=+)C 9 * / 5(
• Semantics
• Take the Celsius temperature
• Multiply it by 1.8
• The result is the Fahrenheit temperature
How do Computers represent information?

Computers are switches

Switches are “on” or “off”

Suppose we want to represent number

We can decide to interpret (semantics)

an “on” switch as a “1”

and an “off” switch as a “0”

Language
• What does language do?
• Transfer information (describe)
• Action oriented languages (directions)
• Functional languages
• Object oriented languages
• “model” the world around us
Programming Languages
• Three levels of programming languages
• Low level Machine Languages (binary codes)
• Assembly Languages (mid level)
• Symbolic programming
• Requires an assembler to translate assembly programs into machine program
• High Level
• Conceptual programming
• Requires a compiler to translate high-level languages into assembly level languages
Computer Languages
• To a human we might say:
• Write: “Hello, CSC 171”
• To a computer we might say
• System.out.println(“Hello, CSC 171”);
JAVA

Java is a high-level object oriented language

Two types of Java programs are

Applets – run with web browsers

Applications – run “stand alone”

A Computer Program

public class myFirstProgram {

public static void main(String args[]){

System.out.println(“Hello, CSC171”);

}

}

The Containment Pattern
• Starts with some “begin” symbol
• {([“
• Ends with some “end” symbol
• “])}
• General Pattern <begin>+<contents>+<end>
Named containment
A Computer Program

public class myFirstProgram {

public static void main(String args[]){

System.out.println(“Hello, CSC171”);

}

}

ERRORS