SlideShare a Scribd company logo
1. Introduction to Programming
What is Computer Programming?
Is the process of designing, writing, testing, debugging, and maintaining source code of
computer programs.
(OR)
Act of instructing computer to perform the task.
Source code
Is any computer instruction (possibly with comments) written using some human readable computer
language (also known as, High-level Computer Language), usually as text.
This source code is written in one or more programming languages (i.e. High-level language such as C,
C++, C#, Java, Python, and Smalltalk).
Programming Language
Refer to the artificial language designed to communicate instruction to a machines particularly a
computer. Examples of Programming languages are C, C++, JAVA, Python, Machine Language and
Assembly language.
Program
Is the sequence of instructions, written to perform a specific task with Computer.
NOTE:
 The purpose of Computer Programming is to create a set of instructions (i.e. Program) that
computers use to perform specific operations or to exhibit desired behavior.
 Software refers to the collection/set of computer programs and related data to perform a
specified task with a computer.
Programmer
Is the someone who writes the computer program (Software) using any language of hisher choice.
Classification of Computer Language:
 High-Level Language (Machine Independent Languages)
Is the programming language with strong abstraction from the details of the computer. The
programmer can create the program using these languages without asking for design detail
of the particular Machine which will run his/her program.
Prepared By;
NOEL MALLE, B.Eng (Computer Engineering)
Kilimanjaro, Tanzania.
So, there is no need for a Programmer to study the design of the computer (such as,
Processor Instruction Set Architecture, Bus types and width, Processor Registers types and size,
and other Architecture Design).
Hence, programmer focuses only on the Problem to be solved. This is the reason they are also
known as Problem-Oriented Languages
Furthermore, programs created using these languages are Machine Independent, which means,
they can run on Computer with different designs (e.g. Processor type) with little, or no
modifications required in their codes.
Examples of High-Level Language:
 C
 C++
 JAVA
 Low-Level Language (Machine Dependent Languages)
Is the programming language that provides little or no abstraction from details of the computer.
The programmer must have strong knowledge about Computer design in order to write the
program for such Computer.
Hence, there is need for a Programmer to study the design of the computer (such as,
Processor Instruction Set Architecture, Bus types and width, Processor Registers types and size,
and other Architecture Design).
Furthermore, programs created using these languages are Machine Dependent, which means,
the Program created for particular Machine can’t run on different Machine.
Types of Low-Level Languages:
 Assembly Language
 Machine Language.
NOTE:
Other Programmers describe C-language as the Middle-Level Language because of the following
2 reasons:
A relatively good programming efficiency i.e. faster program development (as compared to
low level language)
Relatively good machine efficiency i.e. faster program execution (as compared to high level
language)
Hence, it occupies the space (level) between two, that is, middle level.
Prepared By;
NOEL MALLE, B.Eng (Computer Engineering)
Kilimanjaro, Tanzania.
Language Translators
Is the computer program that translates a program written in a given programming language into
functionally equivalent program in different language.
There are various types of Language Translator but I will describe only two types of Language
Translators, which are:
 Compiler
 Interpreter
Compiler
Translates a high level language (e.g. C, C++) into lower level language (i.e. Machine Language). Compiler
checks the entire user-written program (known as the source program) and, if error free, produces a
complete program in Machine Language. Each Language has its own Compiler.
Examples of Compiled Languages:
C, C++, COBOL, and Haskell.
Examples of Compilers for various languages are as follow:
C Pelles C, Power C, Turbo C.
C++ C++ Builder, Borland C++, GCC, Turbo C++
Interpreter
Translates a High level language into an Intermediate code which will be immediately executed. The
Interpreter translates one statement at a time and, if error-free, executes the instruction. Each
Language has its own Interpreter.
Examples of Interpreted Languages:
BASIC, PHP, Perl, lisp, Smalltalk, and Ruby.
Example of Interpreter is:
BASIC Altair BASIC
Difference between Compiler and Interpreter
Compiler Interpreter
Compiler translates the whole program before
execution begins.
Thus Interpreter translates and executes the first
instruction before it goes to the second.
Prepared By;
NOEL MALLE, B.Eng (Computer Engineering)
Kilimanjaro, Tanzania.
Other types include; Assembler, DeCompiler,
DisAssembler .
NOTE:
 JAVA is not listed as Compiled or Interpreted Language because; JAVA programs are Compiled
(to bytecode) then Interpreted. Hence, it is both Compiled and Interpreted Language.
 Assembler is the computer program which translates Assembly Language to Machine Language.
 All Machines (Computer) understand Machine Code (Language) only. Hence, this leads to the
necessities of System Software such as Compiler, and Interpreter to convert High level language
to Machine code. Also, Assembler to convert Assembly Language to Machine Code.
Generations of Computer Languages:
 1st
Generation (Machine language)
 2nd
Generation (Assembly Language)
 3rd
Generation (Problem Oriented Languages such as C, Paschal, FORTRAN, and COBOL)
 4th
Generation( e.g. dBASE, FoxPro, FOCUS)
These are Low level Language
High Level Language
Prepared By;
NOEL MALLE, B.Eng (Computer Engineering)
Kilimanjaro, Tanzania.

More Related Content

What's hot

Basic Computer Programming
Basic Computer ProgrammingBasic Computer Programming
Basic Computer Programming
Allen de Castro
 
Computer hardware component. ppt
Computer hardware component. pptComputer hardware component. ppt
Computer hardware component. pptNaveen Sihag
 
Types of software
Types of softwareTypes of software
Types of software
Sameen Fatima
 
PROGRAMMING LANGUAGES
PROGRAMMING LANGUAGESPROGRAMMING LANGUAGES
PROGRAMMING LANGUAGES
ABHINAV SINGH
 
Introduction to Programming Languages
Introduction to Programming LanguagesIntroduction to Programming Languages
Introduction to Programming Languages
educationfront
 
Programming Fundamentals lecture 1
Programming Fundamentals lecture 1Programming Fundamentals lecture 1
Programming Fundamentals lecture 1
REHAN IJAZ
 
Programming fundamentals lecture 1&2
Programming fundamentals lecture 1&2Programming fundamentals lecture 1&2
Programming fundamentals lecture 1&2Raja Hamid
 
Lect 1. introduction to programming languages
Lect 1. introduction to programming languagesLect 1. introduction to programming languages
Lect 1. introduction to programming languagesVarun Garg
 
Introduction to c programming
Introduction to c programmingIntroduction to c programming
Introduction to c programming
Manoj Tyagi
 
Software (4).ppt
Software (4).pptSoftware (4).ppt
Software (4).ppt
rishirvk1995
 
Computer Programming
Computer ProgrammingComputer Programming
Computer Programming
Syed Zaid Irshad
 
Programming languages
Programming languagesProgramming languages
Programming languages
www.myassignmenthelp.net
 
Introduction to computer programming
Introduction to computer programmingIntroduction to computer programming
Introduction to computer programmingNSU-Biliran Campus
 
Programming Fundamental Presentation
Programming Fundamental PresentationProgramming Fundamental Presentation
Programming Fundamental Presentation
fazli khaliq
 
Programming Fundamental Slide No.1
Programming Fundamental Slide No.1Programming Fundamental Slide No.1
Programming Fundamental Slide No.1
Arslan Hussain
 
Programming languages
Programming languagesProgramming languages
Programming languagesvito_carleone
 
Programming Fundamentals
Programming FundamentalsProgramming Fundamentals
Programming Fundamentals
Trivuz ত্রিভুজ
 
Introduction to basic programming
Introduction to basic programmingIntroduction to basic programming
Introduction to basic programming
Jordan Delacruz
 
Qbasic
QbasicQbasic

What's hot (20)

Basic Computer Programming
Basic Computer ProgrammingBasic Computer Programming
Basic Computer Programming
 
Computer hardware component. ppt
Computer hardware component. pptComputer hardware component. ppt
Computer hardware component. ppt
 
Types of software
Types of softwareTypes of software
Types of software
 
PROGRAMMING LANGUAGES
PROGRAMMING LANGUAGESPROGRAMMING LANGUAGES
PROGRAMMING LANGUAGES
 
Computer languages 11
Computer languages 11Computer languages 11
Computer languages 11
 
Introduction to Programming Languages
Introduction to Programming LanguagesIntroduction to Programming Languages
Introduction to Programming Languages
 
Programming Fundamentals lecture 1
Programming Fundamentals lecture 1Programming Fundamentals lecture 1
Programming Fundamentals lecture 1
 
Programming fundamentals lecture 1&2
Programming fundamentals lecture 1&2Programming fundamentals lecture 1&2
Programming fundamentals lecture 1&2
 
Lect 1. introduction to programming languages
Lect 1. introduction to programming languagesLect 1. introduction to programming languages
Lect 1. introduction to programming languages
 
Introduction to c programming
Introduction to c programmingIntroduction to c programming
Introduction to c programming
 
Software (4).ppt
Software (4).pptSoftware (4).ppt
Software (4).ppt
 
Computer Programming
Computer ProgrammingComputer Programming
Computer Programming
 
Programming languages
Programming languagesProgramming languages
Programming languages
 
Introduction to computer programming
Introduction to computer programmingIntroduction to computer programming
Introduction to computer programming
 
Programming Fundamental Presentation
Programming Fundamental PresentationProgramming Fundamental Presentation
Programming Fundamental Presentation
 
Programming Fundamental Slide No.1
Programming Fundamental Slide No.1Programming Fundamental Slide No.1
Programming Fundamental Slide No.1
 
Programming languages
Programming languagesProgramming languages
Programming languages
 
Programming Fundamentals
Programming FundamentalsProgramming Fundamentals
Programming Fundamentals
 
Introduction to basic programming
Introduction to basic programmingIntroduction to basic programming
Introduction to basic programming
 
Qbasic
QbasicQbasic
Qbasic
 

Viewers also liked

Consumer Product Safety Commission3
Consumer Product Safety Commission3Consumer Product Safety Commission3
Consumer Product Safety Commission3
ahmad bassiouny
 
Excel Lesson 1: Excel Basics
Excel Lesson 1: Excel BasicsExcel Lesson 1: Excel Basics
Excel Lesson 1: Excel Basics
Novus Business and IT Training Program
 
Consumers' welfare and protection
Consumers' welfare and protectionConsumers' welfare and protection
Consumers' welfare and protection
Jasmine Shania Tasker
 
Consumerism
ConsumerismConsumerism
Consumerism
Musthak Manrah
 
Computer programmer
Computer programmerComputer programmer
Computer programmer
ajt525
 
Programmer ppt
Programmer pptProgrammer ppt
Programmer ppt
SirVishalot
 
Computer programmer job information
Computer programmer job informationComputer programmer job information
Computer programmer job informationChrisinCT
 
Teaching Excel
Teaching ExcelTeaching Excel
Teaching Excelsam ran
 
Ppt on consumers rights
Ppt on consumers rightsPpt on consumers rights
Ppt on consumers rights
Satish Kumar
 
Consumer rights
Consumer rightsConsumer rights
Consumer rights
divya rajput
 

Viewers also liked (12)

Computer Programming - Lecture 1
Computer Programming - Lecture 1Computer Programming - Lecture 1
Computer Programming - Lecture 1
 
Consumer Product Safety Commission3
Consumer Product Safety Commission3Consumer Product Safety Commission3
Consumer Product Safety Commission3
 
Excel Lesson 1: Excel Basics
Excel Lesson 1: Excel BasicsExcel Lesson 1: Excel Basics
Excel Lesson 1: Excel Basics
 
Consumers' welfare and protection
Consumers' welfare and protectionConsumers' welfare and protection
Consumers' welfare and protection
 
Consumerism
ConsumerismConsumerism
Consumerism
 
Computer programmer
Computer programmerComputer programmer
Computer programmer
 
Programmer ppt
Programmer pptProgrammer ppt
Programmer ppt
 
Computer programmer job information
Computer programmer job informationComputer programmer job information
Computer programmer job information
 
Microsoft Excel Basics
Microsoft Excel BasicsMicrosoft Excel Basics
Microsoft Excel Basics
 
Teaching Excel
Teaching ExcelTeaching Excel
Teaching Excel
 
Ppt on consumers rights
Ppt on consumers rightsPpt on consumers rights
Ppt on consumers rights
 
Consumer rights
Consumer rightsConsumer rights
Consumer rights
 

Similar to Introduction to computer programming

1.Overview of Programming.pptx
1.Overview of Programming.pptx1.Overview of Programming.pptx
1.Overview of Programming.pptx
Vishwas459764
 
Fundamental of Information Technology - UNIT 7
Fundamental of Information Technology - UNIT 7Fundamental of Information Technology - UNIT 7
Fundamental of Information Technology - UNIT 7
Shipra Swati
 
Ppt 1
Ppt 1Ppt 1
Introduction to Computer
Introduction to ComputerIntroduction to Computer
Introduction to Computer
zaheeriqbal41
 
Software programming and development
Software programming and developmentSoftware programming and development
Software programming and development
Ali Raza
 
Chapter1.pdf
Chapter1.pdfChapter1.pdf
Chapter1.pdf
tharwatabdulhmed
 
Introduction to Programming By Wathika F. Maina
Introduction to Programming By Wathika F. MainaIntroduction to Programming By Wathika F. Maina
Introduction to Programming By Wathika F. MainaNez Computex
 
Unit 1
Unit 1Unit 1
Unit 1
TPLatchoumi
 
Computer languages
Computer languagesComputer languages
Computer languages
Buxoo Abdullah
 
Introduction to Programming Concepts By Aamir Saleem Ansari
Introduction to Programming Concepts By Aamir Saleem AnsariIntroduction to Programming Concepts By Aamir Saleem Ansari
Introduction to Programming Concepts By Aamir Saleem Ansari
Tech
 
Programming languages
Programming languagesProgramming languages
Programming languages
gaurav jain
 
Introduction to Computer Programming (general background)
Introduction to Computer Programming (general background)Introduction to Computer Programming (general background)
Introduction to Computer Programming (general background)
Chao-Lung Yang
 
2 Programming Language.pdf
2 Programming Language.pdf2 Programming Language.pdf
2 Programming Language.pdf
KINGZzofYouTube
 
C lecture notes new
C lecture notes newC lecture notes new
C lecture notes new
Kuntal Bhowmick
 
lce1 مترجمات.pptx
lce1 مترجمات.pptxlce1 مترجمات.pptx
lce1 مترجمات.pptx
SamiAAli44
 
POLITEKNIK MALAYSIA
POLITEKNIK MALAYSIAPOLITEKNIK MALAYSIA
POLITEKNIK MALAYSIA
Aiman Hud
 
Compiler design slide share
Compiler design slide shareCompiler design slide share
Compiler design slide share
Sudhaa Ravi
 
Introduction to programming language (basic)
Introduction to programming language (basic)Introduction to programming language (basic)
Introduction to programming language (basic)
nharsh2308
 

Similar to Introduction to computer programming (20)

1.Overview of Programming.pptx
1.Overview of Programming.pptx1.Overview of Programming.pptx
1.Overview of Programming.pptx
 
Fundamental of Information Technology - UNIT 7
Fundamental of Information Technology - UNIT 7Fundamental of Information Technology - UNIT 7
Fundamental of Information Technology - UNIT 7
 
Ppt 1
Ppt 1Ppt 1
Ppt 1
 
Introduction to Computer
Introduction to ComputerIntroduction to Computer
Introduction to Computer
 
C_NOTES.pdf
C_NOTES.pdfC_NOTES.pdf
C_NOTES.pdf
 
Software programming and development
Software programming and developmentSoftware programming and development
Software programming and development
 
Chapter1.pdf
Chapter1.pdfChapter1.pdf
Chapter1.pdf
 
Introduction to Programming By Wathika F. Maina
Introduction to Programming By Wathika F. MainaIntroduction to Programming By Wathika F. Maina
Introduction to Programming By Wathika F. Maina
 
Unit 1
Unit 1Unit 1
Unit 1
 
Computer languages
Computer languagesComputer languages
Computer languages
 
Introduction to Programming Concepts By Aamir Saleem Ansari
Introduction to Programming Concepts By Aamir Saleem AnsariIntroduction to Programming Concepts By Aamir Saleem Ansari
Introduction to Programming Concepts By Aamir Saleem Ansari
 
Programming languages
Programming languagesProgramming languages
Programming languages
 
Introduction to Computer Programming (general background)
Introduction to Computer Programming (general background)Introduction to Computer Programming (general background)
Introduction to Computer Programming (general background)
 
2 Programming Language.pdf
2 Programming Language.pdf2 Programming Language.pdf
2 Programming Language.pdf
 
Assembler
AssemblerAssembler
Assembler
 
C lecture notes new
C lecture notes newC lecture notes new
C lecture notes new
 
lce1 مترجمات.pptx
lce1 مترجمات.pptxlce1 مترجمات.pptx
lce1 مترجمات.pptx
 
POLITEKNIK MALAYSIA
POLITEKNIK MALAYSIAPOLITEKNIK MALAYSIA
POLITEKNIK MALAYSIA
 
Compiler design slide share
Compiler design slide shareCompiler design slide share
Compiler design slide share
 
Introduction to programming language (basic)
Introduction to programming language (basic)Introduction to programming language (basic)
Introduction to programming language (basic)
 

Recently uploaded

Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Ramesh Iyer
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
Alison B. Lowndes
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
Prayukth K V
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
Safe Software
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Inflectra
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
Product School
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
Ana-Maria Mihalceanu
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
UiPathCommunity
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
Paul Groth
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
DianaGray10
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
BookNet Canada
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
Dorra BARTAGUIZ
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Jeffrey Haguewood
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
ThousandEyes
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
DanBrown980551
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
Elena Simperl
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
Laura Byrne
 
Generating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using SmithyGenerating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using Smithy
g2nightmarescribd
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance
 

Recently uploaded (20)

Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
 
Generating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using SmithyGenerating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using Smithy
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
 

Introduction to computer programming

  • 1. 1. Introduction to Programming What is Computer Programming? Is the process of designing, writing, testing, debugging, and maintaining source code of computer programs. (OR) Act of instructing computer to perform the task. Source code Is any computer instruction (possibly with comments) written using some human readable computer language (also known as, High-level Computer Language), usually as text. This source code is written in one or more programming languages (i.e. High-level language such as C, C++, C#, Java, Python, and Smalltalk). Programming Language Refer to the artificial language designed to communicate instruction to a machines particularly a computer. Examples of Programming languages are C, C++, JAVA, Python, Machine Language and Assembly language. Program Is the sequence of instructions, written to perform a specific task with Computer. NOTE:  The purpose of Computer Programming is to create a set of instructions (i.e. Program) that computers use to perform specific operations or to exhibit desired behavior.  Software refers to the collection/set of computer programs and related data to perform a specified task with a computer. Programmer Is the someone who writes the computer program (Software) using any language of hisher choice. Classification of Computer Language:  High-Level Language (Machine Independent Languages) Is the programming language with strong abstraction from the details of the computer. The programmer can create the program using these languages without asking for design detail of the particular Machine which will run his/her program. Prepared By; NOEL MALLE, B.Eng (Computer Engineering) Kilimanjaro, Tanzania.
  • 2. So, there is no need for a Programmer to study the design of the computer (such as, Processor Instruction Set Architecture, Bus types and width, Processor Registers types and size, and other Architecture Design). Hence, programmer focuses only on the Problem to be solved. This is the reason they are also known as Problem-Oriented Languages Furthermore, programs created using these languages are Machine Independent, which means, they can run on Computer with different designs (e.g. Processor type) with little, or no modifications required in their codes. Examples of High-Level Language:  C  C++  JAVA  Low-Level Language (Machine Dependent Languages) Is the programming language that provides little or no abstraction from details of the computer. The programmer must have strong knowledge about Computer design in order to write the program for such Computer. Hence, there is need for a Programmer to study the design of the computer (such as, Processor Instruction Set Architecture, Bus types and width, Processor Registers types and size, and other Architecture Design). Furthermore, programs created using these languages are Machine Dependent, which means, the Program created for particular Machine can’t run on different Machine. Types of Low-Level Languages:  Assembly Language  Machine Language. NOTE: Other Programmers describe C-language as the Middle-Level Language because of the following 2 reasons: A relatively good programming efficiency i.e. faster program development (as compared to low level language) Relatively good machine efficiency i.e. faster program execution (as compared to high level language) Hence, it occupies the space (level) between two, that is, middle level. Prepared By; NOEL MALLE, B.Eng (Computer Engineering) Kilimanjaro, Tanzania.
  • 3. Language Translators Is the computer program that translates a program written in a given programming language into functionally equivalent program in different language. There are various types of Language Translator but I will describe only two types of Language Translators, which are:  Compiler  Interpreter Compiler Translates a high level language (e.g. C, C++) into lower level language (i.e. Machine Language). Compiler checks the entire user-written program (known as the source program) and, if error free, produces a complete program in Machine Language. Each Language has its own Compiler. Examples of Compiled Languages: C, C++, COBOL, and Haskell. Examples of Compilers for various languages are as follow: C Pelles C, Power C, Turbo C. C++ C++ Builder, Borland C++, GCC, Turbo C++ Interpreter Translates a High level language into an Intermediate code which will be immediately executed. The Interpreter translates one statement at a time and, if error-free, executes the instruction. Each Language has its own Interpreter. Examples of Interpreted Languages: BASIC, PHP, Perl, lisp, Smalltalk, and Ruby. Example of Interpreter is: BASIC Altair BASIC Difference between Compiler and Interpreter Compiler Interpreter Compiler translates the whole program before execution begins. Thus Interpreter translates and executes the first instruction before it goes to the second. Prepared By; NOEL MALLE, B.Eng (Computer Engineering) Kilimanjaro, Tanzania. Other types include; Assembler, DeCompiler, DisAssembler .
  • 4. NOTE:  JAVA is not listed as Compiled or Interpreted Language because; JAVA programs are Compiled (to bytecode) then Interpreted. Hence, it is both Compiled and Interpreted Language.  Assembler is the computer program which translates Assembly Language to Machine Language.  All Machines (Computer) understand Machine Code (Language) only. Hence, this leads to the necessities of System Software such as Compiler, and Interpreter to convert High level language to Machine code. Also, Assembler to convert Assembly Language to Machine Code. Generations of Computer Languages:  1st Generation (Machine language)  2nd Generation (Assembly Language)  3rd Generation (Problem Oriented Languages such as C, Paschal, FORTRAN, and COBOL)  4th Generation( e.g. dBASE, FoxPro, FOCUS) These are Low level Language High Level Language Prepared By; NOEL MALLE, B.Eng (Computer Engineering) Kilimanjaro, Tanzania.