Download Introduction to Computers and Programming

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts
no text concepts found
Transcript
Algorithm
development
The invention of the computer
 Programming language developments:
1.
2.
Machine code
Assembler

3.
easier to write, debug, and update
High level languages









strive to be machine independent
easier to learn and use
1954 – FORTRAN
1961 – COBOL
then ALGOL, LISP, BASIC
1970 – Pascal
1980’s – C
1990’s – C++, Java (originally called ?)
and many, many others
High level langauges (HLL)
 Not directly understood by the computer
 Humanly readable
 Requires the user of a compiler

Compiler
 Input
 Output
= program
= code written in a HLL
= machine code
Pascal (an HLL)
1970’s
 Support for “structured programming”



Control constructs
1.
Linear sequence of commands/instructions
2.
Repetition
3.
Selection
Top-down programming


Problem is broken down into a series of smaller
problems which are solved.
Divide-and-conquer technique.
Types of software
1. OS (operating system)
2. Programming environment/tools
3. Applications
Operating Systems (OS)
 Windows
 Linux

Android (linux-based)
 Unix
 Mac OS
 many others
Programming
environments/tools
 Tools




emacs (an editor – not a word processor)
vi
g++
gdb
Programming
environments/tools
 IDE’s (Integrated Development
Environment)

consist of: editor, compiler or interpreter,
debugger, linker

examples: jGrasp, netbeans, Eclipse,
Ready, Visual C++, Visual BASIC,
JBuilder, and many others
Applications
 Computer games
 Word processors
 Graphics packages
 Virtual reality software
 Web browsers
 Presentation
 Database
 Spreadsheet
 And many others.
Social issues
 Privacy/anonymity
 Quality of information
Program development
 Our programming language is Java.
 The IDE we will use is jGrasp.



Editor is used to type in program text (it is
not a word processor; don’t use a word
processor).
Compiler (syntax errors)
Run/execute (semantic errors)
Program development
 Java is an object-oriented language.

(Note: Case sensitive.)
 Method
 named operation
 constructor (ctor)
 special
method w/ same name as class
 performs initialization
 class may have more than 1 ctor
 Class

named group of related methods
Recall “What is a computer?”
INPUT
PROCESSING
(information)
OUTPUT
(information)
MEMORY
Definitions
(from http://mathworld.wolfram.com/Algorithm.html)
 An algorithm is a specific set of instructions for
carrying out a procedure or solving a problem,
usually with the requirement that the procedure
terminate at some point.
Definitions
(from http://mathworld.wolfram.com/Algorithm.html)
 Specific algorithms sometimes also go by the
names:





method
procedure
routine
subroutine
technique
Definitions
(from http://mathworld.wolfram.com/Algorithm.html)
The word “algorithm” is a distortion of al-Khwārizmī,
a Persian mathematician who wrote an influential
treatise about algebraic methods.
Definitions
(from http://mathworld.wolfram.com/Algorithm.html)
The process of applying an algorithm to an input
to obtain an output is called a computation.
Recall “What is a computer?”
INPUT
PROCESSING
(information)
OUTPUT
(information)
MEMORY
 How can a Java program perform
output?
How can a program perform
output?
System.out.println( "hello world" );
blocks
{
System.out.println( "Welcome!" );
System.out.println( "Enjoy the show." );
}
Method/function/procedure
public static void main ( String param[] ) {
System.out.println( "hi there" );
}
Defining our own objects
class MyFirstClass {
public static void main ( String param[] ) {
System.out.println( "hi there" );
}
}
Recall “What is a computer?”
INPUT
PROCESSING
(information)
OUTPUT
(information)
MEMORY
 How can a Java program perform input?
How can a Java program
perform input?
…
Scanner s = new Scanner( System.in );
…
String str = s.nextLine();
…
We can mix input and output.
Scanner s = new Scanner( System.in );
System.out.print( "Enter your name: " );
String name = s.nextLine();
System.out.println( "Thanks." );
s.close();
Complete program that does
both input & output.
import java.util.Scanner;
class MySecondClass {
public static void main ( String param[] ) {
Scanner s = new Scanner( System.in );
System.out.print( "Enter your name: " );
String name = s.nextLine();
System.out.println( "Thanks." );
s.close();
}
}