0% found this document useful (0 votes)
13 views

COMP 103 L1-Prog-CSIT - Stud

Programming

Uploaded by

comfortrosey831
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
13 views

COMP 103 L1-Prog-CSIT - Stud

Programming

Uploaded by

comfortrosey831
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 30

COMP 103 INTRODUCTION TO

PROGRAMMING

Charles Fomevor, DCSIT,CU


FROM SYSTEM DEV. TO
PROGRAMMING
• System development life cycle
• Life cycle of a program
• Problem statement
• Algorithms
• Moving from algorithm to code
• Moving from code to machine language Testing
programs
• Completing a program
• Selecting the right programming language
• Most popular programming languages

2
Information Systems
• System
– A collection of pieces working together to achieve
a common goal
• An information system includes
– Data
– People
– Procedures
– Hardware/Software
• System development life cycle (SDLC)
– An organized process (or set of steps) used to develop
systems in an orderly fashion

3
System Development Life Cycle

System Development Life Cycle

Problem/
Opportunity
Identification
Analysis
Design
Development &
Documentation Testing
&
Installation Maintenance
& Evaluation

4
Problem/Opportunity Identification
• The existing system is evaluated:
– Problems are defined
– New proposals are reviewed
– Decisions are made to proceed with the projects
– Document the process and relevant
problems/opportunities defined

5
Analysis
• A program specification is developed (goals
and objectives of the project)
• Feasibility assessment is performed
• User requirements are defined
• Analysts recommend a plan of action
• The plan is documented

© 2007 Prentice-Hall, Inc.


6
Design
• A detailed plan for programmers is developed
• Flowcharts and data-flow diagrams are used for the
current and proposed system
• Document the design
Data-flow diagram Flowchart

© 2007 Prentice-Hall, Inc.


7
Development & Documentation
• Actual programming takes place
• First phase of the program development life
cycle (PDLC)
• Development is documented
• User documentation is created

© 2007 Prentice-Hall, Inc.


8
Testing & Installation
• Testing the program for proper operation
• Installation of the program for use
• Document testing and results

© 2007 Prentice-Hall, Inc.


9
Maintenance & Evaluation
• Performance of the system is monitored
• Corrections and modifications to the program
are made
• Document maintenance procedures and
results.

© 2007 Prentice-Hall, Inc.


10
The Life Cycle of a Program
• Programming is the process of translating a
task into a series of commands a computer
will use to perform that task
• Programming involves:
– Identifying the parts of a task the computer can
perform
– Describing tasks in a specific and complete
manner
– Translating the tasks into a language that is
understood by the computer’s CPU
11
Program Development Life Cycle

Step 1
Describing the Problem

Step 2
Making a Plan

Step 3
Coding

Step 4
Debugging

Step 5
Finishing the Project

12
Step 1 : Describing the Problem
• The problem statement is:
– The starting point of programming
– A description of tasks the program is to accomplish
– How the program will execute the tasks
– Created through interaction between the programmer and
the user
• The program statement includes error handling and a
testing plan

© 2007 Prentice-Hall, Inc.


13
Parking Garage Example
PROGRAM GOAL: To compute the total pay for a fixed number of hours worked at a
parking garage.
INPUTS: Number of Hours Worked........................ a positive number
OUTPUTS: Total Pay Earned ................................... a positive number
PROCESS: The Total Pay Earned is computed as $7.32 per hour for the first
eight hours worked each day. Any hours worked beyond the first
eight are billed at $11.73 per hour.
ERROR The input Number of Hours Worked must be a positive real number.
HANDLING: If it is a negative number or other non-acceptable character, the
program will force the user to re-enter the information.
TESTING PLAN: INPUT OUTPUT NOTES
8 8*7.32 Testing positive input

3 3*7.32 Testing positive input

12 8*7.32 + 4*11.73 Testing overtime input

–6 Error message/ask user to Handling error


re-enter value
© 2007 Prentice-Hall, Inc.
14
Step 2: Developing an Algorithm
Wake Up

• Algorithm development:
– A set of specific, sequential steps Check wallet
for $
that describe what the computer
Do I have >
program must do Yes $80 No
– Complex algorithms include Head off Yes Do I have my
decision points: to cafe credit card?

• Binary (yes/no) No
Go get gas Yes
• Loop (repeating actions) Go to the ATM
for cash
– Visual tools used to track Buy
algorithm and decision points: textbook
Did I get $80
from the ATM?
Go to No
accounting
© 2007 Prentice-Hall, Inc. lecture
15
Flowchart and Pseudocode
Flowchart
Pseudocode
Bold terms show actions that are common in
programming, such as reading data, making
decisions, printing, and so on.

1. Ask the user how many hours they worked today


2. If the number of hours worked < = 8,
compute total pay without overtime
otherwise,
compute total pay with overtime pay
3. Print total pay

Underlined words are


information items that appear
repeatedly in the algorithm.

© 2007 Prentice-Hall, Inc.


16
Top-Down Design
• Problem is divided into a series of high-level tasks
• Detailed subtasks are created from high-level tasks

17
Object-Oriented Analysis
• Object-oriented analysis
• Classes (categories of
inputs) are identified
• Classes are defined by
information (data) and
actions (methods or
behaviors)
• Objects are defined by their
class, data and behavior
• Interaction between classes
is determined
• Existing classes can be used
for other projects

18
Step 3: Coding
• Coding is translating an algorithm into a
programming language
• Generations of programming languages

19
Compilation
• Compilation is the process of converting code
into machine language
• Compiler reads the source code and translates
it into machine language
• After compilation, programmers have an
executable program

© 2007 Prentice-Hall, Inc.


20
Interpreter
• Interpreter translates source code into a line by line
intermediate form
• Each line is executed before the next line is compiled
• Programmers do not have to wait for the entire
program to be recompiled each time they make a
change.
• Programmers can immediately see the results of
changes as they are making them in the code.

21
Step 4: Debugging
• Running a program to find errors is known as
debugging
• Sample inputs are used to determine runtime
(logic) errors
• Debugger: Tool that helps programmers locate
runtime errors

22
Step 5: Finishing the Project
• Users test the program (internal testing)
• Beta version released:
– Information collected about errors before final
revision
• Software updates (service packs):
– Problems found after commercial release
• Documentation created:
– User manuals
– User training

© 2007 Prentice-Hall, Inc.


23
Programming Languages
• Selecting the right language: Flash /
XML
– Space available
– Speed required
– Organizational resources available ASP / JSP

– Type of target application

JavaScript
Visual VBScript
Basic

C / C++ HTML
Java

24
Visual Basic
• Used to build Windows Sample Visual Basic
applications
• Object-oriented
language
• VB.NET is the current
version

25
C and C++
• C Sample C
– Developed for system
programmers
– Combines high and low
level programming
features
– Modern operating
systems written in C Sample C++
• C++
– Uses the same features as
C
– Includes object-oriented
design

.
26
Java
• Object-oriented features
• Large set of existing classes
• Architecture neutral
• Java applets: Small Java-based programs

27
Web Applications
• HTML/XHTML
– Hypertext Markup Language/Extensible Hypertext
Markup Language
– Not a true programming language
– Uses special symbols (tags) to control how Web
pages are viewed
• Extensible Markup Language (XML)
– Enables computers to efficiently transfer
information between Web sites
28
Web Applications
• JavaScript
– Used to make Web pages more visually appealing
and interactive
• VBScript
– A subset of Visual Basic
– Used to add interactivity to Web pages

29
Web Applications
• Active Server Pages (ASP) and Java Server
Pages (JSP)
– Adds interactivity capabilities to Web pages
– Translates user information into a request for
more information from a company’s computer
• Flash
– Enables elaborate animations to be created for
Web pages

30

You might also like