Top Banner
CS0007: Introduction to Computer Programming Introduction to Computers and Programming
23

Introduction to Computers and Programming

Feb 25, 2016

Download

Documents

Jovita Manalo

Introduction to Computers and Programming. CS0007: Introduction to Computer Programming. Programming – Why?. Computers are used for many different purposes in many different situations. But, how can they be so versatile? Answer: They can be programmed - PowerPoint PPT Presentation
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Introduction to Computers and Programming

CS0007: Introduction to Computer Programming

Introduction to Computers and Programming

Page 2: Introduction to Computers and Programming

Programming – Why?Computers are used for many different purposes in

many different situations.But, how can they be so versatile?

Answer: They can be programmedThe ability for a computer to be programmed allows

it to do whatever their programs tell them what to do.

A program is a set of instructions that tell a computer what to do.

A computer cannot do anything unless it has a program to tell it what to do.

In this class, we will focus on writing these programs.

Page 3: Introduction to Computers and Programming

Programming – What?Programs are used to operate the components of a

computer, solve problems or satisfy a want/need.How long will it take me to get home if I drive x miles per

hour?I want to be able to tell my friends what I am doing right now.

Computer Programming is both an Art and a ScienceEvery aspect of a program must be carefully designed

As an art, programming takes creativity and problem solving.There is often no one correct way to solve a problem.

As a science, there are formal and proven methods to go about creating a programming.

In this course, you will learn both the art and science of programming.

Page 4: Introduction to Computers and Programming

Hardware and SoftwarePrograms can also be called software.

Software refers to the computer programs that a computer uses to complete a task.

Hardware refers to the physical components that a computer is made of. A computer is not one device, but a system of devices

working in tandem.Each device plays a part.Major components:

Central Processing UnitMain MemorySecondary Storage Devices Input DevicesOutput Devices

Page 5: Introduction to Computers and Programming

Central Processing Unit (CPU)The CPU is the heart and brain of the computer.The CPU continuously does the following things:

1. Fetch an instruction2. Follow the instruction3. Produce some resulting data

The CPU has two parts:Control Unit

Coordinates the computer’s operationsDetermines where to get the next instructionRegulates the other major components of the computer

Arithmetic and Logic Unit (ALU)Designed to perform mathematical operations

Page 6: Introduction to Computers and Programming

Main MemoryMain memory holds information that the CPU needs to access

quickly.Namely, the instructions to be executed.

When a program is running, some or all of its instructions are in main memory.

Memory is divided into sections called bytes that hold equal amount of data.

Each section is made up of 8 bits.A Bit is the most basic unit of information a computer can hold. It is

a switch that is either on (1) or off (0)Each byte is assigned and can be accessed by its address.

A Memory Address is a unique identifying number associated with a byte in memory.

Main memory typically is volatile.Volatile Memory – is memory that when it loses power, the contents

are erased.

Page 7: Introduction to Computers and Programming

Secondary Storage Secondary Storage is memory that can hold data for a long period

of time. Programs are usually stored in secondary storage and loaded into

main memory as needed.This forms a hierarchy typically called the memory hierarchy.

Common forms of secondary storage:Hard Drive

Disk Drive Solid State Drive

Removable Storage Floppy Disk CD-ROM USB Drives

Other files can be stored in secondary storage:DocumentsPicturesWhatever else you save on your computer

Page 8: Introduction to Computers and Programming

Input DevicesInput is any data the computer collects from

the outside world.An Input Device is anything that collects data

and sends it to the computer.Common Input Devices:

KeyboardMouseScannerDigital CameraDisk DriveUSB Drive

Page 9: Introduction to Computers and Programming

Output DevicesOutput is any data the computer sends to

the outside world.An Output Device formats data and

presents it to the outside world.Common Output Devices:

MonitorPrinterDisk DriveUSB Drive

Page 10: Introduction to Computers and Programming

SoftwareSoftware refers to the programs that run on a

computer.Two main categories (for this class):

Operating System (OS)A set of programs that manages a computer’s hardware

devices and controls their processes.Most modern operating systems are capable of running

multiple programs at once.UNIX, Linux, Mac OS X, and Windows are examples

Application SoftwarePrograms that make the computer useful for the userSolve specific problems or supply a serviceWord processors, spreadsheets, databases, etc.This is what we will be developing in this class.

Page 11: Introduction to Computers and Programming

Program Development CycleMany programmers follow a sequence of Steps to

create their programs.1. Analyze – Define the Problem

Make sure that you understand what the program should do. What should the user be able to enter? How? How does the program come up with an answer? What does the program output? How?

User – a person who uses a computer program. End User – the user that the program was made for.

2. Design – Plan a Solution for the Problem Develop a PRECISE sequence of steps to solve the

problem An algorithm is a precise sequence of steps to solve a problem.

Page 12: Introduction to Computers and Programming

Develop an AlgorithmImagine you want a program that tells a

user how many stamps they need in order to mail a certain number of pages.

You need one stamp for every 5 pages6 pages = 2 stamps12 pages = 3 stamps…

Write an algorithm (the steps needed) to solve this problem

Page 13: Introduction to Computers and Programming

Program Development Cycle – Design (Continued)Typically a program follows three general

steps1. Input2. Processing (Formulas)3. Output

Page 14: Introduction to Computers and Programming

Develop an Algorithm, 2nd AttemptOK, with this knowledge, try writing the

algorithm again

Page 15: Introduction to Computers and Programming

Program Development Cycle – Design (Continued) Are those three steps enough? What about if the user enters “Banana” instead of a number of sheets? The program does not know how to find the number of stamps required

to mail “Banana” number of sheets In order for the program to run without crashing, our algorithm must

make sure that the user inputs some valid data.There are two main ways of doing this:

1. Prevention – Making sure that the user is not physically able to enter in invalid data.2. Validation – Allowing the user to enter invalid data, but checking it to make sure it is

valid before processing. So, there are really 4 general steps most programs follow:

1. Input1. Read Input2. Validate Input

2. Process3. Output

Page 16: Introduction to Computers and Programming

Develop an Algorithm, 3rd AttemptOK, now with THAT information, try developing

the algorithmOne good algorithm developed could look like

this:1. Request the number of sheets of paper from the

user; call it Sheets (Input/Read)2. Make sure Sheets is a positive whole number

(Input/Validation)3. Divide Sheets by 5 (Processing)4. Round the result from step 3 up to the highest

whole number; call it Stamps (Processing)5. Reply with the number Stamps (Output)

Page 17: Introduction to Computers and Programming

Programming ToolsFlowcharts – A chart that consists of symbols

connected by arrows. Within each symbol is a phrase presenting the activity at that step. The shape of the symbol indicates the type of operation that is to occur.

Hierarchy Charts – A chart that shows the overall program structure. These charts describe what each part, or module, does and how they are related. These modules intentionally omit details of how they work.

Pseudocode – an abbreviated plain English version of actual computer code. Kind of a mix between English and code. THERE IS NO OFFICIAL SYNTAX TO PSEUDOCODE.

Page 18: Introduction to Computers and Programming

Flow ChartsFlow Line - indicates the flow of logic

Terminal – indicates the start or end of a task

Input/Output – used for input or output operations. What is to be input or output should be in the figure.

Page 19: Introduction to Computers and Programming

Flow ChartsProcessing - used to show a processing

step. The instructions are displayed in the figure.

Decision – used to show when a decision needs to be made. Lines for yes and no come out of it. The question is displayed in the figure.

Connector – Used to join flow lines.

Page 20: Introduction to Computers and Programming

Stamps Flowchart

Yes

No

Start

Read Sheets

Is sheets a positive

whole number?

Display Error

Message

Set Stamps = Sheets/5Round Stamps

to nearest whole number

Display Stamps

End

Page 21: Introduction to Computers and Programming

Hierarchy ChartPostage Stamp

Program

Calculate Stamps

Display StampsInput

Read Sheets

Validate Sheets

Set Stamps = Sheets/5

Round Stamps to the next

whole number

Page 22: Introduction to Computers and Programming

Program Development Cycle3. Write the Code – Implement a solution

The instructions in a programming language collectively called code.

Your code should be a translation of your algorithm developed into the programming language.

In this class we use Java, but there are many other programming languages: C, C++, C#, Ruby, Python, Visual Basic, etc.

This is the major focus of this course, but note that you need to be able to think algorithmically in order to do this.

Meaning, you need to be able to logically solve the problem in order to write a program for it.

Page 23: Introduction to Computers and Programming

Program Development Cycle4. Testing and Debugging – Locate and remove any errors in the

program Testing is the process of finding errors in a program Debugging is the process of removing errors in a program.

An error in a program is called a bug. We will talk more specifically about the kinds of errors that can

occur in a program once we start programming.5. Complete All Documentation – Organize the material that

describes the program. Documentation is any material whose purpose is to allow another

person or programmer to use or understand the program Two kinds of documentation:

1. External Documentation – Material outside of the code files that describe the program.

2. Internal Documentation – Lines inside of a code file that do nothing except describe details of the program. In Java, these are called comments.