COMP 14: Intro. to Intro. to Programming May 23, 2000 Nick Vallidis.

Post on 22-Dec-2015

224 Views

Category:

Documents

1 Downloads

Preview:

Click to see full reader

Transcript

COMP 14: Intro. to Intro. to Programming

May 23, 2000

Nick Vallidis

What we’ll talk about today...

Brief overview of computers Hardware and Software What is programming? Java Algorithms

Computers

Basically “information processors”– Take info, do something to it, spit it out again

Digital– Store the information as numbers (“digits”)

Use the binary number system

Computers are made of 2 things

Hardware– The part you can see and touch– CPU, monitor, mouse, keyboard

Software– Information to tell the computer HOW to

process information– OS, compiler, word processor, games, etc.

Hardware

CPU: Pentium (II/III), Alpha, Athlon Memory: RAM, floppy disk, hard drive, CD Input Devices: keyboard, mouse, data tablet Output Devices: monitor, printer

Our view of the hardware

Monitor

Keyboard

MainMemory

CentralProcessing

Unit

Floppy Disk

Hard Disk

Secondary Memory

CPU

“Central Processing Unit” Continuously does fetch-decode-execute

fetch

Retrieve an instruction from main memoryRetrieve an instruction from main memory

decode

Determine what theDetermine what theinstruction isinstruction is

execute

Carry out theCarry out theinstructioninstruction

Memory

An address is the name of a specific location in memory

Main Memory– run programs from here– fast, volatile

Secondary Memory– slow– permanent

This class is about Software

Operating System (OS)– Understands the hardware– Simplifies your interaction with the hardware– Controls starting/stopping applications

Applications– any software that isn’t the OS– what you will learn to write

Computer Languages

Machine Language– the form the CPU understands– strings of 1’s and 0’s

Assembly Language– people-friendly version of machine language

High-level languages– Java, C++, FORTRAN, COBOL, BASIC

Compilers and Interpreters

Both are ways to turn high-level languages into something the computer can execute

Compilers turn a source code file into an executable

Interpreters let you type the program into it and run it directly

Java is compiled and interpreted

Java sourcecode

Machinecode

Javabytecode

Javainterpreter

Bytecodecompiler

Javacompiler

So what is programming?

Programming IS problem solving Takes multiple steps:

– understand what the problem is– find a solution (algorithm) for the problem– determine if the solution is correct– implement the solution– test the solution implementation

Implementation

Not any more important than other steps, but probably the one you know the least about

We are using Java

Simple Java Program

public class Simple

{

public static void main(String[] args)

{

System.out.println(“Hello!”);

}

}

Simple Java Program

public class Simple

{

public static void main(String[] args)

{

System.out.println(“Hello!”);

}

}

All programs have to be part of a class

Simple Java Program

public class Simple

{

public static void main(String[] args)

{

System.out.println(“Hello!”);

}

}

Tells the computer where to start running the program

Simple Java Program

public class Simple

{

public static void main(String[] args)

{

System.out.println(“Hello!”);

}

}Braces indicate where different sections of the program begin and end

Simple Java Program

public class Simple

{

public static void main(String[] args)

{

System.out.println(“Hello!”);

}

} This tells the computer to print out “Hello!” (without quotes)

Simple Java Program

public class Simple

{

public static void main(String[] args)

{

System.out.println(“Hello!”);

}

} This indicates the end of a statement (one “step” in the program)

Simple Java Program

public class Simple

{

public static void main(String[] args)

{

System.out.println(“Hello!”);

}

}These are reserved words in Java. This means that Java uses them for a special purpose

Java Reserved Words

abstractbooleanbreakbytebyvaluecasecastcatchcharclassconstcontinue

defaultdodoubleelseextendsfalsefinalfinallyfloatforfuturegeneric

gotoifimplementsimportinnerinstanceofintinterfacelongnativenewnull

operatorouterpackageprivateprotectedpublicrestreturnshortstaticsuperswitch

synchronizedthisthrowthrowstransienttruetryvarvoidvolatilewhile

Simple Java Program

public class Simple

{

public static void main(String[] args)

{

System.out.println(“Hello!”);

}

}These are identifiers. These are words chosen by a programmer as names for things.

Java Identifiers

Can include letters, digits, $, and _ Must not start with a digit They are case sensitive

Simple Java Program

public class Simple

{

public static void main(String[] args)

{

System.out.println(“Hello!”);

}

}

Red identifiers were chosen by the author of this program

Blue identifiers were chosen by another programmer.

Identifier guidelines

You want to choose descriptive identifiers– things like a, b, dm, tu are bad– things like lastValue, $cost are good

If multiple words, start each new word with a capital letter

Comments

You can insert comments in the code that are completely ignored by the compiler

two styles:– /* everything in here is a comment */– // everything to the end of line is a comment

I was very bad and didn’t comment the program I showed before. Let’s fix that...

Simple Java Program

/* a very simple Java program */

public class Simple

{

// prints a message to the user

public static void main(String[] args)

{

System.out.println(“Hello!”);

}

}

Algorithms

A step-by-step description of a solution to a problem

In some sense the computer is stupid and needs very explicit instructions

Homework

Read Ch. 1 (there are more specific instructions on the web page, but it’s ok if you just read the whole thing)

Write an algorithm for making a peanut butter and jelly sandwich

top related