Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
0% found this document useful (0 votes)
27 views

Program Development Cycle

This document provides information about a computer programming course, including: - The course timetable, which lists times and locations for theory, practical groups, and can be changed. - An overview of topics to be covered in the course capsule, including introduction to programming, flowcharts, pseudocode, C programming, and data structures. - The course aim, intended learning outcomes, and assessment strategy involving assignments, exams, and a mini project. - A Google Classroom link is provided for online resources.
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
27 views

Program Development Cycle

This document provides information about a computer programming course, including: - The course timetable, which lists times and locations for theory, practical groups, and can be changed. - An overview of topics to be covered in the course capsule, including introduction to programming, flowcharts, pseudocode, C programming, and data structures. - The course aim, intended learning outcomes, and assessment strategy involving assignments, exams, and a mini project. - A Google Classroom link is provided for online resources.
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 32

CMT 1208 –

COMPUTER PROGRAMMING
FOR TECHNOLOGY

CHAPTER 1 : INTRODUCTION TO PROGRAMMING


S.K.NISHADI PRASANGINI
TIME TABLE
Existing time Can change Students Location

Theory Mon 5.00- 6.00 Tue 3.00-4.00 All Convocation


Hall

Practical group Thu 4.00-6.00 --------------- BST first 70 CS Lab


1

Practical group Wed 3.00-5.00 --------------- BST and ENT ICT Lab
2 60

Practical group Mon 8.00-10.00 --------------- ENT others 60 ICT Lab


3
COURSE CAPSULE
• Introduction to Programming: Program development cycle, Listing major
tasks.
• Flowcharts and Design Structures: Basic design structures.
• Pseudocode: introduction to pseudocode, Advantages and disadvantages,
how to store and access data, Calculation symbols, Design structures in
pseudocode.
• Modules, Flags and Priming Read: Modularity, Flags and Switches, Prime
Reads and Loop Control;
• Introducing C: Structure of C program, Basic C commands, Loops, Symbolic
Constants, Character input and output, Logical AND & OR, Arrays and
Functions, Call by Reference and Call by Value.
COURSE CAPSULE (CONT..)

• Types, Operators and Expressions: Variables and Constants, Data Types,


Operators, Expressions.
• Control Flow: IF, Switches, Conditional Expressions, while, break and continue;
Functions and Program.
• Functions and Program Structure: Multi-file programs, Scoping, Recursion,
The C Pre-processor.
• Pointers and Arrays: Pointers and addresses, Organization of Memory,
Pointers and Arrays, Managing and manipulating memory, passing parameters
to C programs, Pointers to functions.
• Data Structures: Passing and returning structures, Pointers and structures,
Arrays of Structures
• Course Aim : To provide the basic knowledge and skills in computer programming.
• Course ILOs : At the end of the course, the student should be able to
Be able to implement, compile, test and run C programs.
Understand how to include arithmetic operators and constants in a C program.
Transform real world scenario into computer program
• Assessment Strategy:
Continuous assessment -40%
Assignment - 10%
Mid semester examination - 10%
Mini project - 20%

End semester examination -60%


Practical -20%
Theory -40%
Google Classroom Link : PP67YSF

Any Question ?
Contact : Nishadi Prasangini - nprasang@tec.rjt.ac.lk
INTRODUCTION
 What is a Software?
 What is a Program?
SOFTWARE
• A set of instructions that enables physical components of a
computer to work in a synchronize way is known as software .
• This set of instructions is often called a program.
• Computers cannot do any useful work without instructions from
software
COMPUTER SOFTWARE RELATIONSHIPS

User Interface Application Programs

User Interface Operating System

User Basic Input and Output Services (BIOS)


Interface • needed for a computer to boot up

Computer Hardware
WHAT IS A (PROGRAMMING)
LANGUAGE?

A sequence of instructions

An algorthm A program
(in human language) (in computer language)

• A program needs to be written in a language


• There are many programming languages
• Low-level, understandable by a computer
• High-level, needs a translator!
• C++ is a high level programming language
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.
PROGRAM DEVELOPMENT LIFE CYCLE
 The program development process is part of the software lifecycle,
characterized by the following stages:
 Requirements analysis
 Design
 Coding
 Testing
 Implementation and support
 Documentation
REQUIREMENTS ANALYSIS
• An accurate and complete set of client and user requirements
is produced to determine the characteristics of an acceptable
solution
REQUIREMENTS ANALYSIS
(CONT’D)
The requirements analysis specification will contain:

• the proposed system or solution, which has been agreed by the


client and developer
• a list of existing tools, new tools, required facilities and people
available for developing the solution
• a schedule for the next stages of the project, including the
deliverables for each stage
DESIGN STAGE
• Use of proper design techniques to illustrate the program specification in
a systematic way
• Representing the tasks required in the program specification showing all
input, processing and output requirements
• Examples :
• Flowchart
• Pseudocode
• Hierarchy Charts
CODING STAGE
• Produce the programs that will make up the system
• Translation of design into programming language code
e.g. C, C++, Pascal, Qbasic
• Complete when all code is written and documented, and compiles
without any errors
TESTING STAGE
• Debugging – Done by Development Team –
The task of finding and removing errors/bugs from the program.
• Testing – Done by Testing Team –
The task of locating and identifying of bugs/errors included
TESTING STAGE (CONT’D)
• When the program is completed and all separate modules have been
tested, a full test of the program is performed
• any errors in the program will be corrected and the test repeated
• Types of Tests:
• Alpha test
• test of the finished application completed internally
• Beta test
• tested externally
IMPLEMENTATION AND
SUPPORT
• When all the previous stages have been completed satisfactorily, the
system is ready for implementation
• Program is transferred to the user’s machine and made to work.
• 3 strategies:
• The new program may run concurrently with the old one
• it may completely replaced the old one or
• It may phased in gradually
IMPLEMENTATION AND SUPPORT (CONT’D)

• Once the program is installed and operated, it will be monitored for


some time to ensure that program is error-free. –
Support/Maintenance Stage
• Maintenance includes
error fixing,
updates and
modifications.
DOCUMENTATION STAGE
• All processes in all stages during the system development must be
documented/written down.
• This documentation is vital for future reference/for future maintenance
of the program.
CHARACTERISTICS OF A GOOD PROGRAM
• Correctness – fulfilling user requirements
• Reliability – it produces correct output and validates input data to avoid
program crash
• Portability – easily installed from one machine to another with minimal
modification
• Maintainability – easily followed and modified, not only to the
programmer who wrote it
• Readability – clearly documented
• Use of resources – fast in processing, uses minimum storage space and
able to run on existing hardware.
TYPES OF ERRORS
 Syntax – error relating to the programming language used
 Logical – error in programming logic
 Run-time/execution – error that appears after you compile and run
your code
SUMMARY
 Program Development Life Cycle:  Types of Errors
 Requirements analysis  Syntax
 Design  Logical
 Coding  Run-Time
 Testing
 Implementation and support
 Documentation
Levels of programming language
• Machine binary language: unintelligible
• Low-level assembly language
• Mnemonic names for machine operations
• Explicit manipulation of memory addresses
• Machine-dependent

• High-level language
• Readable
• Machine-independent
AN EXAMPLE:
Machine binary language Low-level assembly High-level
HOW TO TRANSLATE?
A program written in high-level programming language
(for example, C++ program)

COMPILER (for example, Visual C++)

A low-level (machine language) program that is


understandable by a computer (for example, a PC)

EXAMPLES OF COMPILERS:
• MICROSOFT VISUAL C++, ECLIPSE, G++
TRANSLATION SYSTEM

• Machine binary language: unintelligible


• Low-level assembly language
• Mnemonic names for machine operations
• Explicit manipulation of memory addresses
• Machine-dependent
• High-level language
• Readable
• Machine-independent
SOFTWARE DEVELOPMENT
• Major activities
Editing (writing the program)
Compiling (creates .Obj file)
Linking with compiled files (creates .Exe file)
S ourc e Program
• Object files
C om pile
• Library modules
Library routines
Loading and executing E dit Link

Testing the program O ther objec t files


Think Load

E xecute
INTEGRATED
DEVELOPMENT ENVIRONMENTS
• Combine all of the capabilities that a programmer would want
while developing software (VC++ 2008, eclipse)
Editor
Compiler
Linker
Loader
Debugger
Viewer
OUR FIRST PROGRAM
// a simple program
#include <iostream> Comments
using namespace std;
int main() {
Function cout << "Hello world!" << endl;
named return 0;
main() }
indicates
start of
program

Ends execution Print


of main() which ends program statement

You might also like