Download Chapter 1 Notes

Document related concepts

Structured programming wikipedia , lookup

Name mangling wikipedia , lookup

Abstraction (computer science) wikipedia , lookup

Computer cluster wikipedia , lookup

Java (programming language) wikipedia , lookup

Compiler wikipedia , lookup

Go (programming language) wikipedia , lookup

ILLIAC IV wikipedia , lookup

History of compiler construction wikipedia , lookup

Java ConcurrentMap wikipedia , lookup

Java performance wikipedia , lookup

Interpreter (computing) wikipedia , lookup

C Sharp (programming language) wikipedia , lookup

Transcript
Sections 1.1-1.11
 Student-Teacher
relationships are very
important
 Exposure+bewilderment=Obvious
 Computers
are faster
 Computers are more accurate
 Computers never forget
 If humans give faulty instructions/Enter
Data Sloppily, than the computer may
give erroneous information
 Morse
Code is based on “on” and “off”
signals that relay a message
 In Morse Code, electricity can be turned
on and off
 In Binary Code:
 1-On
 0-Off
 We
use the decimal system (base
10)every day
• Each digit represents a power of 10
 In
Computer Science, we use the binary
system, or base 2
• Each digit represents a power of 2
• 01000001=65
 ASCII: American
Standard Code for
Information Interchange
 0-127 are used for the standard set of
characters
 128-255 are used for the extended set
• A=65 or 01000001
 ASCII
can store one character per byte
 ASCII has up to 256 characters
 Unicode
uses 2 bytes to store characters
 Has a possibility of 65,536 Characters
 Java has adopted Unicode
 Bit-A
Binary Digit that is either on(1) or
off(0)
 1 Byte-8 bits
 1 Nibble-4 bits
 1 Byte-256 different combinations
 2 Bytes-65,536 different combinations
 ASCII-Uses one byte to store one
character
 Unicode-Uses two bytes to store one
character
 Early
computers used vacuum tubes to
store information (One bit per vacuum
tube)
 Vacuum Tubes were then replaced by
transistors, and later, microchips
 ROM-Read Only Memory, where
permanent information is stored
 RAM-Random Access Memory, where
information is temporarily stored
1
Kilobyte contains exactly 1,024 bytes
 CPU-Central Processing Unit; brains of
the computer
 CD- A secondary storage device that
stores information by absorbing laser
light
 Analog-Continuous
 Digital-Exact, copies can be made of this
 Hardware-Physical
 Software-Set
of instructions that make the
computer perform a task
 CPU-Central Processing Unit
 The System Unit is the piece of hardware
that contains the CPU and computer
memory
 External
Peripheral Devices-Outside the
computer, connected to an interface
• Examples: Headphones, Speakers, Flash Drive,
Mouse, Microphone
 Internal
Peripheral Devices-Inside of the
System Unit
• Examples: CD ROM, Hard Drive, Disk Drive,
Network Interface Card, Video Card
 Application
Software-Instructions
required by the computer to do perform
a specific task for you
• Examples: Word Processors/Spreadsheets
• Sometimes referred to as an “app” on a cell
phone
 System
Software-Instructions that the
computer requires to operate correctly
• Example: Operating System
• Windows, Linux, UNIX, Mac OS
 Operating
Systems can be used to:
1. Move/Store Data
2. Personalize the computer
3. Install peripheral devices
4. Install/Execute Applications
5. Install Anti-Virus
Section 1.9
 When
counting on fingers/toes became
too restricting, people began to mark
rocks or tie knots in ropes to count
 The Abacus was invented in 3000 BC in
the Middle East
 John Napier: Invented logarithms and
designed an efficient way to do Lattice
Multiplication
 Slide
Rule: Created by William Oughtred;
Allowed sophisticated mathematical
calculations
• Replaced by the scientific calculator in 1970s
 Blaise
Pascal: Built the Pascaline, the first
numerical counting machine in 1642
• Still used in 1970s because of the price of 4-
function calculator
 Jacquard's
Loom: Used punch cards to
program the loom into creating certain
patterns
 Charles
Babbage: Created the first
general purpose computing machine
• “The Father of Computers”
 Ada
Byron: Began designing computer
programs before modern computers
existed
• “The Mother of Programming”
 Tabulating
Machine: Invented by Herman
Hollerith for 1890 Census; used punch
cards
 Differential Analyzer: Invented by Harold
Locke Hazen and Vannevar Bush; capable
of large scale equations
 Konrad Zuse: Credited by some to be the
“Inventor of the Computer”; created a
programmable computer destroyed in
WWII
 Mark-I: IBM’s
first Automatic Sequence
Control Calculator; dubbed Mark-I by
Harvard
• 51 ft. long, 8 ft. tall
 Grace
Hopper: One of the first
programmers of the Mark-I, had many
contributions to Computer Science
 Mark-II: On 9/9/1947, Mark-II stopped
working; a moth was stuck in the computer
• First “Computer Bug”
 Vacuum Tubes: Size
of a normal light
bulb, 8 of these were used for the
computer to process a single character;
Marks beginning of the “First Generation
of Computers”
 Atanasoff Berry Computer: The first
electronic digital computer
 Colossus: Used by British to decrypt
secret coded messages of Germans in
WWII
 ENIAC: Electronic
Numerical Integrator
and Computer; First electronic general
purpose computer
 EDVAC: Electronic Discrete Variable
Automatic Computer; First stored
program computer
 UNIVAC: UNIVersal Automatic Computer,
the first commercially available
computer
 Transistors: Much
smaller than vacuum
tubes, and lasted much longer; Marked the
beginning of the Second Generation of
Computers
 Integrated Circuits: Developed by Jack Kilby
in 1958, circuits have multiple transistors on
each chip. Marked the beginning of the
Third Generation of Computers
 Microchips today hold billions of transistors
 System/360: Essentially
standardized
computer hardware
 Apple II Personal Computer: Created by
Steve Jobs and Steve Wozniak of Apple
Computer Inc. This was the first successful
personal computer
 IBM PC: First personal computer to be taken
seriously in the business world; had a
monochrome monitor and two floppy drives
 Toshiba: First commercially successful
computer to use a mouse and Windows
 MS-DOS: Created
by Bill Gates and
Microsoft as the first operating system for
the IBM PC
 Compaq: Known for the first portable
computer and the first computer to be 100%
compatible with the IBM PC
 GUI: Graphics User Interface
 Mouse Technology: Created by Xerox
 Lisa: Created by Apple, first commercially
successful computer with mouse and GUI
technology
 Introductory
Computer Science courses
traditionally focus on programming
 Program: A sequence of instructions
which enables a computer to perform a
desired task
 Programmer: A person who writes a
program for the computer
 Programming the ENIAC requires
rewiring the machine
 Machine
Language: Also Machine Code;
Directly manipulating the 1s and 0s of the
computer’s binary language.
 EDSAC: Electronic Display Storage
Automatic Computer; Introduced Assembly
Language
 Initial Orders: Name of the assembler in the
EDSAC
 Grace Hopper: Coined the term
“debugging”; nicknamed “Amazing Grace”
 Low
Level Languages: Machine Language
and Assembly Language; They function at
or close to the level of 1s and 0s
 High Level Languages: FORTRAN,
COBOL, Java; A language that uses
English words as instructions
 Very High Level Languages: NXT; Uses
pictures you click and drag to program
the computer
 Translator: Translates
a high level
language into low level machine code
 Compiler: Translates the entire program
into an executable file before execution
 Interpreter: Translates one statement at a
time during execution
 FORTRAN: FORmula TRANslator; first
successful programming language;
designed for Mathemeticians, Scientists
and Engineers
 LISP: Known for being one of the
languages specifically designed to
develop Artificial Intelligence
 COBOL: Common Business Oriented
Language; designed for the business
community
 PL/I: Programming
Language 1; IBM
designed PL/I to standardize software, by
combining FORTRAN and COBOL.
• Never became popular because FORTRAN users did
not like the COBOL features and vice versa
 BASIC: Created
by Tom Kurtz and John
Kemeny for non-math and non-science
majors.
• Became popular when personal computers were
released because the memory was too small for
FORTRAN or COBOL
• College professors did not like this because it didn’t
teach programming structure properly
 Pascal: Created
by Niklaus Wirth for the
purpose of teaching programming.
• Differs from PL/I because it has just enough math
from FORTRAN and just enough record handling
from COBOL
 NXT: Created
by the Lego Corporation; Very
high level language, uses point and click
language
 BCPL: Originally intended for writing
compilers
• Updated, renamed C, then C++
• Uses OOP: Object Oriented Programming
 Sneaker
Net: Early computers were not
networked; Used this system to share
files
 Peer-to-Peer Networks: First practical
network for personal computers; All
computers are equal
 Server: A specialty computer connected
to a network for printing, data storage,
website management etc.
 LAN: Local
Area Network
 Internet: Came about in The Cold War; No
central location so it cannot be destroyed
 Intranet: A series of LANs that are
connected to a large network
 ISP: Internet Service Provider
Sections 2.3-2.12
 The
United Nations has about 200 countries
and uses a two step translation process, with
English as the intermediate area.
• A one step translation process would need 20,000
translators
 Java
also uses a two step translation process,
using a compiler to turn the source code to
bytecode and an interpreter to go from
bytecode to machine code
A
programming language is considered
platform independent if the source code
can execute on another platform without
difficulty
 Compiler: Usually translates the code into
an executable file before execution
• In Java, it translates the source code into Bytecode
• Larger than interpreters
 Interpreter: Translates
the source code one
line at a time during execution
• In Java, it translates Bytecode into machine code
 Bytecode: The
intermediate code created
by the Java compiler; A low level code
that cannot execute as a regular machine
code file
• Is understood and executed by a JRE
 JRE: Java
Runtime Environment; a Java
interpreter
 HTML: Hyper Text
Markup Language; a
special program language for webpages
 Applet: A Java program designed to
operate inside a web page
• A web page can contain multiple applets, but
cannot be written entirely in Java
 Application: A
Java program designed to
operate in a stand alone environment
 JDK: Java
Development Kit, free of charge,
a Java compiler
 You need a text editor, compiler, and
interpreter to write a Java program.
 IDE: Integrated Development
Environment; contains all three things
above
 All java programs end with .java
 Java
compiler can be accessed through
the Command Prompt
 All Bytecode files end with .class
 JDK must be installed before JCreator
 JCreator is an IDE; is not the only IDE
available
 GUI: Graphics
User Interface
 Program Input is more complex than
program output
 //: This is a one line comment code; is not
shown when the program is run(does not
get compiled)
 Every application has a main segment
 Sytem.out.println: Outputs data and puts
the cursor on the next line
 {}: Contain
program blocks
 Programming languages cannot use
human language because there are too
many words that share meanings
 Java Keyword: A word that has a special
meaning in a program/performs a
special function
• Two or more keywords combine to make a
program
 Keywords
are case sensitive; System is a
keyword, system is not
 Keywords: public, class, static, void, main,
String, System, out, println
 CRLF: Carriage Return Line Feed; after
displaying the data, it sends the next line
of data to the next line
 println contains a crlf, print does not
• Both follow keywords System.out
 If
the program is named Jessica.java, then
the program must say public class Jessica
 A semicolon must be at the end of all Java
statements
 Comments aid in program
documentation
• A well documented program is easy to read
debug, update, enhance
Sections 3.1-3.12
 Variables
make math, science, and
computer science possible
 Keywords are what make up a computer
program
 Java
compilers will only compile if the
source code obeys the Java syntax
 First Java syntax rule: Only keywords
known to Java can be used in the
program
 Three categories of keywords: Reserved
words, Predefined Java Identifiers, UserDefined Identifiers
 Java Reserved Words: public, static, void
 Pre-Defined
Identifiers: print, println
 User-Defined Identifiers: cannot be a
Reserved word or Pre-defined identifier
• To name it, you may use alphanumeric
characters and the underscore. Must start with
alpha character
 To
declare an integer x, int x; is the
proper form
 To
assign int x a value use int x = 7; as a
single statement
 The four data types of Java are byte,
short, int, long
 Int: contains 4 bytes
 Largest value of a byte is 127
 5 integer operations: Addition,
Subtraction, Multiplication, Quotient
Division, Remainder Division
 Quotient
Division is traditional division,
and remainder division calculates the
remainder after division
 Float
and Double are two data types used
for real numbers
 Addition, Subtraction, Multiplication, and
Division are the four real number
operations
• Real number remainder division is possible but
not practical
 The
Rollover effect is applied similar to
when a car hits 100,000 miles. The
maximum display is reached, and makes
the sign number negative
 Memory Overflow is when the value of a
variable exceeds the storage space
allocated
 X++/++X: X=X+1
 X--/--X: X=X-1
 Do
not combine shortcuts with Java
Statements or other shortcuts, they
become hard to follow
 X+=5: X=X + 5
 X-=5: X=X - 5
 X*=5: X=X * 5
 X/=5: X=X / 5
 X%=5: X=X % 5
 Char
is the data type used to process
individual characters
• Single quotations mark a char data type
 String
is the data type used to process
sets of one or more characters
• Double quotations mark a String data type
 “Chaining” is
when multiple variables
are set equal to a value
 Concatenation
is when the plus sign is
used to join strings together
• “100” + “200”=“100200”
 Overloading: Overloading
is when an
operator is used to perform different
functions
 George
Boole developed Boolean
Algebra, which is statements that are
either true or false
• Boolean data types, true or false only, are used
today in Computer Science
 Primitive
data types: Java’s formal
language for simple data types
 To
set a number as a constant(the
number will never change) type as final
double doubleConst=xxxxx;
• If you try to alter the variable of a constant, the
program will not compile
 Java
calls final variables constants
 The
first form of program documentation
is to use comments
 In the 1960s-70s computer programs
were often written with single letter
variables to save memory space
 A self-commenting variable is a variable
with a name that describes the purpose
of the variable
 Variables
should now be words or
compounds, not single letters
 Comments should still be used even if
self-commenting variables are used
 Java
follows the same Order of
Operations that are used in math
Traditional Math
Java source code
7abc
7*a*b*c
x+3/2x-7
(x+3)/(2x-7)
½
1.0/2.0

Type casting is used in Java to make sure that the
correct data type is assigned to a variable
• System.out.println(10/3); = 3
• System.out.println((double)10/3); = 3.3333333
Escape Sequence: A single slash followed by
some character placed between double quotes
 \n: Carriage Return Line Feed
 \t: tab
 Escape sequences are used to create
backslashes and quotations because these keys
are already used as operators
