COMP 110 Computer Basics Luv Kohli August 25, 2008 MWF 2-2:50 pm Sitterson 014 1
Announcements jGRASP Office Hours ◦ Link to survey on web site Honor Code document 2
Questions? 3
Today in COMP Hardware and Memory Programs and Compiling Your first program
Before Programming Need to know basics of a computer ◦ If you drive a car you should know it runs on gasoline What’s in the box? 5
Hardware vs. Software Hardware - physical machine ◦ CPU, Memory Software - programs that give instructions to the computer ◦ Windows XP, Games, jGRASP 6
Hardware An aside: there is a computer museum in the first floor lobby of Sitterson Hall
Hardware CPU (Central Processing Unit) - the “Brain” ◦ Executes your instructions ◦ GHz - number of instructions per second, how fast is the computer ◦ Dual Core - multiple processing units per CPU, multiple brains 8
Memory Holds data for the computer How much the “Brain” can remember Main Memory ◦ Memory computer uses for intermediate calculations (program you are running) ◦ Expensive Auxiliary Memory (Secondary Memory) ◦ Disk drives, CDs, Flash drives ◦ Cheap 9
RAM (random access memory) Your main memory Random access? ◦ Fast access ◦ Access any location in memory in constant time 10
Measuring memory 2 gigabytes (GB) of RAM ◦ Bytes - measurement of memory ◦ Megabyte (MB) = 1 million (10 6 ) bytes (or 1,048,576 = 2 20 bytes) ◦ Gigabyte (GB) = 1 billion (10 9 ) bytes (or 1,073,741,824 = 2 30 bytes) 11
What is a byte? 1 byte = 8 bits (thanks to Dr. Brooks) Bit = 0 or 1 (off or on) Language of the computer is bits byte of 8 bits Characters, numbers, encoded as series of bits – a byte: ◦ 0: ◦ A: ◦ a:
Program Set of instructions for a CPU to follow You will be writing programs ◦ We will look at one soon 13 public class Hello { public static void main(String[] args) { System.out.println("Hello world!"); }
Programming Languages Your Program Compiler Machine Language (Bits) High-level language (human readable) Low-level language (computer readable) 14
Java Object-oriented programming (OOP) language Based on the world around us 15
Objects, Methods, and Classes (oh my!) Object – program construction that has data and methods Methods – actions performed by objects Class – a type of object (e.g. Vehicle, Television) – objects in same class have same kinds of data and methods 16 Class: CarObject: myCar DataMakeHonda ModelCivic MethodsAccelerate()Accelerate Brake()Decelerate
Java: three main design principles Encapsulation Polymorphism Inheritance 17
Encapsulation Information hiding Packaging things up, only part of what is going on is visible ◦ myCar.accelerate() ◦ yourCar.accelerate() Just call these methods, the car will execute them 18
Polymorphism “Many forms” One method call can cause different actions in different contexts ◦ Class Airplane Object: myAirplane.accelerateToMaxSpeed() 550mph ◦ Class Car Object: myCar.accelerateToMaxSpeed() 100mph 19
Inheritance Way of organizing classes At each level, classification becomes more specific 20 Vehicle Automobile Bus Family carSports car School Bus Luxury Bus
Sample Java Program (section 1.3) import java.util.*; public class FirstProgram { public static void main(String[] args) { System.out.println("Hello out there."); System.out.println("I will add two numbers for you."); System.out.println("Enter two whole numbers on a line:"); int n1, n2; Scanner keyboard = new Scanner(System.in); n1 = keyboard.nextInt(); n2 = keyboard.nextInt(); System.out.println("The sum of those two numbers is"); System.out.println(n1 + n2); } } 21
java.util Package import java.util.*; Package = library of classes (standard programs) Different libraries have different classes and functions ◦ Physics library = Newtonian Physics ◦ java.util.* = Java utility classes, used for many things including reading data from keyboard 22
Begin the program public class FirstProgram { public static void main(String[] args) { Begin a program named FirstProgram Program names should make sense A program is also a class in Java ◦ A program class has a unique method ‘main’ 23
Output to screen System.out.println("Hello out there."); System.out.println("I will add two numbers for you."); System.out.println("Enter two whole numbers on a line:"); Write what is in quotes to screen 24
Invoke methods on objects myCar.start(); airplane.land(); System.out.println(“Hi”); Object Method Invoke Method 25 Arguments
Variable int n1, n2; Variable - store piece of data n1 - store integer n2 - store integer 26
Create Scanner Object Scanner keyboard = new Scanner(System.in); Create object or instance (keyboard) of Scanner class Car myCar = new Car(); ClassObject Not always System.in 27
Call method on object n1 = keyboard.nextInt(); Read an integer from the keyboard and store it in n1 Object Method Invoke/Call 28
Output to screen System.out.println("The sum of those two numbers is"); System.out.println(n1 + n2); Add n1 and n2 Print the sum to the screen 29
Sample Java Program (section 1.3) import java.util.*; public class FirstProgram { public static void main(String[] args) { System.out.println("Hello out there."); System.out.println("I will add two numbers for you."); System.out.println("Enter two whole numbers on a line:"); int n1, n2; Scanner keyboard = new Scanner(System.in); n1 = keyboard.nextInt(); n2 = keyboard.nextInt(); System.out.println("The sum of those two numbers is"); System.out.println(n1 + n2); } } 30
Wednesday Designing Programs (Read 1.2) If time, start primitive types (start reading 2.1) Come to office hours if jGRASP is not working 31