Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
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(); } }