0% found this document useful (0 votes)
3 views24 pages

Introduction To Computer Programming

The document outlines the fundamentals of structured programming, including the importance of programming, the distinction between hardware and software, and the program development cycle. It covers key concepts such as algorithms, flowcharts, and the steps involved in writing and debugging code. The course aims to teach both the art and science of programming, with a focus on practical application using Java.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
3 views24 pages

Introduction To Computer Programming

The document outlines the fundamentals of structured programming, including the importance of programming, the distinction between hardware and software, and the program development cycle. It covers key concepts such as algorithms, flowcharts, and the steps involved in writing and debugging code. The course aims to teach both the art and science of programming, with a focus on practical application using Java.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 24

Structured Programming

Introduction to
Computers and
Programming
Mohamed
Almojtaba
Course Outline
.* Introduction to structure programming.
*structured programming languages.
*Generation of computer language
*Structured Programming
*Program design and development
*Algorithms and problem solving
*Algorithms and flowcharts
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
⚫ The 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.
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 Science
⚫ Every 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.
Hardware and Software
⚫ Programs 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 Unit
⚫ Main Memory
⚫ Secondary Storage Devices
⚫ Input Devices
⚫ Output Devices
Central Processing Unit
(CPU)
⚫ The CPU is the heart and brain of the
computer.
⚫ The CPU continuously does the following
things:
1. Fetch an instruction
2. Follow the instruction
3. Produce some resulting data
⚫ The CPU has two parts:
⚫ Control Unit
⚫ Coordinates the computer’s operations
⚫ Determines where to get the next instruction
⚫ Regulates the other major components of the computer
⚫ Arithmetic and Logic Unit (ALU)
⚫ Designed to perform mathematical operations
Main Memory
⚫ Main 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.
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:
⚫ Documents
⚫ Pictures
⚫ Whatever else you save on your computer
Input Devices
⚫ Input 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:
⚫ Keyboard
⚫ Mouse
⚫ Scanner
⚫ Digital Camera
⚫ Disk Drive
⚫ USB Drive
Output Devices
⚫ Output 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:
⚫ Monitor
⚫ Printer
⚫ Disk Drive
⚫ USB Drive
Softwar
eSoftware 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 Software
⚫ Programs that make the computer useful for the user
⚫ Solve specific problems or supply a service
⚫ Word processors, spreadsheets, databases, etc.
⚫ This is what we will be developing in this class.
Program Development Cycle
⚫ Many 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.
Develop an Algorithm
⚫ Imagine 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 pages
⚫ 6 pages = 2 stamps
⚫ 12 pages = 3 stamps
⚫…
⚫ Write an algorithm (the steps needed) to solve this
problem
Program Development Cycle –
Design (Continued)
⚫ Typically a program follows three general
steps
1. Input
2. Processing (Formulas)
3. Output
Develop an Algorithm, 2nd
⚫ OK, with this knowledge, try writing the algorithm
again
Attempt
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. Input
1. Read Input
2. Validate Input
2. Process
3. Output
Develop an Algorithm, 3rd
Attempt
⚫ OK, now with THAT information, try developing
the algorithm
⚫ One 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)
Programming
Tools
⚫ Flowcharts – 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.
Flow Charts
⚫ Flow 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.
Flow Charts
⚫ Processing - 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.
Stamps Flowchart
Start

Read
Sheet
s
Display Error No Is sheets
a
positive
Message whole
number?

Yes
Set Stamps =
Sheets/5

Round Stamps to
nearest whole number

Displa
y
Stamps

End
Hierarchy Chart
Postage Stamp
Program

Calculate
Input Display
Stamps
Stamps

Set Stamps = Round Stamps to


Read Sheets Validate Sheets
Sheets/5 the next whole
number
Program Development Cycle
3. 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.
Program Development Cycle
4. Testing and Debugging – Locate and remove any errors in
the
program
⚫ Testing is the process of finding errors in a program
An error in
⚫ ⚫ Debugging is athe
program is called
process a bug. errors in a program.
of removing
⚫ 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
1.or programmer to use or –understand
External Documentation the program
Material outside of the code files that describe
⚫ Two kinds of documentation: 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.

You might also like