Upload
adena-chang
View
18
Download
0
Tags:
Embed Size (px)
DESCRIPTION
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. - PowerPoint PPT Presentation
Citation preview
What is “Computer Science”?What is “Computer Science”?
What is “Science”?What is a “Computer”?What is “Computation”?
Computer ScienceComputer Science
Is Computer Science, “science”?Is computation part of nature?Is information part of nature?How do we study computation?
HistoryHistory
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”
More Recent HistoryMore Recent HistoryCharles Babbage (1791-1871)
– The father of computing– Difference Engine & Analytical Engine
Ada Lovelace (1815-1852)– First programmer
John Atanasoff – First electronic digital computer 1937-42
Maucly & Eckert – 1943-45 - ENIAC – First all electronic computer
ALGORITHMALGORITHM
An algorithm is a procedure for solving problems in terms of :1. The actions to be executed (statements)2. 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 AlgorithmsSome Algorithms
How do I get to the pit?– Your classmate– Your parents– A robot
Move forward x meters Turn right y radians
StatementsStatements
What do we need for “Statements”Syntax
– the form in which statements may be written
Semantics– “meaning” attached to syntactic constructs
ExampleExample
Syntax– F = (9/5) * C + 32 – 2 F 3=+)C 9 * / 5(
Semantics1. Take the Celsius temperature2. Multiply it by 1.83. Add 324. The result is the Fahrenheit temperature
How do Computers represent How do Computers represent information?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”
LanguageLanguage
What does language do?– Transfer information (describe)– Action oriented languages (directions)– Functional languages
Area = Pi * Radius * Radius
– Object oriented languages “model” the world around us
Programming LanguagesProgramming LanguagesThree 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 LanguagesComputer Languages
To a human we might say:– Write: “Hello, CSC 171”
To a computer we might say– System.out.println(“Hello, CSC 171”);
JAVAJAVA
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 ProgramA Computer Program
public class myFirstProgram {
public static void main(String args[]){
System.out.println(“Hello, CSC171”);
}
}
The Containment PatternThe Containment Pattern
Starts with some “begin” symbol– {([“
Ends with some “end” symbol– “])}
General Pattern <begin>+<contents>+<end>
A Computer ProgramA Computer Program
public class myFirstProgram {
public static void main(String args[]){
System.out.println(“Hello, CSC171”);
}
}
ERRORSERRORSSyntax errors
System.ouch.print("...");System.out.print("Hello); – Detected by the compiler
Logic errorsSystem.out.print("Hell"); – Detected (hopefully) through testing