SlideShare a Scribd company logo
DEPARTMENT OF COMPUTER SCIENCE
03/06/25
Lecture 1
OVERVIEW OF COMPUTER PROGRAMMING
Overview of computer programming
Computer Programming
 How Do Computers Work?
 Basic Programming Concepts
 Essentials Of A Programming Language
 What Is Computer Programming?
 Types Of Computer Programming Languages
• #1) Low-level Language
• #2) High-level Language
 Basic Operations Of A Programming Environment
 Necessary Prerequisites/Skills Required For Programming
 How To Start Learning Computer Programming?
 Where Can We Apply The Skills Of Programming?
 Career Options For Programmers
Conclusion
What Is Computer Programming?
Computer Programming is a set of instructions, that helps the developer to
perform certain tasks that return the desired output for the valid inputs.
A programming language is a set of instructions and syntax used to create
software programs. Some of the key features of programming languages
include:
Syntax: The specific rules and structure used to write code in a
programming language.
Data Types: The type of values that can be stored in a program, such as
numbers, strings, and Booleans.
Variables: Named memory locations that can store values.
Overview of computer programming
 Operators: Symbols used to perform operations on values, such as
addition, subtraction, and comparison.
 Control Structures: Statements used to control the flow of a program,
such as if-else statements, loops, and function calls.
 Libraries and Frameworks: Collections of pre-written code that can be
used to perform common tasks and speed up development.
 Paradigms: The programming style or philosophy used in the language,
such as procedural, object-oriented, or functional.
Cont..
Cont..
Cont..
Cont..
 Examples of popular programming languages include Python, Java, C++,
JavaScript, and Ruby.
 Each language has its own strengths and weaknesses and is suited for different
types of projects.
 A programming language is a formal language that specifies a set of instructions
for a computer to perform specific tasks.
 It’s used to write software programs and applications, and to control and
manipulate computer systems.
 There are many different programming languages, each with its own syntax,
structure, and set of commands.
 Some of the most commonly used programming languages include Java, Python,
C++, JavaScript, and C#.
 The choice of programming language depends on the specific requirements of a
project, including the platform being used, the intended audience, and the
desired outcome.
 Programming languages continue to evolve and change over time, with new
languages being developed and older ones being updated to meet changing
needs.
• Now before we understand what programming is, you must know what
is a computer.
• A computer is a device that can accept human instruction, processes it,
and responds to it or a computer is a computational device that is used to
process the data under the control of a computer program.
• Program is a sequence of instruction along with data.
• The basic components of a computer are:
1. Input unit
2. (CPU) Divided into 3(Memory unit, control unit and ALU )
3. Output unit
Cont..
Cont..

Given below is a Mathematical Expression.

Z = X + Y, where X, Y, and Z are the variables in a programming
language. If X = 550 and Y = 450, the value of X and Y are the
input values that are called literals.

We ask the computer to calculate the value of X+Y, which results
in Z, i.e. the expected output.
Cont..
Cont..
 A PL must be simple, easy to learn and use, have good readability, and be
human recognizable.
 Abstraction is a must-have Characteristics for a PL in which the ability to
define the complex structure and then its degree of usability comes.
 A portable PL is always preferred.
 PL ’s efficiency must be high so that it can be easily converted into a machine
code and its execution consumes little space in memory.
 A PL should be well structured and documented so that it is suitable for
application development.
 Necessary tools for the development, debugging, testing, maintenance of
a program must be provided by a PL.
 A PL should provide a single environment known as Integrated Development
Environment(IDE).
 A PL must be consistent in terms of syntax and semantics.
Characteristics of a programming Language
 Algorithm: A step-by-step procedure for solving a problem or performing a
task.
 Variable: A named storage location in memory that holds a value or data.
 Data Type: A classification that specifies what type of data a variable can
hold, such as integer, string, or boolean.
 Function: A self-contained block of code that performs a specific task
and can be called from other parts of the program.
 Control Flow: The order in which statements are executed in a program,
including loops and conditional statements.
 Syntax: The set of rules that govern the structure and format of a
programming language.
 Comment: A piece of text in a program that is ignored by the compiler or
interpreter, used to add notes or explanations to the code.
Basic Terminologies in Programming Languages:
 Debugging: The process of finding and fixing errors or bugs in a program.
 IDE: Integrated Development Environment, a software application that
provides a comprehensive development environment for coding,
debugging, and testing.
 Operator: A symbol or keyword that represents an action or operation to be
performed on one or more values or variables, such as + (addition), –
(subtraction), * (multiplication), and / (division).
 Statement: A single line or instruction in a program that performs a
specific action or operation.
Cont..
Cont..
• Advantages of programming languages:
1. Increased Productivity: Programming languages provide a
set of abstractions that allow developers to write code more
quickly and efficiently.
2. Portability: Programs written in a high-level programming
language can run on many different operating systems and
platforms.
3. Readability: Well-designed programming languages can make
code more readable and easier to understand for both the
original author and other developers.
4. Large Community: Many programming languages have large
communities of users and developers, which can provide
support, libraries, and tools.
Cont..
Cont..
Disadvantages of programming languages:
1.Complexity: Some programming languages can be complex
and difficult to learn, especially for beginners.
2.Performance: Programs written in high-level programming
languages can run slower than programs written in lower-level
languages.
3.Limited Functionality: Some programming languages may not
have built-in support for certain types of tasks or may require
additional libraries to perform certain functions.
4.Fragmentation: There are many different PL , which can lead to
fragmentation and make it difficult to share code and collaborate
with other developers.
Cont..
Cont..
1. Start with the fundamentals: Begin by learning the basics of the
language, such as syntax, data types, variables, and simple
statements. This will give you a strong foundation to build upon.
2. Code daily: Like any skill, the only way to get good at
programming is by practicing regularly. Try to write code every
day, even if it’s just a few lines.
3. Work on projects: One of the best ways to learn a new language is
to work on a project that interests you.
o It could be a simple game, a web application, or anything
that allows you to apply what you’ve learned that is the most
important part.
4. Read the documentation: Every programming language has
documentation that explains its features, syntax, and best
practices. Make sure to read it thoroughly to get a better
understanding of the language.
Tips for learning new programming language:
5. Join online communities: There are many online
communities dedicated to programming languages, where
you can ask questions, share your code, and get feedback.
Joining these communities can help you learn faster and make
connections with other developers.
6. Learn from others: Find a mentor or someone who is
experienced in the language you’re trying to learn. Ask them
questions, review their code, and try to understand how they
solve problems.
7. Practice debugging: Debugging is an essential skill for any
programmer, and you’ll need to do a lot of it when learning a
new language. Make sure to practice identifying and fixing errors
in your code.
Cont..
Cont..
How Do Computers Work?
 A computer is a machine that processes information and this information
can be any data that is provided by the user through devices such as
keyboards, mice, scanners, digital cameras, joysticks, and microphones.
These devices are called Input Devices and the information provided is
called input.
 The computer requires storage to store this information and the
storage is called Memory.
15
Cont..
Cont..
Computer Storage or Memory is of Two Types.
Primary Memory or RAM (Random Access Memory): This is the internal
storage that is used in the computers and is located on the motherboard. RAM
can be accessed or modified quickly in any order or randomly. The information
that is stored in RAM is lost when the computer is turned off.
Secondary Memory or ROM (Read-Only Memory): Information (data) stored in
ROM is read-only, and is stored permanently. The ROM stored instruction is
required to start a computer.
Processing: Operations done on this information (input data) is called
Processing. The Processing of input is done in the Central Processing Unit
which is popularly known as CPU.
Cont..
Cont..
 Output Devices: These are the computer hardware devices that help in
converting information into human-readable form. Some of the output devices
include Visual Display Units (VDU) such as a Monitor, Printer, Graphics Output
devices, Plotters, Speakers, etc.
 A developer can analyze the problem and come up with simple steps to
achieve a solution to this problem, for which he/she uses a programming
algorithm. This can be compared to a recipe for a food item, where ingredients
are inputs and finished delicacy is the output required by the client.
Cont..
Cont..
In the development environment, the products, software, and solutions can
be designed as scenarios, use cases, and data flow diagrams.
•Based on the client’s requirements, the solution required could be desktop,
web or mobile-based.
Cont..
Cont..
 Basic Programming Concepts
• Developers should have essential knowledge on the following concepts to
become skilled in Computer Programming,
• #1) Algorithm: It is a set of steps or instruction statements to be followed to
accomplish specific tasks. A developer can design his algorithm to achieve the
desired output. For Example, a recipe to cook a dessert. The algorithm
describes the steps to be followed for completing a specific task, but it does not
say how to achieve any of the steps.
• #2) Source code: Source code is the actual text that is used to construct the
program using the language of choice.
Cont..
Cont..
For Example, it is mandatory to have the main method in Java and the text
used is as shown below.
public static void main(String arg[]) {
//Steps to be performed
}
•#3) Compiler: Compiler is a software program that helps in converting
the source code into binary code or byte code, also called machine
language, that is easy for a computer to understand, and can be further
executed using an interpreter to run the program.
Cont..
Cont..
• #4) Data Type: Data used in the applications can be of a different type, it can
be a whole number (integer), floating-point (decimal point numbers), characters
or objects. For Example, double currency = 45.86, where double is a data type
used for storing numbers with decimal points.
• #5) Variable: is a space holder for the value stored in the memory and this
value can be used in the application. For Example, int age = 25, where age is a
variable.
• #6) Conditionals: Knowledge of how to use a certain condition, such that a set
of code should execute only if a certain condition is true. In case of a false
condition, the program should exit and should not continue the code further.
Cont..
Cont..
• #7) Array: Array is the variable that stores elements of a similar data type.
Knowledge of using an array in coding/programming will be a great benefit.
• #8) Loop: is used to execute the series of code until the condition is true.
– For Example, in Java, loops can be used as for loop, do-while, while loop or
enhanced for loop.
The code for loop is as shown below:
for (int I =0; i<10; i++) {
System.out.println(i);
}
Cont..
Cont..
• #9) Function: Functions or methods are used to accomplish a task in
programming, a function can take parameters and process them to get the
desired output. Functions are used to reuse them whenever required at any
place repeatedly.
• #10) Class: Class is like a template that contains state and behavior, which
corresponding to programming is field and method. In Object-Oriented
languages like Java, everything revolves around Class and Object.
Essentials Of A Programming Language
• Just like any other language we use to communicate with others, a
programming language is a special language or a set of instructions to
communicate with computers. Each programming language has a set of rules
(like English has grammar) to follow and it is used to implement the algorithm to
produce the desired output.
Cont..
Cont..
Top Computer Programming Languages
• The below table enlists the top Computer Programming Languages and their
applications in real life.
Let’s see how to select a programming language.
The selection of particular programming languages depends on many factors such as:
•Targeted Platform and Project/Solution Requirement: Whenever a software solution
provider comes across the requirement, there are many options to choose an appropriate
programming language.
• For Example, if a user wants the solution to be on mobile, then Java should be the
preferred programming language for Android.
•Influence of Technical Partners with the Organization: If Oracle is a tech partner with
the company, then it is agreed to implement software marketed by Oracle in the solution for
every project and product developed. If Microsoft is a tech partner with the company, then
ASP can be used as a development framework for building web pages.
Cont..
Cont..
• Competency of available Resources & Learning Curve: The developers
(resources) should be available and competent to quickly learn the selected
programming language so that they can be productive for the project.
• Performance: The selected language should be scalable, robust, platform-
independent, secure and should be efficient in displaying results within the
acceptable time limit.
• Support from the Community: In the case of open-source programming
language, the acceptance, and popularity for the language as well as online
support from the growing support group should be available.
Cont..
Cont..
• Computer Programming language can be divided into two types i.e. Low-level
Language, and High-level Language.
• #1) Low-level Language
 Hardware dependent and Difficult to understand
• Low-level Language can be further divided into two categories,
• Machine Language: Machine dependent, difficult to modify or program, For
Example, every CPU has its machine language. The code written in machine
language is the instructions that the processors use.
• Assembly Language: Each computer’s microprocessor that is responsible for
arithmetic, logical and control activities needs instructions for accomplishing such
tasks and these instructions are in assembly language. The use of assembly
language is in device drivers, low-level embedded systems, and real-time systems.
Types Of Computer Programming Languages
#2) High-level Language
•Independent of hardware
•Their codes are very simple and developers can read, write and debug as they are
similar to English like statements.
•High-level Language can be further divided into three categories.
•Procedural Language: Code in the procedural language is a sequential step by step
procedure, that gives information like what to do and how to do. Languages such as
Fortran, Cobol, Basic, C, and Pascal are a few examples of procedural language.
•Non-procedural Language: Code in non-procedural language specify what to do, but
does not specify how to do. SQL, Prolog, LISP are a few examples of non-procedural
language.
•Object-oriented Language: Use of objects in the programming language, where the
code is used to manipulate the data. C++, Java, Ruby, and Python are a few examples
of Object-oriented language.
Cont..
Cont..
Basic Operations Of A Programming Environment
Five basic elements or operations of programming are listed below:
 Input: Data can be input using the keyboard, touch screen, text editor, etc. For
Example, to book a flight, the user can enter his login credentials and then
select a departure date and return date, the number of seats, starting place and
destination place, Name of Airlines, etc, from desktop, laptop or mobile device.
 Output: Once authenticated, and upon receiving the request to book the tickets
with the mandatory inputs, a confirmation of booking for the selected date and
destination will be displayed on the screen, and a copy of the tickets and invoice
information is sent to the user’s registered email id and mobile number.
 Arithmetic: In case of flight booking, update of the number of seats booked and
those seats need some mathematical calculations, further name of the
passenger, no. of seats reserved, date of journey, journey start date, and
starting place, destination place, etc. should be filled into the airlines server
database system.
 Conditional: It is required to test if a condition is satisfied or not, based on the
condition, the program may execute the function with parameters else it will not
get executed.
For Example,
for (int i = 0; i < 10; i++)
{
System.out.println(i);
}
Cont..
Cont..
Looping: It is required to repeat /perform the task until the condition holds.
Types of loops can be While loop, Do-while loop, For loop.
Necessary Prerequisites/Skills Required For Programming
• #1) Self Reliance: To succeed in coding, you should develop a confidence in
yourself, control your impatience, frustration and should refrain from being
dependent on someone else to help you in solving your technical problems, rather
you should be self-reliant and keep faith on your capabilities, monitor your efforts
and remain optimistic and perseverant in learning.
• #2) Language: It is an individual’s choice to decide which programming languages
he/she should learn. A programming language should be selected based on its
acceptance in the various domains in software industries. Object-oriented
languages like Python and Java, which are free & open-source are widely accepted
and used by Google, Yahoo, and NASA.
• Java script is another scripting language, a client-side scripting language, but
knowing JavaScript will highly benefit web-based application developers. Non-
procedural language like SQL is mandatory as it is acceptable by all the back-end
databases.
• #3) Logic: As a developer or tester, to excel in the programming language,
one must always have conditional and logical thinking. It can be improved as
we improve our muscles, there are a few sites where one can prepare and
improve logical thinking and prepare for programming language.
• Freshers live
• The Online Test Centre
• Indiabix
• #4) Attention to Detail: A conscientious and alert person with an eye for
details will check his/her work for minute details and this will prevent any
syntax error, verify if any steps like unit testing or including API /classes, miss
associated jar or class files. For some people, meditation might help to
improve focus and concentration while for others taking a walk or playing
some mind games might help. You need to find out what works for you.
Cont..
Cont..
• #5) Abstract Thinking: During sprint meeting in an agile environment, the ability to
think out of the box, or see things from different angles/perspectives, help to
uncover scenarios for requirements and design considerations. This can be
improved by a discussion with others.
• #6) Patience: At times, it happens as you write a code, for which you are confident
about, verified it a couple of types, it works in your machine, but after integration the
code snippet does not work, all the effort to identify the fault go in vain, you feel
stressed out, frustrated and feel like good for nothing.
• During such times, your ability to overcome the situation, try again from scratch and
develop patience will prove the developer to be more mature and he/she gets
appreciated for the ability to work under pressure environments like releases and
acceptance testing or during client demos.
Cont..
Cont..
• #7) Strong Memory: Being able to understand and visualize the high-
level design, data flow, algorithm, data structure, how they interact
with each other will separate you from an average coder. Meditation
techniques and memory exercises can help with this as well.
Cont..
Cont..
How To Start Learning Computer Programming?
• As a human, you should have the habit to introspect daily and identify what you
have done today, how can you improve yourself, what steps or precautions you
will take to avoid difficult situations.
Similarly, consider the below points before learning computer programming.
• Be honest and think about why you want to learn computer programming.
• What is your goal, what will you accomplish in your dream of learning
programming?
• Choose the right programming language. E.g. Front end programming like
JavaScript, PHP, Back end programming like SQL, Java, Python for web-based
development.
• Check out some interactive tutorials to get familiar with a programming
language. w3schools is good to start understanding many programming
languages, and w3resource is good to learn SQL queries interactively.
• Get a book on selected programming language i.e. SQL for Dummies,
JavaScript for Dummies.
• Try out some online courses i.e. give a try to Udemy
• Learn Data Structures and Algorithms.
• Make a project using a selected programming language.
• Attempt some certification, and this will make you more confident,
knowledgeable and competent.
Cont..
Cont..
Where Can We Apply The Skills Of Programming?
• Ability to Communicate: Communication is an extremely essential quality wherein,
you can explain your plan, discuss your doubts, improve your thoughts and
exchange information from your superior and your team member. A good
communicator can understand and explain the tasks performed in daily reporting,
find out how can you improve your thoughts and clear your doubts. During the agile
standup meeting & sprint meets, you can communicate the plan of action and can
lead the team.
• Problem-solving: Accepting challenges and accomplishing difficult tasks will
build problem-solving skills and this is a prerequisite for a good developer. During
development, you may encounter various issues of understanding the business
logic and implementing them into your code, integration of the code with
application, compatibility issues and many more challenges. Your problem-
solving skills will help you to sail through the most critical situations.
• Collaboration/Teamwork: Collaboration skills enable you to work with the team
members to accomplish some tasks effectively and thereby improve productivity.
• Working in a team at times can result in conflict, due to attitude issues. Hence, by
understanding the goal to get better products or improve productivity, anyone can
play the role of an excellent team player role.
Career Options For Programmers
• The career options as a programmer or software developer are many.
• The areas or positions for computer programmer are as follows:
Web Developer
UI Developer
User Experience Designer
SQL Developer
Quality Assurance
Automation Test Engineer
Software Engineer at Test
In the Software Development department his/her
responsibilities include the following duties:
o Designing and developing custom and complex solutions using various
programming languages wherein he/she should be competent, For
Example, Java, Python, Javascript, SQL, oracle.
o Manage project software delivery lifecycle, that includes planning, design,
building, testing, and deployment within the company’s planned delivery
framework.
o Basic knowledge in Networking, ability to work on Integrated Developer Tools
such as Eclipse, NetBeans, Atom, etc.
o Should have hands-on working experience with at least one of the CI tools such
as Jenkins, Gitlab, Bamboo, etc.
o Should able to use Linux / Unix scripts and shell scripting.
o Excellent communication and people skills.
o Should be a good Team player as well as an Independent Contributor.
o Understanding of agile development environment.
Conclusion
• Through this article, we learned about the internals of computers, how
computers work, programming concepts, essentials of programming
languages, and basic operations of the programming environment.
• We also discussed pre-requisites for programming, the necessary skills
required for becoming a programmer, how to start learning and the
prospects and career options available in the computer programming
field.
introduction to computer programming CPPL1.ppt

More Related Content

Similar to introduction to computer programming CPPL1.ppt (20)

UNIT 2 ECSE-2.pptx
UNIT 2 ECSE-2.pptxUNIT 2 ECSE-2.pptx
UNIT 2 ECSE-2.pptx
AdharshKokkula
 
Program Logic and Design
Program Logic and DesignProgram Logic and Design
Program Logic and Design
Froilan Cantillo
 
Computer Programming
Computer Programming Computer Programming
Computer Programming
Newreborn Incarnation
 
Computer
ComputerComputer
Computer
Newreborn Incarnation
 
Introduction-to-Programming-Languages.pptx
Introduction-to-Programming-Languages.pptxIntroduction-to-Programming-Languages.pptx
Introduction-to-Programming-Languages.pptx
ranjan317165
 
Whatisrogrammingin python and program.pptx
Whatisrogrammingin python and program.pptxWhatisrogrammingin python and program.pptx
Whatisrogrammingin python and program.pptx
moviedownload8497
 
Interaction With Computers FIT
Interaction With Computers FITInteraction With Computers FIT
Interaction With Computers FIT
Raj vardhan
 
Programming Paradigm & Languages
Programming Paradigm & LanguagesProgramming Paradigm & Languages
Programming Paradigm & Languages
Gaditek
 
Programming Paradigm & Languages
Programming Paradigm & LanguagesProgramming Paradigm & Languages
Programming Paradigm & Languages
Gaditek
 
Richa garg itm
Richa garg itmRicha garg itm
Richa garg itm
richagarg16
 
Ic lecture8
Ic lecture8 Ic lecture8
Ic lecture8
AttaullahRahimoon
 
Introduction to computer and its fundamentals.pptx
Introduction to computer and its fundamentals.pptxIntroduction to computer and its fundamentals.pptx
Introduction to computer and its fundamentals.pptx
Guna Dhondwad
 
Python_Module_1.pdf
Python_Module_1.pdfPython_Module_1.pdf
Python_Module_1.pdf
R.K.College of engg & Tech
 
Chapter-1-1 object oriented programing pdf.pdf
Chapter-1-1 object oriented programing pdf.pdfChapter-1-1 object oriented programing pdf.pdf
Chapter-1-1 object oriented programing pdf.pdf
megbde32
 
Computer-System-Software_hhhGroup-3.pptx
Computer-System-Software_hhhGroup-3.pptxComputer-System-Software_hhhGroup-3.pptx
Computer-System-Software_hhhGroup-3.pptx
Firstjww Lastjsjs
 
Computer Programming 1 - Chapter- 1.pptx
Computer Programming 1 - Chapter- 1.pptxComputer Programming 1 - Chapter- 1.pptx
Computer Programming 1 - Chapter- 1.pptx
MaryGraceTolentino9
 
Introduction_to_Programming.pptx
Introduction_to_Programming.pptxIntroduction_to_Programming.pptx
Introduction_to_Programming.pptx
PmarkNorcio
 
PCCF Unit 2.pptx
PCCF Unit 2.pptxPCCF Unit 2.pptx
PCCF Unit 2.pptx
sudharsanm56
 
Introduction to system programming
Introduction to system programmingIntroduction to system programming
Introduction to system programming
sonalikharade3
 
lecture Slides - Week 1.programming fundamentals
lecture Slides - Week 1.programming fundamentalslecture Slides - Week 1.programming fundamentals
lecture Slides - Week 1.programming fundamentals
fazayn927
 
Introduction-to-Programming-Languages.pptx
Introduction-to-Programming-Languages.pptxIntroduction-to-Programming-Languages.pptx
Introduction-to-Programming-Languages.pptx
ranjan317165
 
Whatisrogrammingin python and program.pptx
Whatisrogrammingin python and program.pptxWhatisrogrammingin python and program.pptx
Whatisrogrammingin python and program.pptx
moviedownload8497
 
Interaction With Computers FIT
Interaction With Computers FITInteraction With Computers FIT
Interaction With Computers FIT
Raj vardhan
 
Programming Paradigm & Languages
Programming Paradigm & LanguagesProgramming Paradigm & Languages
Programming Paradigm & Languages
Gaditek
 
Programming Paradigm & Languages
Programming Paradigm & LanguagesProgramming Paradigm & Languages
Programming Paradigm & Languages
Gaditek
 
Introduction to computer and its fundamentals.pptx
Introduction to computer and its fundamentals.pptxIntroduction to computer and its fundamentals.pptx
Introduction to computer and its fundamentals.pptx
Guna Dhondwad
 
Chapter-1-1 object oriented programing pdf.pdf
Chapter-1-1 object oriented programing pdf.pdfChapter-1-1 object oriented programing pdf.pdf
Chapter-1-1 object oriented programing pdf.pdf
megbde32
 
Computer-System-Software_hhhGroup-3.pptx
Computer-System-Software_hhhGroup-3.pptxComputer-System-Software_hhhGroup-3.pptx
Computer-System-Software_hhhGroup-3.pptx
Firstjww Lastjsjs
 
Computer Programming 1 - Chapter- 1.pptx
Computer Programming 1 - Chapter- 1.pptxComputer Programming 1 - Chapter- 1.pptx
Computer Programming 1 - Chapter- 1.pptx
MaryGraceTolentino9
 
Introduction_to_Programming.pptx
Introduction_to_Programming.pptxIntroduction_to_Programming.pptx
Introduction_to_Programming.pptx
PmarkNorcio
 
Introduction to system programming
Introduction to system programmingIntroduction to system programming
Introduction to system programming
sonalikharade3
 
lecture Slides - Week 1.programming fundamentals
lecture Slides - Week 1.programming fundamentalslecture Slides - Week 1.programming fundamentals
lecture Slides - Week 1.programming fundamentals
fazayn927
 

Recently uploaded (20)

Migrating to Azure Cosmos DB the Right Way
Migrating to Azure Cosmos DB the Right WayMigrating to Azure Cosmos DB the Right Way
Migrating to Azure Cosmos DB the Right Way
Alexander (Alex) Komyagin
 
IMAGE CLASSIFICATION USING CONVOLUTIONAL NEURAL NETWORK.P.pptx
IMAGE CLASSIFICATION USING CONVOLUTIONAL NEURAL NETWORK.P.pptxIMAGE CLASSIFICATION USING CONVOLUTIONAL NEURAL NETWORK.P.pptx
IMAGE CLASSIFICATION USING CONVOLUTIONAL NEURAL NETWORK.P.pptx
usmanch7829
 
Maximizing Business Value with AWS Consulting Services.pdf
Maximizing Business Value with AWS Consulting Services.pdfMaximizing Business Value with AWS Consulting Services.pdf
Maximizing Business Value with AWS Consulting Services.pdf
Elena Mia
 
Integrating Survey123 and R&H Data Using FME
Integrating Survey123 and R&H Data Using FMEIntegrating Survey123 and R&H Data Using FME
Integrating Survey123 and R&H Data Using FME
Safe Software
 
DevOps for AI: running LLMs in production with Kubernetes and KubeFlow
DevOps for AI: running LLMs in production with Kubernetes and KubeFlowDevOps for AI: running LLMs in production with Kubernetes and KubeFlow
DevOps for AI: running LLMs in production with Kubernetes and KubeFlow
Aarno Aukia
 
Best Inbound Call Tracking Software for Small Businesses
Best Inbound Call Tracking Software for Small BusinessesBest Inbound Call Tracking Software for Small Businesses
Best Inbound Call Tracking Software for Small Businesses
TheTelephony
 
Software Engineering Process, Notation & Tools Introduction - Part 3
Software Engineering Process, Notation & Tools Introduction - Part 3Software Engineering Process, Notation & Tools Introduction - Part 3
Software Engineering Process, Notation & Tools Introduction - Part 3
Gaurav Sharma
 
Generative Artificial Intelligence and its Applications
Generative Artificial Intelligence and its ApplicationsGenerative Artificial Intelligence and its Applications
Generative Artificial Intelligence and its Applications
SandeepKS52
 
Agentic Techniques in Retrieval-Augmented Generation with Azure AI Search
Agentic Techniques in Retrieval-Augmented Generation with Azure AI SearchAgentic Techniques in Retrieval-Augmented Generation with Azure AI Search
Agentic Techniques in Retrieval-Augmented Generation with Azure AI Search
Maxim Salnikov
 
Bonk coin airdrop_ Everything You Need to Know.pdf
Bonk coin airdrop_ Everything You Need to Know.pdfBonk coin airdrop_ Everything You Need to Know.pdf
Bonk coin airdrop_ Everything You Need to Know.pdf
Herond Labs
 
How Insurance Policy Management Software Streamlines Operations
How Insurance Policy Management Software Streamlines OperationsHow Insurance Policy Management Software Streamlines Operations
How Insurance Policy Management Software Streamlines Operations
Insurance Tech Services
 
Neuralink Templateeeeeeeeeeeeeeeeeeeeeeeeee
Neuralink TemplateeeeeeeeeeeeeeeeeeeeeeeeeeNeuralink Templateeeeeeeeeeeeeeeeeeeeeeeeee
Neuralink Templateeeeeeeeeeeeeeeeeeeeeeeeee
alexandernoetzold
 
IBM Rational Unified Process For Software Engineering - Introduction
IBM Rational Unified Process For Software Engineering - IntroductionIBM Rational Unified Process For Software Engineering - Introduction
IBM Rational Unified Process For Software Engineering - Introduction
Gaurav Sharma
 
14 Years of Developing nCine - An Open Source 2D Game Framework
14 Years of Developing nCine - An Open Source 2D Game Framework14 Years of Developing nCine - An Open Source 2D Game Framework
14 Years of Developing nCine - An Open Source 2D Game Framework
Angelo Theodorou
 
How Insurance Policy Administration Streamlines Policy Lifecycle for Agile Op...
How Insurance Policy Administration Streamlines Policy Lifecycle for Agile Op...How Insurance Policy Administration Streamlines Policy Lifecycle for Agile Op...
How Insurance Policy Administration Streamlines Policy Lifecycle for Agile Op...
Insurance Tech Services
 
From Chaos to Clarity - Designing (AI-Ready) APIs with APIOps Cycles
From Chaos to Clarity - Designing (AI-Ready) APIs with APIOps CyclesFrom Chaos to Clarity - Designing (AI-Ready) APIs with APIOps Cycles
From Chaos to Clarity - Designing (AI-Ready) APIs with APIOps Cycles
Marjukka Niinioja
 
Code and No-Code Journeys: The Coverage Overlook
Code and No-Code Journeys: The Coverage OverlookCode and No-Code Journeys: The Coverage Overlook
Code and No-Code Journeys: The Coverage Overlook
Applitools
 
Revolutionize Your Insurance Workflow with Claims Management Software
Revolutionize Your Insurance Workflow with Claims Management SoftwareRevolutionize Your Insurance Workflow with Claims Management Software
Revolutionize Your Insurance Workflow with Claims Management Software
Insurance Tech Services
 
Async-ronizing Success at Wix - Patterns for Seamless Microservices - Devoxx ...
Async-ronizing Success at Wix - Patterns for Seamless Microservices - Devoxx ...Async-ronizing Success at Wix - Patterns for Seamless Microservices - Devoxx ...
Async-ronizing Success at Wix - Patterns for Seamless Microservices - Devoxx ...
Natan Silnitsky
 
The Future of Open Source Reporting Best Alternatives to Jaspersoft.pdf
The Future of Open Source Reporting Best Alternatives to Jaspersoft.pdfThe Future of Open Source Reporting Best Alternatives to Jaspersoft.pdf
The Future of Open Source Reporting Best Alternatives to Jaspersoft.pdf
Varsha Nayak
 
IMAGE CLASSIFICATION USING CONVOLUTIONAL NEURAL NETWORK.P.pptx
IMAGE CLASSIFICATION USING CONVOLUTIONAL NEURAL NETWORK.P.pptxIMAGE CLASSIFICATION USING CONVOLUTIONAL NEURAL NETWORK.P.pptx
IMAGE CLASSIFICATION USING CONVOLUTIONAL NEURAL NETWORK.P.pptx
usmanch7829
 
Maximizing Business Value with AWS Consulting Services.pdf
Maximizing Business Value with AWS Consulting Services.pdfMaximizing Business Value with AWS Consulting Services.pdf
Maximizing Business Value with AWS Consulting Services.pdf
Elena Mia
 
Integrating Survey123 and R&H Data Using FME
Integrating Survey123 and R&H Data Using FMEIntegrating Survey123 and R&H Data Using FME
Integrating Survey123 and R&H Data Using FME
Safe Software
 
DevOps for AI: running LLMs in production with Kubernetes and KubeFlow
DevOps for AI: running LLMs in production with Kubernetes and KubeFlowDevOps for AI: running LLMs in production with Kubernetes and KubeFlow
DevOps for AI: running LLMs in production with Kubernetes and KubeFlow
Aarno Aukia
 
Best Inbound Call Tracking Software for Small Businesses
Best Inbound Call Tracking Software for Small BusinessesBest Inbound Call Tracking Software for Small Businesses
Best Inbound Call Tracking Software for Small Businesses
TheTelephony
 
Software Engineering Process, Notation & Tools Introduction - Part 3
Software Engineering Process, Notation & Tools Introduction - Part 3Software Engineering Process, Notation & Tools Introduction - Part 3
Software Engineering Process, Notation & Tools Introduction - Part 3
Gaurav Sharma
 
Generative Artificial Intelligence and its Applications
Generative Artificial Intelligence and its ApplicationsGenerative Artificial Intelligence and its Applications
Generative Artificial Intelligence and its Applications
SandeepKS52
 
Agentic Techniques in Retrieval-Augmented Generation with Azure AI Search
Agentic Techniques in Retrieval-Augmented Generation with Azure AI SearchAgentic Techniques in Retrieval-Augmented Generation with Azure AI Search
Agentic Techniques in Retrieval-Augmented Generation with Azure AI Search
Maxim Salnikov
 
Bonk coin airdrop_ Everything You Need to Know.pdf
Bonk coin airdrop_ Everything You Need to Know.pdfBonk coin airdrop_ Everything You Need to Know.pdf
Bonk coin airdrop_ Everything You Need to Know.pdf
Herond Labs
 
How Insurance Policy Management Software Streamlines Operations
How Insurance Policy Management Software Streamlines OperationsHow Insurance Policy Management Software Streamlines Operations
How Insurance Policy Management Software Streamlines Operations
Insurance Tech Services
 
Neuralink Templateeeeeeeeeeeeeeeeeeeeeeeeee
Neuralink TemplateeeeeeeeeeeeeeeeeeeeeeeeeeNeuralink Templateeeeeeeeeeeeeeeeeeeeeeeeee
Neuralink Templateeeeeeeeeeeeeeeeeeeeeeeeee
alexandernoetzold
 
IBM Rational Unified Process For Software Engineering - Introduction
IBM Rational Unified Process For Software Engineering - IntroductionIBM Rational Unified Process For Software Engineering - Introduction
IBM Rational Unified Process For Software Engineering - Introduction
Gaurav Sharma
 
14 Years of Developing nCine - An Open Source 2D Game Framework
14 Years of Developing nCine - An Open Source 2D Game Framework14 Years of Developing nCine - An Open Source 2D Game Framework
14 Years of Developing nCine - An Open Source 2D Game Framework
Angelo Theodorou
 
How Insurance Policy Administration Streamlines Policy Lifecycle for Agile Op...
How Insurance Policy Administration Streamlines Policy Lifecycle for Agile Op...How Insurance Policy Administration Streamlines Policy Lifecycle for Agile Op...
How Insurance Policy Administration Streamlines Policy Lifecycle for Agile Op...
Insurance Tech Services
 
From Chaos to Clarity - Designing (AI-Ready) APIs with APIOps Cycles
From Chaos to Clarity - Designing (AI-Ready) APIs with APIOps CyclesFrom Chaos to Clarity - Designing (AI-Ready) APIs with APIOps Cycles
From Chaos to Clarity - Designing (AI-Ready) APIs with APIOps Cycles
Marjukka Niinioja
 
Code and No-Code Journeys: The Coverage Overlook
Code and No-Code Journeys: The Coverage OverlookCode and No-Code Journeys: The Coverage Overlook
Code and No-Code Journeys: The Coverage Overlook
Applitools
 
Revolutionize Your Insurance Workflow with Claims Management Software
Revolutionize Your Insurance Workflow with Claims Management SoftwareRevolutionize Your Insurance Workflow with Claims Management Software
Revolutionize Your Insurance Workflow with Claims Management Software
Insurance Tech Services
 
Async-ronizing Success at Wix - Patterns for Seamless Microservices - Devoxx ...
Async-ronizing Success at Wix - Patterns for Seamless Microservices - Devoxx ...Async-ronizing Success at Wix - Patterns for Seamless Microservices - Devoxx ...
Async-ronizing Success at Wix - Patterns for Seamless Microservices - Devoxx ...
Natan Silnitsky
 
The Future of Open Source Reporting Best Alternatives to Jaspersoft.pdf
The Future of Open Source Reporting Best Alternatives to Jaspersoft.pdfThe Future of Open Source Reporting Best Alternatives to Jaspersoft.pdf
The Future of Open Source Reporting Best Alternatives to Jaspersoft.pdf
Varsha Nayak
 
Ad

introduction to computer programming CPPL1.ppt

  • 1. DEPARTMENT OF COMPUTER SCIENCE 03/06/25 Lecture 1 OVERVIEW OF COMPUTER PROGRAMMING
  • 2. Overview of computer programming Computer Programming  How Do Computers Work?  Basic Programming Concepts  Essentials Of A Programming Language  What Is Computer Programming?  Types Of Computer Programming Languages • #1) Low-level Language • #2) High-level Language  Basic Operations Of A Programming Environment  Necessary Prerequisites/Skills Required For Programming  How To Start Learning Computer Programming?  Where Can We Apply The Skills Of Programming?  Career Options For Programmers Conclusion
  • 3. What Is Computer Programming? Computer Programming is a set of instructions, that helps the developer to perform certain tasks that return the desired output for the valid inputs. A programming language is a set of instructions and syntax used to create software programs. Some of the key features of programming languages include: Syntax: The specific rules and structure used to write code in a programming language. Data Types: The type of values that can be stored in a program, such as numbers, strings, and Booleans. Variables: Named memory locations that can store values. Overview of computer programming
  • 4.  Operators: Symbols used to perform operations on values, such as addition, subtraction, and comparison.  Control Structures: Statements used to control the flow of a program, such as if-else statements, loops, and function calls.  Libraries and Frameworks: Collections of pre-written code that can be used to perform common tasks and speed up development.  Paradigms: The programming style or philosophy used in the language, such as procedural, object-oriented, or functional. Cont.. Cont..
  • 5. Cont.. Cont..  Examples of popular programming languages include Python, Java, C++, JavaScript, and Ruby.  Each language has its own strengths and weaknesses and is suited for different types of projects.  A programming language is a formal language that specifies a set of instructions for a computer to perform specific tasks.  It’s used to write software programs and applications, and to control and manipulate computer systems.  There are many different programming languages, each with its own syntax, structure, and set of commands.  Some of the most commonly used programming languages include Java, Python, C++, JavaScript, and C#.  The choice of programming language depends on the specific requirements of a project, including the platform being used, the intended audience, and the desired outcome.  Programming languages continue to evolve and change over time, with new languages being developed and older ones being updated to meet changing needs.
  • 6. • Now before we understand what programming is, you must know what is a computer. • A computer is a device that can accept human instruction, processes it, and responds to it or a computer is a computational device that is used to process the data under the control of a computer program. • Program is a sequence of instruction along with data. • The basic components of a computer are: 1. Input unit 2. (CPU) Divided into 3(Memory unit, control unit and ALU ) 3. Output unit Cont.. Cont..
  • 7.  Given below is a Mathematical Expression.  Z = X + Y, where X, Y, and Z are the variables in a programming language. If X = 550 and Y = 450, the value of X and Y are the input values that are called literals.  We ask the computer to calculate the value of X+Y, which results in Z, i.e. the expected output. Cont.. Cont..
  • 8.  A PL must be simple, easy to learn and use, have good readability, and be human recognizable.  Abstraction is a must-have Characteristics for a PL in which the ability to define the complex structure and then its degree of usability comes.  A portable PL is always preferred.  PL ’s efficiency must be high so that it can be easily converted into a machine code and its execution consumes little space in memory.  A PL should be well structured and documented so that it is suitable for application development.  Necessary tools for the development, debugging, testing, maintenance of a program must be provided by a PL.  A PL should provide a single environment known as Integrated Development Environment(IDE).  A PL must be consistent in terms of syntax and semantics. Characteristics of a programming Language
  • 9.  Algorithm: A step-by-step procedure for solving a problem or performing a task.  Variable: A named storage location in memory that holds a value or data.  Data Type: A classification that specifies what type of data a variable can hold, such as integer, string, or boolean.  Function: A self-contained block of code that performs a specific task and can be called from other parts of the program.  Control Flow: The order in which statements are executed in a program, including loops and conditional statements.  Syntax: The set of rules that govern the structure and format of a programming language.  Comment: A piece of text in a program that is ignored by the compiler or interpreter, used to add notes or explanations to the code. Basic Terminologies in Programming Languages:
  • 10.  Debugging: The process of finding and fixing errors or bugs in a program.  IDE: Integrated Development Environment, a software application that provides a comprehensive development environment for coding, debugging, and testing.  Operator: A symbol or keyword that represents an action or operation to be performed on one or more values or variables, such as + (addition), – (subtraction), * (multiplication), and / (division).  Statement: A single line or instruction in a program that performs a specific action or operation. Cont.. Cont..
  • 11. • Advantages of programming languages: 1. Increased Productivity: Programming languages provide a set of abstractions that allow developers to write code more quickly and efficiently. 2. Portability: Programs written in a high-level programming language can run on many different operating systems and platforms. 3. Readability: Well-designed programming languages can make code more readable and easier to understand for both the original author and other developers. 4. Large Community: Many programming languages have large communities of users and developers, which can provide support, libraries, and tools. Cont.. Cont..
  • 12. Disadvantages of programming languages: 1.Complexity: Some programming languages can be complex and difficult to learn, especially for beginners. 2.Performance: Programs written in high-level programming languages can run slower than programs written in lower-level languages. 3.Limited Functionality: Some programming languages may not have built-in support for certain types of tasks or may require additional libraries to perform certain functions. 4.Fragmentation: There are many different PL , which can lead to fragmentation and make it difficult to share code and collaborate with other developers. Cont.. Cont..
  • 13. 1. Start with the fundamentals: Begin by learning the basics of the language, such as syntax, data types, variables, and simple statements. This will give you a strong foundation to build upon. 2. Code daily: Like any skill, the only way to get good at programming is by practicing regularly. Try to write code every day, even if it’s just a few lines. 3. Work on projects: One of the best ways to learn a new language is to work on a project that interests you. o It could be a simple game, a web application, or anything that allows you to apply what you’ve learned that is the most important part. 4. Read the documentation: Every programming language has documentation that explains its features, syntax, and best practices. Make sure to read it thoroughly to get a better understanding of the language. Tips for learning new programming language:
  • 14. 5. Join online communities: There are many online communities dedicated to programming languages, where you can ask questions, share your code, and get feedback. Joining these communities can help you learn faster and make connections with other developers. 6. Learn from others: Find a mentor or someone who is experienced in the language you’re trying to learn. Ask them questions, review their code, and try to understand how they solve problems. 7. Practice debugging: Debugging is an essential skill for any programmer, and you’ll need to do a lot of it when learning a new language. Make sure to practice identifying and fixing errors in your code. Cont.. Cont..
  • 15. How Do Computers Work?  A computer is a machine that processes information and this information can be any data that is provided by the user through devices such as keyboards, mice, scanners, digital cameras, joysticks, and microphones. These devices are called Input Devices and the information provided is called input.  The computer requires storage to store this information and the storage is called Memory. 15 Cont.. Cont..
  • 16. Computer Storage or Memory is of Two Types. Primary Memory or RAM (Random Access Memory): This is the internal storage that is used in the computers and is located on the motherboard. RAM can be accessed or modified quickly in any order or randomly. The information that is stored in RAM is lost when the computer is turned off. Secondary Memory or ROM (Read-Only Memory): Information (data) stored in ROM is read-only, and is stored permanently. The ROM stored instruction is required to start a computer. Processing: Operations done on this information (input data) is called Processing. The Processing of input is done in the Central Processing Unit which is popularly known as CPU. Cont.. Cont..
  • 17.  Output Devices: These are the computer hardware devices that help in converting information into human-readable form. Some of the output devices include Visual Display Units (VDU) such as a Monitor, Printer, Graphics Output devices, Plotters, Speakers, etc.  A developer can analyze the problem and come up with simple steps to achieve a solution to this problem, for which he/she uses a programming algorithm. This can be compared to a recipe for a food item, where ingredients are inputs and finished delicacy is the output required by the client. Cont.. Cont..
  • 18. In the development environment, the products, software, and solutions can be designed as scenarios, use cases, and data flow diagrams. •Based on the client’s requirements, the solution required could be desktop, web or mobile-based. Cont.. Cont..
  • 19.  Basic Programming Concepts • Developers should have essential knowledge on the following concepts to become skilled in Computer Programming, • #1) Algorithm: It is a set of steps or instruction statements to be followed to accomplish specific tasks. A developer can design his algorithm to achieve the desired output. For Example, a recipe to cook a dessert. The algorithm describes the steps to be followed for completing a specific task, but it does not say how to achieve any of the steps. • #2) Source code: Source code is the actual text that is used to construct the program using the language of choice. Cont.. Cont..
  • 20. For Example, it is mandatory to have the main method in Java and the text used is as shown below. public static void main(String arg[]) { //Steps to be performed } •#3) Compiler: Compiler is a software program that helps in converting the source code into binary code or byte code, also called machine language, that is easy for a computer to understand, and can be further executed using an interpreter to run the program. Cont.. Cont..
  • 21. • #4) Data Type: Data used in the applications can be of a different type, it can be a whole number (integer), floating-point (decimal point numbers), characters or objects. For Example, double currency = 45.86, where double is a data type used for storing numbers with decimal points. • #5) Variable: is a space holder for the value stored in the memory and this value can be used in the application. For Example, int age = 25, where age is a variable. • #6) Conditionals: Knowledge of how to use a certain condition, such that a set of code should execute only if a certain condition is true. In case of a false condition, the program should exit and should not continue the code further. Cont.. Cont..
  • 22. • #7) Array: Array is the variable that stores elements of a similar data type. Knowledge of using an array in coding/programming will be a great benefit. • #8) Loop: is used to execute the series of code until the condition is true. – For Example, in Java, loops can be used as for loop, do-while, while loop or enhanced for loop. The code for loop is as shown below: for (int I =0; i&amp;amp;lt;10; i++) { System.out.println(i); } Cont.. Cont..
  • 23. • #9) Function: Functions or methods are used to accomplish a task in programming, a function can take parameters and process them to get the desired output. Functions are used to reuse them whenever required at any place repeatedly. • #10) Class: Class is like a template that contains state and behavior, which corresponding to programming is field and method. In Object-Oriented languages like Java, everything revolves around Class and Object. Essentials Of A Programming Language • Just like any other language we use to communicate with others, a programming language is a special language or a set of instructions to communicate with computers. Each programming language has a set of rules (like English has grammar) to follow and it is used to implement the algorithm to produce the desired output. Cont.. Cont..
  • 24. Top Computer Programming Languages • The below table enlists the top Computer Programming Languages and their applications in real life.
  • 25. Let’s see how to select a programming language. The selection of particular programming languages depends on many factors such as: •Targeted Platform and Project/Solution Requirement: Whenever a software solution provider comes across the requirement, there are many options to choose an appropriate programming language. • For Example, if a user wants the solution to be on mobile, then Java should be the preferred programming language for Android. •Influence of Technical Partners with the Organization: If Oracle is a tech partner with the company, then it is agreed to implement software marketed by Oracle in the solution for every project and product developed. If Microsoft is a tech partner with the company, then ASP can be used as a development framework for building web pages. Cont.. Cont..
  • 26. • Competency of available Resources & Learning Curve: The developers (resources) should be available and competent to quickly learn the selected programming language so that they can be productive for the project. • Performance: The selected language should be scalable, robust, platform- independent, secure and should be efficient in displaying results within the acceptable time limit. • Support from the Community: In the case of open-source programming language, the acceptance, and popularity for the language as well as online support from the growing support group should be available. Cont.. Cont..
  • 27. • Computer Programming language can be divided into two types i.e. Low-level Language, and High-level Language. • #1) Low-level Language  Hardware dependent and Difficult to understand • Low-level Language can be further divided into two categories, • Machine Language: Machine dependent, difficult to modify or program, For Example, every CPU has its machine language. The code written in machine language is the instructions that the processors use. • Assembly Language: Each computer’s microprocessor that is responsible for arithmetic, logical and control activities needs instructions for accomplishing such tasks and these instructions are in assembly language. The use of assembly language is in device drivers, low-level embedded systems, and real-time systems. Types Of Computer Programming Languages
  • 28. #2) High-level Language •Independent of hardware •Their codes are very simple and developers can read, write and debug as they are similar to English like statements. •High-level Language can be further divided into three categories. •Procedural Language: Code in the procedural language is a sequential step by step procedure, that gives information like what to do and how to do. Languages such as Fortran, Cobol, Basic, C, and Pascal are a few examples of procedural language. •Non-procedural Language: Code in non-procedural language specify what to do, but does not specify how to do. SQL, Prolog, LISP are a few examples of non-procedural language. •Object-oriented Language: Use of objects in the programming language, where the code is used to manipulate the data. C++, Java, Ruby, and Python are a few examples of Object-oriented language. Cont.. Cont..
  • 29. Basic Operations Of A Programming Environment Five basic elements or operations of programming are listed below:  Input: Data can be input using the keyboard, touch screen, text editor, etc. For Example, to book a flight, the user can enter his login credentials and then select a departure date and return date, the number of seats, starting place and destination place, Name of Airlines, etc, from desktop, laptop or mobile device.  Output: Once authenticated, and upon receiving the request to book the tickets with the mandatory inputs, a confirmation of booking for the selected date and destination will be displayed on the screen, and a copy of the tickets and invoice information is sent to the user’s registered email id and mobile number.  Arithmetic: In case of flight booking, update of the number of seats booked and those seats need some mathematical calculations, further name of the passenger, no. of seats reserved, date of journey, journey start date, and starting place, destination place, etc. should be filled into the airlines server database system.  Conditional: It is required to test if a condition is satisfied or not, based on the condition, the program may execute the function with parameters else it will not get executed.
  • 30. For Example, for (int i = 0; i < 10; i++) { System.out.println(i); } Cont.. Cont.. Looping: It is required to repeat /perform the task until the condition holds. Types of loops can be While loop, Do-while loop, For loop.
  • 31. Necessary Prerequisites/Skills Required For Programming • #1) Self Reliance: To succeed in coding, you should develop a confidence in yourself, control your impatience, frustration and should refrain from being dependent on someone else to help you in solving your technical problems, rather you should be self-reliant and keep faith on your capabilities, monitor your efforts and remain optimistic and perseverant in learning. • #2) Language: It is an individual’s choice to decide which programming languages he/she should learn. A programming language should be selected based on its acceptance in the various domains in software industries. Object-oriented languages like Python and Java, which are free & open-source are widely accepted and used by Google, Yahoo, and NASA. • Java script is another scripting language, a client-side scripting language, but knowing JavaScript will highly benefit web-based application developers. Non- procedural language like SQL is mandatory as it is acceptable by all the back-end databases.
  • 32. • #3) Logic: As a developer or tester, to excel in the programming language, one must always have conditional and logical thinking. It can be improved as we improve our muscles, there are a few sites where one can prepare and improve logical thinking and prepare for programming language. • Freshers live • The Online Test Centre • Indiabix • #4) Attention to Detail: A conscientious and alert person with an eye for details will check his/her work for minute details and this will prevent any syntax error, verify if any steps like unit testing or including API /classes, miss associated jar or class files. For some people, meditation might help to improve focus and concentration while for others taking a walk or playing some mind games might help. You need to find out what works for you. Cont.. Cont..
  • 33. • #5) Abstract Thinking: During sprint meeting in an agile environment, the ability to think out of the box, or see things from different angles/perspectives, help to uncover scenarios for requirements and design considerations. This can be improved by a discussion with others. • #6) Patience: At times, it happens as you write a code, for which you are confident about, verified it a couple of types, it works in your machine, but after integration the code snippet does not work, all the effort to identify the fault go in vain, you feel stressed out, frustrated and feel like good for nothing. • During such times, your ability to overcome the situation, try again from scratch and develop patience will prove the developer to be more mature and he/she gets appreciated for the ability to work under pressure environments like releases and acceptance testing or during client demos. Cont.. Cont..
  • 34. • #7) Strong Memory: Being able to understand and visualize the high- level design, data flow, algorithm, data structure, how they interact with each other will separate you from an average coder. Meditation techniques and memory exercises can help with this as well. Cont.. Cont..
  • 35. How To Start Learning Computer Programming? • As a human, you should have the habit to introspect daily and identify what you have done today, how can you improve yourself, what steps or precautions you will take to avoid difficult situations. Similarly, consider the below points before learning computer programming. • Be honest and think about why you want to learn computer programming. • What is your goal, what will you accomplish in your dream of learning programming? • Choose the right programming language. E.g. Front end programming like JavaScript, PHP, Back end programming like SQL, Java, Python for web-based development.
  • 36. • Check out some interactive tutorials to get familiar with a programming language. w3schools is good to start understanding many programming languages, and w3resource is good to learn SQL queries interactively. • Get a book on selected programming language i.e. SQL for Dummies, JavaScript for Dummies. • Try out some online courses i.e. give a try to Udemy • Learn Data Structures and Algorithms. • Make a project using a selected programming language. • Attempt some certification, and this will make you more confident, knowledgeable and competent. Cont.. Cont..
  • 37. Where Can We Apply The Skills Of Programming? • Ability to Communicate: Communication is an extremely essential quality wherein, you can explain your plan, discuss your doubts, improve your thoughts and exchange information from your superior and your team member. A good communicator can understand and explain the tasks performed in daily reporting, find out how can you improve your thoughts and clear your doubts. During the agile standup meeting & sprint meets, you can communicate the plan of action and can lead the team. • Problem-solving: Accepting challenges and accomplishing difficult tasks will build problem-solving skills and this is a prerequisite for a good developer. During development, you may encounter various issues of understanding the business logic and implementing them into your code, integration of the code with application, compatibility issues and many more challenges. Your problem- solving skills will help you to sail through the most critical situations. • Collaboration/Teamwork: Collaboration skills enable you to work with the team members to accomplish some tasks effectively and thereby improve productivity. • Working in a team at times can result in conflict, due to attitude issues. Hence, by understanding the goal to get better products or improve productivity, anyone can play the role of an excellent team player role.
  • 38. Career Options For Programmers • The career options as a programmer or software developer are many. • The areas or positions for computer programmer are as follows: Web Developer UI Developer User Experience Designer SQL Developer Quality Assurance Automation Test Engineer Software Engineer at Test
  • 39. In the Software Development department his/her responsibilities include the following duties: o Designing and developing custom and complex solutions using various programming languages wherein he/she should be competent, For Example, Java, Python, Javascript, SQL, oracle. o Manage project software delivery lifecycle, that includes planning, design, building, testing, and deployment within the company’s planned delivery framework. o Basic knowledge in Networking, ability to work on Integrated Developer Tools such as Eclipse, NetBeans, Atom, etc. o Should have hands-on working experience with at least one of the CI tools such as Jenkins, Gitlab, Bamboo, etc. o Should able to use Linux / Unix scripts and shell scripting. o Excellent communication and people skills. o Should be a good Team player as well as an Independent Contributor. o Understanding of agile development environment.
  • 40. Conclusion • Through this article, we learned about the internals of computers, how computers work, programming concepts, essentials of programming languages, and basic operations of the programming environment. • We also discussed pre-requisites for programming, the necessary skills required for becoming a programmer, how to start learning and the prospects and career options available in the computer programming field.