Introduction to Computing and Javacse.uaa.alaska.edu/~afkjm/csce201/handouts/Intro.pdf ·...
Transcript of Introduction to Computing and Javacse.uaa.alaska.edu/~afkjm/csce201/handouts/Intro.pdf ·...
![Page 1: Introduction to Computing and Javacse.uaa.alaska.edu/~afkjm/csce201/handouts/Intro.pdf · Introduction to Computing and Java Programming Coverage Methods, Classes, Arrays Iteration,](https://reader031.fdocuments.in/reader031/viewer/2022040122/5f0285fa7e708231d404afa9/html5/thumbnails/1.jpg)
8/27/2017
1
Introduction to Computing and Java
Programming Coverage
Methods, Classes, Arrays
Iteration, Control
Structures
Variables, Expressions
Data Types
![Page 2: Introduction to Computing and Javacse.uaa.alaska.edu/~afkjm/csce201/handouts/Intro.pdf · Introduction to Computing and Java Programming Coverage Methods, Classes, Arrays Iteration,](https://reader031.fdocuments.in/reader031/viewer/2022040122/5f0285fa7e708231d404afa9/html5/thumbnails/2.jpg)
8/27/2017
2
Course Design
• Instead– Zybook has lots of activities
for both learning and to test your understanding
– Lecture covers same concepts from a different perspective, will focus on some longer examples
Intro to Computing
![Page 3: Introduction to Computing and Javacse.uaa.alaska.edu/~afkjm/csce201/handouts/Intro.pdf · Introduction to Computing and Java Programming Coverage Methods, Classes, Arrays Iteration,](https://reader031.fdocuments.in/reader031/viewer/2022040122/5f0285fa7e708231d404afa9/html5/thumbnails/3.jpg)
8/27/2017
3
![Page 4: Introduction to Computing and Javacse.uaa.alaska.edu/~afkjm/csce201/handouts/Intro.pdf · Introduction to Computing and Java Programming Coverage Methods, Classes, Arrays Iteration,](https://reader031.fdocuments.in/reader031/viewer/2022040122/5f0285fa7e708231d404afa9/html5/thumbnails/4.jpg)
8/27/2017
4
The CPU
• Fetches instructions from main memory
• Carries out the operations commanded by the instructions
• Each instruction produces some outcome
• A program is an entire sequence of instructions
• Instructions are stored as binary numbers
• Binary number - a sequence of 1’s and 0’s
Early Computers
• Binary numbers stored as switches
![Page 5: Introduction to Computing and Javacse.uaa.alaska.edu/~afkjm/csce201/handouts/Intro.pdf · Introduction to Computing and Java Programming Coverage Methods, Classes, Arrays Iteration,](https://reader031.fdocuments.in/reader031/viewer/2022040122/5f0285fa7e708231d404afa9/html5/thumbnails/5.jpg)
8/27/2017
5
Switches to Transistors
Main Memory – a big list of addresses
![Page 6: Introduction to Computing and Javacse.uaa.alaska.edu/~afkjm/csce201/handouts/Intro.pdf · Introduction to Computing and Java Programming Coverage Methods, Classes, Arrays Iteration,](https://reader031.fdocuments.in/reader031/viewer/2022040122/5f0285fa7e708231d404afa9/html5/thumbnails/6.jpg)
8/27/2017
6
• Bit: smallest and most basic data item in a computer; represents a 0 or a 1
• Byte: a grouping of eight bits
– E.g., 00010001
• Word: a grouping of one or more bytes
Knowing About: Computer Hardware
Patterns of bits could represent integer numbers
![Page 7: Introduction to Computing and Javacse.uaa.alaska.edu/~afkjm/csce201/handouts/Intro.pdf · Introduction to Computing and Java Programming Coverage Methods, Classes, Arrays Iteration,](https://reader031.fdocuments.in/reader031/viewer/2022040122/5f0285fa7e708231d404afa9/html5/thumbnails/7.jpg)
8/27/2017
7
Bits could represent characters
![Page 8: Introduction to Computing and Javacse.uaa.alaska.edu/~afkjm/csce201/handouts/Intro.pdf · Introduction to Computing and Java Programming Coverage Methods, Classes, Arrays Iteration,](https://reader031.fdocuments.in/reader031/viewer/2022040122/5f0285fa7e708231d404afa9/html5/thumbnails/8.jpg)
8/27/2017
8
We said that 00010001 could representanything, a number, sound, color, etc.
Bits could represent sound
![Page 9: Introduction to Computing and Javacse.uaa.alaska.edu/~afkjm/csce201/handouts/Intro.pdf · Introduction to Computing and Java Programming Coverage Methods, Classes, Arrays Iteration,](https://reader031.fdocuments.in/reader031/viewer/2022040122/5f0285fa7e708231d404afa9/html5/thumbnails/9.jpg)
8/27/2017
9
Bits can represent colors
Bits can represent instructions
• 110110
– might be the instruction to add two numbers
• 110100
– might be the instruction to increment a number
• Called binary code
• Assembly Code - Mnemonics
![Page 10: Introduction to Computing and Javacse.uaa.alaska.edu/~afkjm/csce201/handouts/Intro.pdf · Introduction to Computing and Java Programming Coverage Methods, Classes, Arrays Iteration,](https://reader031.fdocuments.in/reader031/viewer/2022040122/5f0285fa7e708231d404afa9/html5/thumbnails/10.jpg)
8/27/2017
10
The Fetch-Decode Execute Cycle
Layers of Programming Languages
A program called a compiler translates from high-level to machine language
![Page 11: Introduction to Computing and Javacse.uaa.alaska.edu/~afkjm/csce201/handouts/Intro.pdf · Introduction to Computing and Java Programming Coverage Methods, Classes, Arrays Iteration,](https://reader031.fdocuments.in/reader031/viewer/2022040122/5f0285fa7e708231d404afa9/html5/thumbnails/11.jpg)
8/27/2017
11
Interpreter
• Compiling combined with execution
X=3
X=X+1
…
Source Code
Interpreter 11011101
Machine Language
Statement
ExecuteNext statement
Often easier to program, debug, but will generally run slower than compiled programs
Java – Both Interpreted/Compiled
• Somewhat of a simplification with JIT compilers
Public class Foo {
if (e.target=xyz) then
this.hide();
}
Java
compiler
01010001
01010010
Mac Interpreter
PC Interpreter
Android Interpreter
![Page 12: Introduction to Computing and Javacse.uaa.alaska.edu/~afkjm/csce201/handouts/Intro.pdf · Introduction to Computing and Java Programming Coverage Methods, Classes, Arrays Iteration,](https://reader031.fdocuments.in/reader031/viewer/2022040122/5f0285fa7e708231d404afa9/html5/thumbnails/12.jpg)
8/27/2017
12
Programming
• A program is a list of instructions for the computer to follow
• Algorithm– Sequence of steps to solve a problem– Example: Searching a list of names for a number
1. Atto, Tom (786-1102)2. Attrick, Jerry (786-9089)3. DeBanque, Robin (786-0022)4. Dente, Al (786-8722)5. Fresco, Al (786-8723)6. Guini, Lynn (786-8834)7. Oki, Kerry (786-9213)8. Wright, Eaton (786-4441)
Pseudocode
• Somewhere between English and actual code to help figure out how to write the actual code
• Binary search pseudocode– Given a list of names
• If the list is empty then target not found
• Otherwise:– Get the name in the middle of the list
– If this name is the same as the target, then the target is in the list
– If this name is alphabetically before the target then
» Repeat the process on the bottom half of the list
– If this name is alphabetically after the target then
» Repeat the process on the first half of the list
![Page 13: Introduction to Computing and Javacse.uaa.alaska.edu/~afkjm/csce201/handouts/Intro.pdf · Introduction to Computing and Java Programming Coverage Methods, Classes, Arrays Iteration,](https://reader031.fdocuments.in/reader031/viewer/2022040122/5f0285fa7e708231d404afa9/html5/thumbnails/13.jpg)
8/27/2017
13
Java Example
• In-class: Entering and running a “Hello, World” program using DrJava
File: HelloWorld.java
/** Normally you would put your name and assignment info here* This program prints out "Hello, World".*/
public class HelloWorld{
public static void main(String[] args){
System.out.println("Hello, world!");}
}