SlideShare a Scribd company logo
1 of 46
Download to read offline
Diploma in Software Engineering
PROGRAMMING
DESIGN
TECHNIQUES AND
PROGRAMMING
DSE004
Intended Learning
Outcomes
Explain the evolution of programming
languages and concepts
Demonstrate the different types
of programming techniques and
their elements
Distinguish the structured
programming and object-
oriented programming
Apply deferent error handling
techniques
By the end of this course module,
students should be able to:
30 Hours
Practical Hours
60 hours
Lecture Hours
Essay type question paper
End Semester Evaluation
Continuous Assessments (3)
Practical Assignments (1)
Continuous Evaluation
INTRODUCTION TO
PROGRAMMING
Programming Design Techniques and Programming
Hasanka Wijesinghe MIT, B.Sc
Content
What is programming language?
What is a computer program?
Computer programming
types
Flow charts
Pseudo codes
A program is a set of instructions in a
programming language given to a
computer to perform some useful task
What is a computer program?
• A programming language is a formalized set
of rules, symbols, and syntax used to create
instructions or code that can be executed by a
computer.
• It enables humans to communicate with
computers by providing a structured way to
express algorithms, logic, and data
manipulations, which are then translated into
machine-readable instructions for
computation.
What is programming language?
Ex: Java, PHP, C++, Python,
HTML
Why do we need to learn a Programming language?
• A computer is just a machine. It can't do
anything by itself; it needs our guidance
• So in order to be able to make it work we
need to give it specific instructions.
• Programming Language types
⚬ Machine Language / Machine Code
⚬ Low-level Language
⚬ High-level Language
Machine Language / Machine Code
• Machine language is the lowest-level
programming language and consists of
binary code, which directly corresponds to
the machine code instructions executed by
a computer's central processing unit (CPU).
• Each instruction is represented by a series
of binary digits, which makes it difficult for
humans to read and write directly.
Low-level Language / Assembly Language
• Assembly language is a low-level
programming language that uses
mnemonics (abbreviations) to represent
individual machine code instructions.
• It is more human-readable than machine
language but still closely tied to the
computer's architecture.
• Assembly language programs need to be
translated into machine code through an
assembler.
High-level Language
• High-level programming languages are
languages designed to be more user-
friendly
• Abstracted from the underlying hardware
architecture
• These languages are closer to human
language than machine code or low-level
languages.
• High-level languages need to be translated
into machine code before they can be
executed by the computer. For it use
⚬ Interpreter
⚬ Compiler
• Translation Process
⚬ A compiler translates the entire source
code of a program into machine code or
an intermediate code in a single batch.
This results in the creation of an
executable file.
• Execution
⚬ Separate Execution: The compiled
program can be executed repeatedly
without the need for recompilation
unless changes are made to the source
code.
Compiler
• Performance
⚬ Compilers often perform various
optimizations during the compilation
process, aiming to generate efficient
machine code.
• Translation Process
⚬ Line-by-Line Execution: translates and
executes the source code line by line or
statement by statement, without
generating an independent executable
file.
• Execution
⚬ Immediate Execution: The program is
executed immediately, and changes to
the source code take effect without the
need for a separate compilation step.
Interpreter
• Performance
⚬ Interpreted programs may be slower
than their compiled counterparts
because of the real-time translation
during execution
Software Development
Life Cycle
(SDLC)
Planning
01
02
03
04
Analysis
Design
Implementation
05
06
07
Testing
Deployment
Maintenance and Support
• This phase lays the foundation for the entire
development process and ensures that the
project aligns with organizational goals and
client expectations
• Main activities of this phase:
⚬ Understanding Requirements
⚬ Defining Project Scope
⚬ Setting Objectives and Goals
⚬ Resource Planning
⚬ Timeline and Milestone Planning
⚬ Risk Assessment
⚬ Communication Plan
Planning
• The primary goal of this phase is to define
what the software should accomplish,
laying the groundwork for the subsequent
design and development stages
• A critical stage where the development
team works closely with stakeholders to
understand and document the
requirements of the software system
Analysis
• Main activities of this stage:
⚬ Requirement gathering analysis
⚬ Requirement Validation
⚬ Data Modeling
⚬ Feasibility Study
• The primary goal of the Design phase is to create a
comprehensive and organized plan that guides the
development team in implementing the software
solution.
• Key aspects of the Design phase
⚬ System Architecture Design
⚬ Database Design
⚬ UI Design
⚬ Programming and Implementation Guidelines
⚬ Security Design
⚬ Integration Design
⚬ Error Handling and Logging
⚬ Performance Design
Design
• The main goal of the Implementation phase is
to bring the design to life and create a
functional software product.
Implementation
• Testing helps identify and address defects,
bugs, and other issues before the software
is deployed to production.
• The testing phase typically involves
several levels and types of testing to
comprehensively evaluate different
aspects of the software.
⚬ Unit Testing
⚬ Integration Testing
⚬ System Testing
⚬ Performance Testing
⚬ Regression Testing
⚬ User Interface (UI) Testing
⚬ Compatibility Testing
Testing
• In this stage, finalized and tested software
is released for use in the production
environment.
• This phase includes several key activities
to ensure a smooth transition from
development to live operation.
⚬ Release Planning
⚬ Environment Setup
⚬ Training
⚬ Backup and Rollback Plan
⚬ Post-Deployment Testing
Deployment
• This phase recognizes that software
systems need to evolve, adapt to
changing requirements, and address
issues that may arise during operation.
• Key activities of this stage
⚬ Bug Fixing
⚬ Updates and Enhancements
⚬ Security Updates
⚬ User Support
⚬ Version Control
Maintenance and Support
• Waterfall Model
• Iterative Model
• Spiral Model
• V-Model (Verification and Validation Model)
• Incremental Model
• Agile Model
SDLC Models
• Waterfall Model
• Iterative Model
• Spiral Model
• V-Model (Verification and Validation Model)
• Incremental Model
• Agile Model
SDLC Models
• Waterfall Model
• Iterative Model
• Spiral Model
• V-Model (Verification and Validation Model)
• Incremental Model
• Agile Model
SDLC Models
• Waterfall Model
• Iterative Model
• Spiral Model
• V-Model (Verification and Validation Model)
• Incremental Model
• Agile Model
SDLC Models
• Waterfall Model
• Iterative Model
• Spiral Model
• V-Model (Verification and Validation Model)
• Incremental Model
• Agile Model
SDLC Models
• Waterfall Model
• Iterative Model
• Spiral Model
• V-Model (Verification and Validation Model)
• Incremental Model
• Agile Model
SDLC Models
• Waterfall Model
• Iterative Model
• Spiral Model
• V-Model (Verification and Validation Model)
• Incremental Model
• Agile Model
SDLC Models
• Waterfall Model
• Iterative Model
• Spiral Model
• V-Model (Verification and Validation Model)
• Incremental Model
• Agile Model
SDLC Models
• Waterfall Model
• Iterative Model
• Spiral Model
• V-Model (Verification and Validation Model)
• Incremental Model
• Agile Model
SDLC Models
• Waterfall Model
• Iterative Model
• Spiral Mo
• V-Model
• Incremental Model
• Agile Model
SDLC Models
• Waterfall Model
• Iterative Model
• Spiral Mo
• V-Model
• Incremental Model
• Agile Model
SDLC Models
• Waterfall Model
• Iterative Model
• Spiral Model
• V-Model (Verification and Validation Model)
• Incremental Model
• Agile Model
SDLC Models
• Waterfall Model
• Iterative Model
• Spiral Model
• V-Model (Verification and Validation Model)
• Incremental Model
• Agile Model
SDLC Models
• Project Manager
• Product Owner
• Scrum Master
• Business Analyst
• Architect
• Developers/Programmers
• Quality Assurance (QA) Engineer/Tester
• User Interface (UI) and User Experience (UX) Designers
• Database Administrator (DBA)
Software Development Team
• An algorithm is a step-by-step procedure or a
set of rules designed to perform a specific task
or solve a particular problem.
• It is essentially a well-defined sequence of
instructions that, when executed, achieves a
desired outcome.
• Algorithms serve as the foundation for writing
computer programs and are crucial for solving
problems, processing data, and performing
various computational tasks.
What is an algorithm?
FLOWCHARTS
Flowchart Symbols
PSEUDO CODE
• Pseudocode is a way to represent an
algorithm or a program using a mix of
natural language and programming
language-like constructs
• It's not tied to any specific
programming language, but it helps to
convey the logic and structure of the
code
What is pseudo code?
Start
Input a
a = 1
if a<=5
print a
a = a+1
else
break
End
THANK YOU!

More Related Content

Similar to Introduction to computer programming.pdf

ITFT - Software development life cycle
ITFT  -   Software development life cycleITFT  -   Software development life cycle
ITFT - Software development life cycleShruti Kunwar
 
Intoduction to software engineering part 2
Intoduction to software engineering part 2Intoduction to software engineering part 2
Intoduction to software engineering part 2Rupesh Vaishnav
 
Enter the mind of an Agile Developer
Enter the mind of an Agile DeveloperEnter the mind of an Agile Developer
Enter the mind of an Agile DeveloperBSGAfrica
 
softwaredevelopmentprocess
softwaredevelopmentprocesssoftwaredevelopmentprocess
softwaredevelopmentprocessAnilGhadge6
 
unit 1.pptx regasts sthatbabs shshsbsvsbsh
unit 1.pptx regasts sthatbabs shshsbsvsbshunit 1.pptx regasts sthatbabs shshsbsvsbsh
unit 1.pptx regasts sthatbabs shshsbsvsbshsagarjsicg
 
Building environment of #UserDevOps and not only DevOps
Building environment of #UserDevOps and not only DevOpsBuilding environment of #UserDevOps and not only DevOps
Building environment of #UserDevOps and not only DevOpsRajnish Chauhan
 
Software development life cycle
Software development life cycleSoftware development life cycle
Software development life cycleshubhamkumar2004
 
Capability Building for Cyber Defense: Software Walk through and Screening
Capability Building for Cyber Defense: Software Walk through and Screening Capability Building for Cyber Defense: Software Walk through and Screening
Capability Building for Cyber Defense: Software Walk through and Screening Maven Logix
 
Session2.ppt
Session2.pptSession2.ppt
Session2.pptMehuk1
 

Similar to Introduction to computer programming.pdf (20)

ITFT - Software development life cycle
ITFT  -   Software development life cycleITFT  -   Software development life cycle
ITFT - Software development life cycle
 
S.E Lec #1.pptx
S.E Lec #1.pptxS.E Lec #1.pptx
S.E Lec #1.pptx
 
Intoduction to software engineering part 2
Intoduction to software engineering part 2Intoduction to software engineering part 2
Intoduction to software engineering part 2
 
Enter the mind of an Agile Developer
Enter the mind of an Agile DeveloperEnter the mind of an Agile Developer
Enter the mind of an Agile Developer
 
Coding - SDLC Model
Coding - SDLC ModelCoding - SDLC Model
Coding - SDLC Model
 
softwaredevelopmentprocess
softwaredevelopmentprocesssoftwaredevelopmentprocess
softwaredevelopmentprocess
 
Manual Software testing - software development life cycle
Manual Software testing - software development life cycleManual Software testing - software development life cycle
Manual Software testing - software development life cycle
 
Requirements engineering
Requirements engineeringRequirements engineering
Requirements engineering
 
Software testing
Software testingSoftware testing
Software testing
 
Software Development
Software DevelopmentSoftware Development
Software Development
 
unit 1.pptx regasts sthatbabs shshsbsvsbsh
unit 1.pptx regasts sthatbabs shshsbsvsbshunit 1.pptx regasts sthatbabs shshsbsvsbsh
unit 1.pptx regasts sthatbabs shshsbsvsbsh
 
Building environment of #UserDevOps and not only DevOps
Building environment of #UserDevOps and not only DevOpsBuilding environment of #UserDevOps and not only DevOps
Building environment of #UserDevOps and not only DevOps
 
Cnpm bkdn
Cnpm bkdnCnpm bkdn
Cnpm bkdn
 
Software development life cycle
Software development life cycleSoftware development life cycle
Software development life cycle
 
Capability Building for Cyber Defense: Software Walk through and Screening
Capability Building for Cyber Defense: Software Walk through and Screening Capability Building for Cyber Defense: Software Walk through and Screening
Capability Building for Cyber Defense: Software Walk through and Screening
 
Session2.ppt
Session2.pptSession2.ppt
Session2.ppt
 
ddd.ppt
ddd.pptddd.ppt
ddd.ppt
 
Session2.pptx.ppt
Session2.pptx.pptSession2.pptx.ppt
Session2.pptx.ppt
 
SDLC.PPT
SDLC.PPTSDLC.PPT
SDLC.PPT
 
Session2.ppt
Session2.pptSession2.ppt
Session2.ppt
 

More from HasankaNayanjith

Object Oriented Programming CONCEPTS.pdf
Object Oriented Programming CONCEPTS.pdfObject Oriented Programming CONCEPTS.pdf
Object Oriented Programming CONCEPTS.pdfHasankaNayanjith
 
Introduction to Servers and Server Types.pptx
Introduction to Servers and Server Types.pptxIntroduction to Servers and Server Types.pptx
Introduction to Servers and Server Types.pptxHasankaNayanjith
 
Introduction to Servers - Computer network.pptx
Introduction to Servers - Computer network.pptxIntroduction to Servers - Computer network.pptx
Introduction to Servers - Computer network.pptxHasankaNayanjith
 
APPLICATIONS OF NETWORKS, Computer Network
APPLICATIONS OF NETWORKS, Computer NetworkAPPLICATIONS OF NETWORKS, Computer Network
APPLICATIONS OF NETWORKS, Computer NetworkHasankaNayanjith
 

More from HasankaNayanjith (6)

Object Oriented Programming CONCEPTS.pdf
Object Oriented Programming CONCEPTS.pdfObject Oriented Programming CONCEPTS.pdf
Object Oriented Programming CONCEPTS.pdf
 
Introduction to Servers and Server Types.pptx
Introduction to Servers and Server Types.pptxIntroduction to Servers and Server Types.pptx
Introduction to Servers and Server Types.pptx
 
Introduction to Servers - Computer network.pptx
Introduction to Servers - Computer network.pptxIntroduction to Servers - Computer network.pptx
Introduction to Servers - Computer network.pptx
 
APPLICATIONS OF NETWORKS, Computer Network
APPLICATIONS OF NETWORKS, Computer NetworkAPPLICATIONS OF NETWORKS, Computer Network
APPLICATIONS OF NETWORKS, Computer Network
 
Lec 09 SQL - 3.pptx
Lec 09 SQL - 3.pptxLec 09 SQL - 3.pptx
Lec 09 SQL - 3.pptx
 
Lec 07 SQL - 1.pptx
Lec 07 SQL - 1.pptxLec 07 SQL - 1.pptx
Lec 07 SQL - 1.pptx
 

Recently uploaded

Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...OnePlan Solutions
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样umasea
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Andreas Granig
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - InfographicHr365.us smith
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackVICTOR MAESTRE RAMIREZ
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideChristina Lin
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEEVICTOR MAESTRE RAMIREZ
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureDinusha Kumarasiri
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfAlina Yurenko
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptkotipi9215
 
The Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfThe Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfPower Karaoke
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)OPEN KNOWLEDGE GmbH
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024StefanoLambiase
 
software engineering Chapter 5 System modeling.pptx
software engineering Chapter 5 System modeling.pptxsoftware engineering Chapter 5 System modeling.pptx
software engineering Chapter 5 System modeling.pptxnada99848
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEOrtus Solutions, Corp
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantAxelRicardoTrocheRiq
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based projectAnoyGreter
 

Recently uploaded (20)

Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - Infographic
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStack
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEE
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with Azure
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.ppt
 
The Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfThe Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdf
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
 
software engineering Chapter 5 System modeling.pptx
software engineering Chapter 5 System modeling.pptxsoftware engineering Chapter 5 System modeling.pptx
software engineering Chapter 5 System modeling.pptx
 
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service Consultant
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based project
 

Introduction to computer programming.pdf

  • 1. Diploma in Software Engineering PROGRAMMING DESIGN TECHNIQUES AND PROGRAMMING DSE004
  • 2. Intended Learning Outcomes Explain the evolution of programming languages and concepts Demonstrate the different types of programming techniques and their elements Distinguish the structured programming and object- oriented programming Apply deferent error handling techniques By the end of this course module, students should be able to:
  • 3. 30 Hours Practical Hours 60 hours Lecture Hours
  • 4. Essay type question paper End Semester Evaluation Continuous Assessments (3) Practical Assignments (1) Continuous Evaluation
  • 5. INTRODUCTION TO PROGRAMMING Programming Design Techniques and Programming Hasanka Wijesinghe MIT, B.Sc
  • 6. Content What is programming language? What is a computer program? Computer programming types Flow charts Pseudo codes
  • 7. A program is a set of instructions in a programming language given to a computer to perform some useful task What is a computer program?
  • 8. • A programming language is a formalized set of rules, symbols, and syntax used to create instructions or code that can be executed by a computer. • It enables humans to communicate with computers by providing a structured way to express algorithms, logic, and data manipulations, which are then translated into machine-readable instructions for computation. What is programming language? Ex: Java, PHP, C++, Python, HTML
  • 9. Why do we need to learn a Programming language? • A computer is just a machine. It can't do anything by itself; it needs our guidance • So in order to be able to make it work we need to give it specific instructions. • Programming Language types ⚬ Machine Language / Machine Code ⚬ Low-level Language ⚬ High-level Language
  • 10.
  • 11. Machine Language / Machine Code • Machine language is the lowest-level programming language and consists of binary code, which directly corresponds to the machine code instructions executed by a computer's central processing unit (CPU). • Each instruction is represented by a series of binary digits, which makes it difficult for humans to read and write directly.
  • 12. Low-level Language / Assembly Language • Assembly language is a low-level programming language that uses mnemonics (abbreviations) to represent individual machine code instructions. • It is more human-readable than machine language but still closely tied to the computer's architecture. • Assembly language programs need to be translated into machine code through an assembler.
  • 13. High-level Language • High-level programming languages are languages designed to be more user- friendly • Abstracted from the underlying hardware architecture • These languages are closer to human language than machine code or low-level languages. • High-level languages need to be translated into machine code before they can be executed by the computer. For it use ⚬ Interpreter ⚬ Compiler
  • 14. • Translation Process ⚬ A compiler translates the entire source code of a program into machine code or an intermediate code in a single batch. This results in the creation of an executable file. • Execution ⚬ Separate Execution: The compiled program can be executed repeatedly without the need for recompilation unless changes are made to the source code. Compiler • Performance ⚬ Compilers often perform various optimizations during the compilation process, aiming to generate efficient machine code.
  • 15. • Translation Process ⚬ Line-by-Line Execution: translates and executes the source code line by line or statement by statement, without generating an independent executable file. • Execution ⚬ Immediate Execution: The program is executed immediately, and changes to the source code take effect without the need for a separate compilation step. Interpreter • Performance ⚬ Interpreted programs may be slower than their compiled counterparts because of the real-time translation during execution
  • 16.
  • 18. • This phase lays the foundation for the entire development process and ensures that the project aligns with organizational goals and client expectations • Main activities of this phase: ⚬ Understanding Requirements ⚬ Defining Project Scope ⚬ Setting Objectives and Goals ⚬ Resource Planning ⚬ Timeline and Milestone Planning ⚬ Risk Assessment ⚬ Communication Plan Planning
  • 19. • The primary goal of this phase is to define what the software should accomplish, laying the groundwork for the subsequent design and development stages • A critical stage where the development team works closely with stakeholders to understand and document the requirements of the software system Analysis • Main activities of this stage: ⚬ Requirement gathering analysis ⚬ Requirement Validation ⚬ Data Modeling ⚬ Feasibility Study
  • 20. • The primary goal of the Design phase is to create a comprehensive and organized plan that guides the development team in implementing the software solution. • Key aspects of the Design phase ⚬ System Architecture Design ⚬ Database Design ⚬ UI Design ⚬ Programming and Implementation Guidelines ⚬ Security Design ⚬ Integration Design ⚬ Error Handling and Logging ⚬ Performance Design Design
  • 21. • The main goal of the Implementation phase is to bring the design to life and create a functional software product. Implementation
  • 22. • Testing helps identify and address defects, bugs, and other issues before the software is deployed to production. • The testing phase typically involves several levels and types of testing to comprehensively evaluate different aspects of the software. ⚬ Unit Testing ⚬ Integration Testing ⚬ System Testing ⚬ Performance Testing ⚬ Regression Testing ⚬ User Interface (UI) Testing ⚬ Compatibility Testing Testing
  • 23. • In this stage, finalized and tested software is released for use in the production environment. • This phase includes several key activities to ensure a smooth transition from development to live operation. ⚬ Release Planning ⚬ Environment Setup ⚬ Training ⚬ Backup and Rollback Plan ⚬ Post-Deployment Testing Deployment
  • 24. • This phase recognizes that software systems need to evolve, adapt to changing requirements, and address issues that may arise during operation. • Key activities of this stage ⚬ Bug Fixing ⚬ Updates and Enhancements ⚬ Security Updates ⚬ User Support ⚬ Version Control Maintenance and Support
  • 25. • Waterfall Model • Iterative Model • Spiral Model • V-Model (Verification and Validation Model) • Incremental Model • Agile Model SDLC Models
  • 26. • Waterfall Model • Iterative Model • Spiral Model • V-Model (Verification and Validation Model) • Incremental Model • Agile Model SDLC Models
  • 27. • Waterfall Model • Iterative Model • Spiral Model • V-Model (Verification and Validation Model) • Incremental Model • Agile Model SDLC Models
  • 28. • Waterfall Model • Iterative Model • Spiral Model • V-Model (Verification and Validation Model) • Incremental Model • Agile Model SDLC Models
  • 29. • Waterfall Model • Iterative Model • Spiral Model • V-Model (Verification and Validation Model) • Incremental Model • Agile Model SDLC Models
  • 30. • Waterfall Model • Iterative Model • Spiral Model • V-Model (Verification and Validation Model) • Incremental Model • Agile Model SDLC Models
  • 31. • Waterfall Model • Iterative Model • Spiral Model • V-Model (Verification and Validation Model) • Incremental Model • Agile Model SDLC Models
  • 32. • Waterfall Model • Iterative Model • Spiral Model • V-Model (Verification and Validation Model) • Incremental Model • Agile Model SDLC Models
  • 33. • Waterfall Model • Iterative Model • Spiral Model • V-Model (Verification and Validation Model) • Incremental Model • Agile Model SDLC Models
  • 34. • Waterfall Model • Iterative Model • Spiral Mo • V-Model • Incremental Model • Agile Model SDLC Models
  • 35. • Waterfall Model • Iterative Model • Spiral Mo • V-Model • Incremental Model • Agile Model SDLC Models
  • 36. • Waterfall Model • Iterative Model • Spiral Model • V-Model (Verification and Validation Model) • Incremental Model • Agile Model SDLC Models
  • 37. • Waterfall Model • Iterative Model • Spiral Model • V-Model (Verification and Validation Model) • Incremental Model • Agile Model SDLC Models
  • 38.
  • 39. • Project Manager • Product Owner • Scrum Master • Business Analyst • Architect • Developers/Programmers • Quality Assurance (QA) Engineer/Tester • User Interface (UI) and User Experience (UX) Designers • Database Administrator (DBA) Software Development Team
  • 40. • An algorithm is a step-by-step procedure or a set of rules designed to perform a specific task or solve a particular problem. • It is essentially a well-defined sequence of instructions that, when executed, achieves a desired outcome. • Algorithms serve as the foundation for writing computer programs and are crucial for solving problems, processing data, and performing various computational tasks. What is an algorithm?
  • 43.
  • 45. • Pseudocode is a way to represent an algorithm or a program using a mix of natural language and programming language-like constructs • It's not tied to any specific programming language, but it helps to convey the logic and structure of the code What is pseudo code? Start Input a a = 1 if a<=5 print a a = a+1 else break End