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
COMP 110-001 Computer Basics Yi Hong May 13, 2015 Today  Hardware and memory  Programs and compiling  Your first program 2 Before Programming  Need to know basics of a computer  Understand what your program is doing  Talk intelligently about computers 3 Computer System  Hardware: Physical components for computation • CPU, Memory, Keyboard ….  Software: Programs that give instructions to the computer • Windows, Office, Games, Eclipse … 4 Hardware  Main components of a computer • CPU (Central Processing Unit): Performs the instructions in a program • Memory: Holds programs and data • Input devices: Provide data to a computer • Output devices: Display data carried out by a computer 5 CPU – the “Brain”  Central processing unit • Clock speed: GHz, how many clock cycles a CPU can perform per second (1GHz = 1 billion CPU cycles per second) • Dual core: Multiple processing units per CPU 6 Memory – the Brain  Holds data for the computer  Main memory • Holds the current program and much of the data that the program is manipulating • Volatile, disappears when shutting down the computer  Auxiliary memory (secondary memory) • Hard disk drives, CDs, flash drives … • Exists even when the computer’s power is off 7 RAM (Random Access Memory)  The main memory  4 gigabytes of RAM • A bit: the basic unit of information in computing (binary digit, 0 or 1) • A byte: A quantity of memory, 8 bits 2^0 + 2^2 + 2^4 + 2^5 = 53 8 Measuring Memory  Both main memory and auxiliary memory are measured in bytes • 1 byte = 8 bits • 1 Kilobyte (KB) = 1024 bytes • 1 Megabyte (MB) = 1024 KB = 1024*1024 bytes • 1 Gigabyte (GB) = 1024 MB • Terabyte (TB), Petabyte (PB) … 9 Software  Program: A set of computer instructions Program Data (input for the program) Computer Output 10 Programming Languages  Different levels Java / C++ Program High-Level Languages (Human readable) Compiler Assembly languages Machine Language Low-Level Languages (Computer readable) 11 Translation  A high-level language ? a low-level language • Compiler: translate once, run forever • Interpreter: translation alternates with execution, directly executes instructions  Java: combines a compiler and an interpreter 12 Java Bytecode Java Code (.java) A compiler translates Java code into bytecode JAVAC compiler Java Bytecode (.class) JVM JVM JVM Windows Linux Mac The Java Virtual Machine (JVM) is an interpreter that translates and executes bytecode 13 Why Using Java Bytecode?  The bytecode is not the machine language for any particular computers  Can be easily translated into the machine language of a given computer  Portability • Java bytecode runs on any computer has a JVM • No need to recompile the Java code 14 Objects, Methods, and Classes  Object: a combination of attributes (data) and methods (actions) • Yi’s Car (has wheels, can start, stop, …)  Class: defines a type or kind of object • Car (blueprint for defining the objects, e.g., Yi’s car, Bob’s car …)  Methods: actions performed by objects • start(), stop(), forward(), back() … 15 Invoking a Method  A Java program uses objects to perform actions that are defined by methods Yi’s car.forward (); Semicolon at the end of each statement System.out.println(“Welcome to COMP 110”); Object to perform actions Method of the object System.out Argument • Print the string in quotes to screen 16 First Java Program  A simple task • Print a message: “Welcome to COMP 110” Each class is in *.java A class contains methods Every application has a main method The body of the method 17 Begin the Program  Begin a program named “FirstProgram”  Program names should make sense  Capitalize the first letter of each word in the program name 18 Run the First Program  Compile: javac FirstProgram.java • Bytecode is in the file, FirstProgram.class  Execute: java FirstProgram  Or use IDE (integrated develoment environment) 19 Second Java Program  Ask the user to input his/her name, and print a welcome message 20 What’s New (1): Java Package import java.util.Scanner  Gets the Scanner class from the package java.util  Package = Library of classes  Different libraries provide different functionalities • Math library: math equations • Network library: send / receive packages • java.util : allows you to read data from keyboard 21 What’s New (2): Create Objects Scanner keyboard = new Scanner(System.in) • Create an object (i.e., keyboard) of the Scanner class • Then the object performs actions: String name = keyboard.next(); • Read a string from the keyboard Keyboard.close(); • Close the keyboard, stop getting data from a user 22 First & Second Java Programs  Import a package / class  Define a class  A main method  Create an objects  Invoke methods 23 Next Class  Object-Oriented Programming (OOP)  Primitive data types and variables  Reading and coding assignments • Chapter 1.3, 2.1 • Try the two sample programs in class 24