Introduction to Computers and Programming

Download Report

Transcript Introduction to Computers and Programming

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();
}
}