Computer Programming
An Introduction to Programming
2
Programming
Lets discuss why you think you are in a
programming course!
Its a mistake?
You need to know as everything will be
computerized?
3
Programming
Everything involves computers now
You will need it for your job, whether as a user or as a manager
over-seeing IT; how to specify your requirements? (I often hear
I want a system that all I need to do is push one button and all
the following happens) and you need to not be "con" by your
programmers (I also often hear that my friends told me that it
takes 4 months to have the requirements, but in actual fact, it
may take 3 days!)
Many more scenarios, whether you are a lawyer, or otherwise.
Will you ever be programmers, a very big MAYBE. IBM (you
heard of them right?) use to hire all sorts and train them.
4
Computer Programming
Is it difficult?
No, when you choose this path, you already
programmed!
It's easy, so let's have fun for the next 3 months
5
Programmers
Programs are the directions given to computers
Programmers are the people who write computer
programs
Applications programmers write, maintain,
and/or customize programs that handle a specific task
Systems programmers write and maintain
programs that help the computer carry out its basic
operating functions
6
Programming languages are the languages
used to communicate with a computer
E.g., C++, C#, Java, Visual Basic, Perl, C, COBOL
Types
Machine languages
Assembly languages
High-level languages
7
Machine Languages
The first programmers had to write the program
instructions using only combinations of 0s and 1s
E.g., 00101 10001 10000
Instructions written in 0s and 1s are called
machine language or machine code
Each type of machine has its own language
Machine languages are the only way to communicate
directly with the computer
Programming in machine language is tedious and
error-prone; requires highly trained programmers
8
Assembly Languages
Assembly languages simplify programmers job
Can use mnemonics instead of 0s and 1s
E.g., ADD bx, ax
Assembly programs require an assembler to convert
instructions into machine code
Easier to write programs in assembly language
But still tedious and requires highly trained programmers
9
High-Level Languages
High-level languages allow programmer to use
English-like instructions
E.g., grossPay = hours * rate
High-level languages are more machine-independent
Programs written in a high-level language can be used on many
different types of computers
Compilers convert the instructions into 0s and 1s
Interpreters translate the program line by line as the
program is running
10
High-Level Languages (continued)
When writing a procedure-oriented program,
the programmer concentrates on the major tasks
that the program needs to perform
Examples: COBOL, BASIC, C
An object-oriented program requires
programmer to focus on the objects that the
program can use to accomplish its goal
Examples: C++, Visual Basic, Java, C#
11
Control Structures!
Programs are written using three basic structures
Sequence
Used in every program you write
Repetition
Used in most programs you write
Selection
Used in most programs you write
Called control structures or logic structures
12
The Sequence Structure
The sequence structure directs the computer
to process the program instructions, one after
another, in the order listed in the program
13
The Repetition Structure
Repetition structure: directs computer to
repeat one or more instructions until some
condition is met
Also called a loop or iteration
14
The Repetition Structure (continued)
What could you do if you dont know precisely
how many steps separate Rob from the chair?
15
The Selection Structure
Selection structure: makes a decision and
then takes an appropriate action based on that
decision
Also called the decision structure
16
The Selection Structure (continued)
17
Summary
Programs: step-by-step instructions that tell a computer how to
perform a task
Programmers use programming languages to communicate with the
computer
First programming languages were machine languages
High-level languages can be used to create procedure-oriented programs
or object-oriented programs
Algorithm: step-by-step instructions that accomplish a task (not
written in a programming language)
Algorithms contain one or more of the following control structures:
sequence, selection, and repetition
18
Summary (continued)
Sequence structure: process the instructions,
one after another, in the order listed
Repetition structure: repeat one or more
instructions until some condition is met
Selection structure: directs the computer to
make a decision, and then to select an
appropriate action based on that decision