SlideShare a Scribd company logo
1 of 25
UNDERSTANDING PROGRAMMING
A VERY BASIC PRIMER
cc: striatic - https://www.flickr.com/photos/34427466731@N01
In 1801, Joseph-Marie Jacquard
developed a loom in which the
pattern being woven was controlled
by a paper tape constructed from
punched cards. The paper tape
could be changed without changing
the mechanical design of the loom.
This was a landmark achievement in
programmability.
In former times, if figured designs were
required, this was done on a drawloom. The
heddles with warp ends to be pulled up were
manually selected by a second operator, apart
from the weaver. It was slow and labor-
intensive, with practical limitations on the
complexity of the pattern.
Jacquard recognized that although weaving
was intricate, it was repetitive, and saw that a
mechanism could be developed for the
production of sophisticated patterns.
The loom was controlled by a "chain of cards", a
number of punched cards, laced together into a
continuous sequence. Multiple rows of holes were
punched on each card, with one complete card
corresponding to one row of the design. Each position
in the card corresponds to a hook, which can either be
raised or stopped dependent on whether the hole is
punched out of the card or the card is solid.
The hook raises or lowers the harness, which carries
and guides the warp thread so that the weft will either
lie above or below it. The sequence of raised and
lowered threads is what creates the pattern.
This portrait of Jacquard was woven in silk on
a Jacquard loom and required 24,000
punched cards to create (1839).
Ada Lovelace, the first programmer
Ada Byron was a teenager when she met
Cambridge mathematics professor Charles
Babbage. Babbage was impressed with the
brilliant young woman, and they corresponded
for years. In the design of the Analytical
Engine, she created an algorithm that would
calculate Bernoulli numbers, which is now
considered the first computer program.
Lovelace also explored using numbers to
represent and manipulate data like music and
graphics, forming the basis for modern
computing.
In the late 1880s, the American Herman Hollerith invented
data storage on punched cards that could then be read by a
machine. To process these punched cards he invented the
tabulator, and the keypunch machine. Hollerith's method was
used in the 1890 United States Census. That census was
processed two years faster than the prior census had been.
Hollerith's company eventually became the core of IBM.
By 1920, electromechanical tabulating machines could add,
subtract and print accumulated totals. Machine functions
were directed by inserting dozens of wire jumpers into
removable control panels. When the United States instituted
Social Security in 1935, IBM punched card systems were
used to process records of 26 million workers.
The era of modern computing began with a flurry of
development before and during World War II. Most digital
computers built in this period were electromechanical -
electric switches drove mechanical relays to perform the
calculation. These devices had a low operating speed and
were eventually superseded by much faster all-electric
computers, originally using vacuum tubes.
The Z2 was one of the earliest examples of an
electromechanical relay computer, and was created by
German engineer Konrad Zuse in 1939. It was an
improvement on his earlier Z1; although it used the same
mechanical memory, it replaced the arithmetic and control
logic with electrical relay circuits.
In 1941, Zuse followed his earlier machine up with the Z3, the
world's first working electromechanical programmable, fully
automatic digital computer. The Z3 was built with 2000 relays.
Program code and data were stored on punched film.
Replacement of the hard-to-implement decimal system (used
in Charles Babbage's earlier design) by the simpler binary
system meant that Zuse's machines were easier to build and
more reliable.
Zuse suffered setbacks during World War II when some of his
machines were destroyed in the course of Allied bombing
campaigns. His work remained largely unknown to engineers
in the UK and US until much later, although at least IBM was
aware of it as it financed his post-war startup company in
1946 in return for an option on Zuse's patents.
ENIAC (Electronic Numerical Integrator and
Computer) was Turing-complete, digital and able
to solve a large class of numerical problems
through reprogramming.
ENIAC was designed and primarily used to
calculate artillery firing tables for the United States
Army's Ballistic Research Laboratory. It could add
or subtract 5000 times a second and was capable
of calculating a trajectory that took a human 20
hours in 30 seconds (a 2400× increase in speed).
Machine code or machine language is a
set of instructions executed directly by a
computer's central processing unit (CPU).
Each instruction performs a very specific
task, such as a load, a jump, or an ALU
operation on a unit of data in a CPU
register or memory. Every program directly
executed by a CPU is made up of a series
of such instructions. Early computers
were programmed in machine languages
specific to their physical design.
Cognitive science professor Douglas
Hofstadter has compared machine code to
genetic code, saying that "Looking at a
program written in machine language is
vaguely comparable to looking at a DNA
molecule atom by atom."
Complex programs are quite nearly
impossible to understand or create in
machine languages, and another
approach is necessary for practically
creating useful programs.
FUNDAMENTALS OF CODE
cc: Laurence Vagner - https://www.flickr.com/photos/86078191@N00
Usually a set of instructions, or program,
for a computer is intended to complete a
task that is repetitious, requires
accuracy, and requires speed.
THREE CHARACTERISTICS OF BASIC PROGRAMS
1. Sequence of Commands (the right
commands in the right order)
2. Conditional Structures (do certain things
based on conditions, responses or results of
other actions)
3. Looping Structures (a list of instructions to
follow more than once, for a given number of
loops, or until a condition occurs)
A programming language is a formal
language that specifies a set of
instructions that can be used to produce
various kinds of output. Programming
languages generally consist of
instructions for a computer.
Programming languages can be used to
create programs that implement specific
algorithms.
Pomegranate-Glazed Lamb Kebabs
10 cloves garlic
1/4 cup low-sodium soy sauce
1/2 cup pomegranate juice
1/4 cup honey
2 teaspoons apple cider vinegar
1 1/2 pounds boneless leg of lamb
4 scallions
1 large beefsteak tomato
1/2 red bell pepper
Mince the garlic by hand or in a mini food processor. Transfer to a
gallon-size zip-top bag along with the soy sauce, pomegranate juice,
honey and vinegar. Seal and shake to incorporate.
Trim and discard large bits of fat from the lamb as you cut it into bite-
size chunks. Add the meat to the bag; seal, pressing out as much air
as possible. Massage to distribute the marinade evenly. Let sit for 20
minutes.
Meanwhile, cut the white and light green parts of the scallions into 2-
inch pieces. Cut the tomato into 1/2-inch-thick slices, then cut each of
those into 3 wedges. Cut the red bell pepper into chunks. Toss those
vegetables into the marinade for the last 5 minutes of meat
marinating time.
Preheat a large cast-iron griddle or cast-iron grill pan over medium
heat.
Thread the kebab components onto the skewers in the
following order, starting a few inches down from the blunt
end: lamb, scallion, tomato, lamb, red bell pepper, if using.
Repeat until skewers are complete. Discard the marinade.
Grease the griddle or grill pan with cooking oil spray, then
arrange the skewers on the hot pan. Cook for 3 minutes on
the first side, then turn the kebabs during the next 7 minutes
to brown the meat on all sides. The meat will be done once its
glaze becomes apparent (medium-rare). The vegetables
should be just softened.
Transfer to a platter; let the kebabs sit for about 2 minutes
before serving.
A RECIPE FOR CODING
1. Define your purpose (make kebabs)
2. Define your ingredients
3. Define your tools
4. Combine ingredients and tools in the correct order
5. Define a halt state (the kebabs are cooked and
glazed)
A WORLD OF LANGAUGES
cc: moleculea - https://www.flickr.com/photos/91434711@N06
There are thousands of programming
languages, each created for different reasons
under different circumstances. Some, like
C++, Java, and Python, are closely related to
each other. Others, like SQL and Lisp, work
under different principles and are not related.
POPULAR LANGUAGES
• Python - a Swiss Army Knife useful for everything
from applications to websites to databases.
• JavaScript, HTML, CSS - the three languages that
make up the World Wide Web
• SQL - used with another language to manipulate
huge amounts of data
• LaTeX - Used to format text and math documents
WHERE CAN I LEARN MORE?
• www.SeniorNet.org - free computer literacy
education
• www.gcflearnfree.org - free resources for basic to
advanced computer skills
• www.playcodemonkey.com - a fun game approach
to learning coding fundamentals
• www.codeacademy.com - a gold-standard learn-to-
code resource

More Related Content

Similar to Understanding programming

SSC-ICT 7_History of Computer_031810.pptx
SSC-ICT 7_History of Computer_031810.pptxSSC-ICT 7_History of Computer_031810.pptx
SSC-ICT 7_History of Computer_031810.pptxHaruHaru68
 
Introduction to computer science
Introduction to computer scienceIntroduction to computer science
Introduction to computer sciencederekoei
 
Computer history & evaluation
Computer history & evaluationComputer history & evaluation
Computer history & evaluationFazil Ahamed
 
History of Computer (Evolution in Computern).ppt
History of Computer (Evolution in Computern).pptHistory of Computer (Evolution in Computern).ppt
History of Computer (Evolution in Computern).pptUmairMohmand
 
History and generation of a computer
History and generation of a computerHistory and generation of a computer
History and generation of a computerSanskritSecondarySch
 
History of Computers.pptx
History of Computers.pptxHistory of Computers.pptx
History of Computers.pptxSMohamedImran
 
002-Computer-History.pptx
002-Computer-History.pptx002-Computer-History.pptx
002-Computer-History.pptxARDEN16
 
computer-2.pptx the generation of computer slide.
computer-2.pptx the generation of computer slide.computer-2.pptx the generation of computer slide.
computer-2.pptx the generation of computer slide.santonaislam85
 
presentation by sunriz n sarani
presentation by sunriz n saranipresentation by sunriz n sarani
presentation by sunriz n saraniMehnaz Binte Zia
 
Introduction and history of computers.
Introduction and history of computers.Introduction and history of computers.
Introduction and history of computers.Shahariar Rabby
 
Evo And Gen Of Computers.pptx
Evo And Gen Of Computers.pptxEvo And Gen Of Computers.pptx
Evo And Gen Of Computers.pptxErmias Mesfin
 
The evolution of the computers
The evolution of the computersThe evolution of the computers
The evolution of the computersStephan Nick Beloo
 

Similar to Understanding programming (20)

Chapter#4
Chapter#4Chapter#4
Chapter#4
 
SSC-ICT 7_History of Computer_031810.pptx
SSC-ICT 7_History of Computer_031810.pptxSSC-ICT 7_History of Computer_031810.pptx
SSC-ICT 7_History of Computer_031810.pptx
 
Introduction to computer science
Introduction to computer scienceIntroduction to computer science
Introduction to computer science
 
Computer history & evaluation
Computer history & evaluationComputer history & evaluation
Computer history & evaluation
 
Adv mp&arm.pdf
Adv mp&arm.pdfAdv mp&arm.pdf
Adv mp&arm.pdf
 
History of Computer (Evolution in Computern).ppt
History of Computer (Evolution in Computern).pptHistory of Computer (Evolution in Computern).ppt
History of Computer (Evolution in Computern).ppt
 
History and generation of a computer
History and generation of a computerHistory and generation of a computer
History and generation of a computer
 
History of Computer
History of ComputerHistory of Computer
History of Computer
 
History of computer
History of computerHistory of computer
History of computer
 
A Brief Computer History
A Brief Computer HistoryA Brief Computer History
A Brief Computer History
 
History of Computers.pptx
History of Computers.pptxHistory of Computers.pptx
History of Computers.pptx
 
002-Computer-History.pptx
002-Computer-History.pptx002-Computer-History.pptx
002-Computer-History.pptx
 
C++ 1.pdf
C++ 1.pdfC++ 1.pdf
C++ 1.pdf
 
History of computing
History of computingHistory of computing
History of computing
 
computer-2.pptx the generation of computer slide.
computer-2.pptx the generation of computer slide.computer-2.pptx the generation of computer slide.
computer-2.pptx the generation of computer slide.
 
presentation by sunriz n sarani
presentation by sunriz n saranipresentation by sunriz n sarani
presentation by sunriz n sarani
 
Introduction and history of computers.
Introduction and history of computers.Introduction and history of computers.
Introduction and history of computers.
 
Evo And Gen Of Computers.pptx
Evo And Gen Of Computers.pptxEvo And Gen Of Computers.pptx
Evo And Gen Of Computers.pptx
 
Computer System Organization
Computer System OrganizationComputer System Organization
Computer System Organization
 
The evolution of the computers
The evolution of the computersThe evolution of the computers
The evolution of the computers
 

Recently uploaded

TỔNG HỢP HƠN 100 ĐỀ THI THỬ TỐT NGHIỆP THPT TOÁN 2024 - TỪ CÁC TRƯỜNG, TRƯỜNG...
TỔNG HỢP HƠN 100 ĐỀ THI THỬ TỐT NGHIỆP THPT TOÁN 2024 - TỪ CÁC TRƯỜNG, TRƯỜNG...TỔNG HỢP HƠN 100 ĐỀ THI THỬ TỐT NGHIỆP THPT TOÁN 2024 - TỪ CÁC TRƯỜNG, TRƯỜNG...
TỔNG HỢP HƠN 100 ĐỀ THI THỬ TỐT NGHIỆP THPT TOÁN 2024 - TỪ CÁC TRƯỜNG, TRƯỜNG...Nguyen Thanh Tu Collection
 
OSCM Unit 2_Operations Processes & Systems
OSCM Unit 2_Operations Processes & SystemsOSCM Unit 2_Operations Processes & Systems
OSCM Unit 2_Operations Processes & SystemsSandeep D Chaudhary
 
Improved Approval Flow in Odoo 17 Studio App
Improved Approval Flow in Odoo 17 Studio AppImproved Approval Flow in Odoo 17 Studio App
Improved Approval Flow in Odoo 17 Studio AppCeline George
 
Andreas Schleicher presents at the launch of What does child empowerment mean...
Andreas Schleicher presents at the launch of What does child empowerment mean...Andreas Schleicher presents at the launch of What does child empowerment mean...
Andreas Schleicher presents at the launch of What does child empowerment mean...EduSkills OECD
 
ANTI PARKISON DRUGS.pptx
ANTI         PARKISON          DRUGS.pptxANTI         PARKISON          DRUGS.pptx
ANTI PARKISON DRUGS.pptxPoojaSen20
 
The Story of Village Palampur Class 9 Free Study Material PDF
The Story of Village Palampur Class 9 Free Study Material PDFThe Story of Village Palampur Class 9 Free Study Material PDF
The Story of Village Palampur Class 9 Free Study Material PDFVivekanand Anglo Vedic Academy
 
Sternal Fractures & Dislocations - EMGuidewire Radiology Reading Room
Sternal Fractures & Dislocations - EMGuidewire Radiology Reading RoomSternal Fractures & Dislocations - EMGuidewire Radiology Reading Room
Sternal Fractures & Dislocations - EMGuidewire Radiology Reading RoomSean M. Fox
 
24 ĐỀ THAM KHẢO KÌ THI TUYỂN SINH VÀO LỚP 10 MÔN TIẾNG ANH SỞ GIÁO DỤC HẢI DƯ...
24 ĐỀ THAM KHẢO KÌ THI TUYỂN SINH VÀO LỚP 10 MÔN TIẾNG ANH SỞ GIÁO DỤC HẢI DƯ...24 ĐỀ THAM KHẢO KÌ THI TUYỂN SINH VÀO LỚP 10 MÔN TIẾNG ANH SỞ GIÁO DỤC HẢI DƯ...
24 ĐỀ THAM KHẢO KÌ THI TUYỂN SINH VÀO LỚP 10 MÔN TIẾNG ANH SỞ GIÁO DỤC HẢI DƯ...Nguyen Thanh Tu Collection
 
Personalisation of Education by AI and Big Data - Lourdes Guàrdia
Personalisation of Education by AI and Big Data - Lourdes GuàrdiaPersonalisation of Education by AI and Big Data - Lourdes Guàrdia
Personalisation of Education by AI and Big Data - Lourdes GuàrdiaEADTU
 
會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽
會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽
會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽中 央社
 
Stl Algorithms in C++ jjjjjjjjjjjjjjjjjj
Stl Algorithms in C++ jjjjjjjjjjjjjjjjjjStl Algorithms in C++ jjjjjjjjjjjjjjjjjj
Stl Algorithms in C++ jjjjjjjjjjjjjjjjjjMohammed Sikander
 
e-Sealing at EADTU by Kamakshi Rajagopal
e-Sealing at EADTU by Kamakshi Rajagopale-Sealing at EADTU by Kamakshi Rajagopal
e-Sealing at EADTU by Kamakshi RajagopalEADTU
 
Basic Civil Engineering notes on Transportation Engineering & Modes of Transport
Basic Civil Engineering notes on Transportation Engineering & Modes of TransportBasic Civil Engineering notes on Transportation Engineering & Modes of Transport
Basic Civil Engineering notes on Transportation Engineering & Modes of TransportDenish Jangid
 
Spring gala 2024 photo slideshow - Celebrating School-Community Partnerships
Spring gala 2024 photo slideshow - Celebrating School-Community PartnershipsSpring gala 2024 photo slideshow - Celebrating School-Community Partnerships
Spring gala 2024 photo slideshow - Celebrating School-Community Partnershipsexpandedwebsite
 
male presentation...pdf.................
male presentation...pdf.................male presentation...pdf.................
male presentation...pdf.................MirzaAbrarBaig5
 
ĐỀ THAM KHẢO KÌ THI TUYỂN SINH VÀO LỚP 10 MÔN TIẾNG ANH FORM 50 CÂU TRẮC NGHI...
ĐỀ THAM KHẢO KÌ THI TUYỂN SINH VÀO LỚP 10 MÔN TIẾNG ANH FORM 50 CÂU TRẮC NGHI...ĐỀ THAM KHẢO KÌ THI TUYỂN SINH VÀO LỚP 10 MÔN TIẾNG ANH FORM 50 CÂU TRẮC NGHI...
ĐỀ THAM KHẢO KÌ THI TUYỂN SINH VÀO LỚP 10 MÔN TIẾNG ANH FORM 50 CÂU TRẮC NGHI...Nguyen Thanh Tu Collection
 
An overview of the various scriptures in Hinduism
An overview of the various scriptures in HinduismAn overview of the various scriptures in Hinduism
An overview of the various scriptures in HinduismDabee Kamal
 
會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文
會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文
會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文中 央社
 

Recently uploaded (20)

TỔNG HỢP HƠN 100 ĐỀ THI THỬ TỐT NGHIỆP THPT TOÁN 2024 - TỪ CÁC TRƯỜNG, TRƯỜNG...
TỔNG HỢP HƠN 100 ĐỀ THI THỬ TỐT NGHIỆP THPT TOÁN 2024 - TỪ CÁC TRƯỜNG, TRƯỜNG...TỔNG HỢP HƠN 100 ĐỀ THI THỬ TỐT NGHIỆP THPT TOÁN 2024 - TỪ CÁC TRƯỜNG, TRƯỜNG...
TỔNG HỢP HƠN 100 ĐỀ THI THỬ TỐT NGHIỆP THPT TOÁN 2024 - TỪ CÁC TRƯỜNG, TRƯỜNG...
 
Mattingly "AI & Prompt Design: Named Entity Recognition"
Mattingly "AI & Prompt Design: Named Entity Recognition"Mattingly "AI & Prompt Design: Named Entity Recognition"
Mattingly "AI & Prompt Design: Named Entity Recognition"
 
OSCM Unit 2_Operations Processes & Systems
OSCM Unit 2_Operations Processes & SystemsOSCM Unit 2_Operations Processes & Systems
OSCM Unit 2_Operations Processes & Systems
 
Improved Approval Flow in Odoo 17 Studio App
Improved Approval Flow in Odoo 17 Studio AppImproved Approval Flow in Odoo 17 Studio App
Improved Approval Flow in Odoo 17 Studio App
 
Andreas Schleicher presents at the launch of What does child empowerment mean...
Andreas Schleicher presents at the launch of What does child empowerment mean...Andreas Schleicher presents at the launch of What does child empowerment mean...
Andreas Schleicher presents at the launch of What does child empowerment mean...
 
ANTI PARKISON DRUGS.pptx
ANTI         PARKISON          DRUGS.pptxANTI         PARKISON          DRUGS.pptx
ANTI PARKISON DRUGS.pptx
 
The Story of Village Palampur Class 9 Free Study Material PDF
The Story of Village Palampur Class 9 Free Study Material PDFThe Story of Village Palampur Class 9 Free Study Material PDF
The Story of Village Palampur Class 9 Free Study Material PDF
 
Sternal Fractures & Dislocations - EMGuidewire Radiology Reading Room
Sternal Fractures & Dislocations - EMGuidewire Radiology Reading RoomSternal Fractures & Dislocations - EMGuidewire Radiology Reading Room
Sternal Fractures & Dislocations - EMGuidewire Radiology Reading Room
 
24 ĐỀ THAM KHẢO KÌ THI TUYỂN SINH VÀO LỚP 10 MÔN TIẾNG ANH SỞ GIÁO DỤC HẢI DƯ...
24 ĐỀ THAM KHẢO KÌ THI TUYỂN SINH VÀO LỚP 10 MÔN TIẾNG ANH SỞ GIÁO DỤC HẢI DƯ...24 ĐỀ THAM KHẢO KÌ THI TUYỂN SINH VÀO LỚP 10 MÔN TIẾNG ANH SỞ GIÁO DỤC HẢI DƯ...
24 ĐỀ THAM KHẢO KÌ THI TUYỂN SINH VÀO LỚP 10 MÔN TIẾNG ANH SỞ GIÁO DỤC HẢI DƯ...
 
Personalisation of Education by AI and Big Data - Lourdes Guàrdia
Personalisation of Education by AI and Big Data - Lourdes GuàrdiaPersonalisation of Education by AI and Big Data - Lourdes Guàrdia
Personalisation of Education by AI and Big Data - Lourdes Guàrdia
 
會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽
會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽
會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽
 
Stl Algorithms in C++ jjjjjjjjjjjjjjjjjj
Stl Algorithms in C++ jjjjjjjjjjjjjjjjjjStl Algorithms in C++ jjjjjjjjjjjjjjjjjj
Stl Algorithms in C++ jjjjjjjjjjjjjjjjjj
 
e-Sealing at EADTU by Kamakshi Rajagopal
e-Sealing at EADTU by Kamakshi Rajagopale-Sealing at EADTU by Kamakshi Rajagopal
e-Sealing at EADTU by Kamakshi Rajagopal
 
Basic Civil Engineering notes on Transportation Engineering & Modes of Transport
Basic Civil Engineering notes on Transportation Engineering & Modes of TransportBasic Civil Engineering notes on Transportation Engineering & Modes of Transport
Basic Civil Engineering notes on Transportation Engineering & Modes of Transport
 
Spring gala 2024 photo slideshow - Celebrating School-Community Partnerships
Spring gala 2024 photo slideshow - Celebrating School-Community PartnershipsSpring gala 2024 photo slideshow - Celebrating School-Community Partnerships
Spring gala 2024 photo slideshow - Celebrating School-Community Partnerships
 
male presentation...pdf.................
male presentation...pdf.................male presentation...pdf.................
male presentation...pdf.................
 
ĐỀ THAM KHẢO KÌ THI TUYỂN SINH VÀO LỚP 10 MÔN TIẾNG ANH FORM 50 CÂU TRẮC NGHI...
ĐỀ THAM KHẢO KÌ THI TUYỂN SINH VÀO LỚP 10 MÔN TIẾNG ANH FORM 50 CÂU TRẮC NGHI...ĐỀ THAM KHẢO KÌ THI TUYỂN SINH VÀO LỚP 10 MÔN TIẾNG ANH FORM 50 CÂU TRẮC NGHI...
ĐỀ THAM KHẢO KÌ THI TUYỂN SINH VÀO LỚP 10 MÔN TIẾNG ANH FORM 50 CÂU TRẮC NGHI...
 
An overview of the various scriptures in Hinduism
An overview of the various scriptures in HinduismAn overview of the various scriptures in Hinduism
An overview of the various scriptures in Hinduism
 
OS-operating systems- ch05 (CPU Scheduling) ...
OS-operating systems- ch05 (CPU Scheduling) ...OS-operating systems- ch05 (CPU Scheduling) ...
OS-operating systems- ch05 (CPU Scheduling) ...
 
會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文
會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文
會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文
 

Understanding programming

  • 1. UNDERSTANDING PROGRAMMING A VERY BASIC PRIMER cc: striatic - https://www.flickr.com/photos/34427466731@N01
  • 2. In 1801, Joseph-Marie Jacquard developed a loom in which the pattern being woven was controlled by a paper tape constructed from punched cards. The paper tape could be changed without changing the mechanical design of the loom. This was a landmark achievement in programmability.
  • 3. In former times, if figured designs were required, this was done on a drawloom. The heddles with warp ends to be pulled up were manually selected by a second operator, apart from the weaver. It was slow and labor- intensive, with practical limitations on the complexity of the pattern. Jacquard recognized that although weaving was intricate, it was repetitive, and saw that a mechanism could be developed for the production of sophisticated patterns.
  • 4. The loom was controlled by a "chain of cards", a number of punched cards, laced together into a continuous sequence. Multiple rows of holes were punched on each card, with one complete card corresponding to one row of the design. Each position in the card corresponds to a hook, which can either be raised or stopped dependent on whether the hole is punched out of the card or the card is solid. The hook raises or lowers the harness, which carries and guides the warp thread so that the weft will either lie above or below it. The sequence of raised and lowered threads is what creates the pattern.
  • 5. This portrait of Jacquard was woven in silk on a Jacquard loom and required 24,000 punched cards to create (1839).
  • 6. Ada Lovelace, the first programmer
  • 7. Ada Byron was a teenager when she met Cambridge mathematics professor Charles Babbage. Babbage was impressed with the brilliant young woman, and they corresponded for years. In the design of the Analytical Engine, she created an algorithm that would calculate Bernoulli numbers, which is now considered the first computer program. Lovelace also explored using numbers to represent and manipulate data like music and graphics, forming the basis for modern computing.
  • 8. In the late 1880s, the American Herman Hollerith invented data storage on punched cards that could then be read by a machine. To process these punched cards he invented the tabulator, and the keypunch machine. Hollerith's method was used in the 1890 United States Census. That census was processed two years faster than the prior census had been. Hollerith's company eventually became the core of IBM. By 1920, electromechanical tabulating machines could add, subtract and print accumulated totals. Machine functions were directed by inserting dozens of wire jumpers into removable control panels. When the United States instituted Social Security in 1935, IBM punched card systems were used to process records of 26 million workers.
  • 9. The era of modern computing began with a flurry of development before and during World War II. Most digital computers built in this period were electromechanical - electric switches drove mechanical relays to perform the calculation. These devices had a low operating speed and were eventually superseded by much faster all-electric computers, originally using vacuum tubes. The Z2 was one of the earliest examples of an electromechanical relay computer, and was created by German engineer Konrad Zuse in 1939. It was an improvement on his earlier Z1; although it used the same mechanical memory, it replaced the arithmetic and control logic with electrical relay circuits.
  • 10. In 1941, Zuse followed his earlier machine up with the Z3, the world's first working electromechanical programmable, fully automatic digital computer. The Z3 was built with 2000 relays. Program code and data were stored on punched film. Replacement of the hard-to-implement decimal system (used in Charles Babbage's earlier design) by the simpler binary system meant that Zuse's machines were easier to build and more reliable. Zuse suffered setbacks during World War II when some of his machines were destroyed in the course of Allied bombing campaigns. His work remained largely unknown to engineers in the UK and US until much later, although at least IBM was aware of it as it financed his post-war startup company in 1946 in return for an option on Zuse's patents.
  • 11. ENIAC (Electronic Numerical Integrator and Computer) was Turing-complete, digital and able to solve a large class of numerical problems through reprogramming. ENIAC was designed and primarily used to calculate artillery firing tables for the United States Army's Ballistic Research Laboratory. It could add or subtract 5000 times a second and was capable of calculating a trajectory that took a human 20 hours in 30 seconds (a 2400× increase in speed).
  • 12. Machine code or machine language is a set of instructions executed directly by a computer's central processing unit (CPU). Each instruction performs a very specific task, such as a load, a jump, or an ALU operation on a unit of data in a CPU register or memory. Every program directly executed by a CPU is made up of a series of such instructions. Early computers were programmed in machine languages specific to their physical design.
  • 13. Cognitive science professor Douglas Hofstadter has compared machine code to genetic code, saying that "Looking at a program written in machine language is vaguely comparable to looking at a DNA molecule atom by atom." Complex programs are quite nearly impossible to understand or create in machine languages, and another approach is necessary for practically creating useful programs.
  • 14. FUNDAMENTALS OF CODE cc: Laurence Vagner - https://www.flickr.com/photos/86078191@N00
  • 15. Usually a set of instructions, or program, for a computer is intended to complete a task that is repetitious, requires accuracy, and requires speed.
  • 16. THREE CHARACTERISTICS OF BASIC PROGRAMS 1. Sequence of Commands (the right commands in the right order) 2. Conditional Structures (do certain things based on conditions, responses or results of other actions) 3. Looping Structures (a list of instructions to follow more than once, for a given number of loops, or until a condition occurs)
  • 17. A programming language is a formal language that specifies a set of instructions that can be used to produce various kinds of output. Programming languages generally consist of instructions for a computer. Programming languages can be used to create programs that implement specific algorithms.
  • 18. Pomegranate-Glazed Lamb Kebabs 10 cloves garlic 1/4 cup low-sodium soy sauce 1/2 cup pomegranate juice 1/4 cup honey 2 teaspoons apple cider vinegar 1 1/2 pounds boneless leg of lamb 4 scallions 1 large beefsteak tomato 1/2 red bell pepper
  • 19. Mince the garlic by hand or in a mini food processor. Transfer to a gallon-size zip-top bag along with the soy sauce, pomegranate juice, honey and vinegar. Seal and shake to incorporate. Trim and discard large bits of fat from the lamb as you cut it into bite- size chunks. Add the meat to the bag; seal, pressing out as much air as possible. Massage to distribute the marinade evenly. Let sit for 20 minutes. Meanwhile, cut the white and light green parts of the scallions into 2- inch pieces. Cut the tomato into 1/2-inch-thick slices, then cut each of those into 3 wedges. Cut the red bell pepper into chunks. Toss those vegetables into the marinade for the last 5 minutes of meat marinating time. Preheat a large cast-iron griddle or cast-iron grill pan over medium heat.
  • 20. Thread the kebab components onto the skewers in the following order, starting a few inches down from the blunt end: lamb, scallion, tomato, lamb, red bell pepper, if using. Repeat until skewers are complete. Discard the marinade. Grease the griddle or grill pan with cooking oil spray, then arrange the skewers on the hot pan. Cook for 3 minutes on the first side, then turn the kebabs during the next 7 minutes to brown the meat on all sides. The meat will be done once its glaze becomes apparent (medium-rare). The vegetables should be just softened. Transfer to a platter; let the kebabs sit for about 2 minutes before serving.
  • 21. A RECIPE FOR CODING 1. Define your purpose (make kebabs) 2. Define your ingredients 3. Define your tools 4. Combine ingredients and tools in the correct order 5. Define a halt state (the kebabs are cooked and glazed)
  • 22. A WORLD OF LANGAUGES cc: moleculea - https://www.flickr.com/photos/91434711@N06
  • 23. There are thousands of programming languages, each created for different reasons under different circumstances. Some, like C++, Java, and Python, are closely related to each other. Others, like SQL and Lisp, work under different principles and are not related.
  • 24. POPULAR LANGUAGES • Python - a Swiss Army Knife useful for everything from applications to websites to databases. • JavaScript, HTML, CSS - the three languages that make up the World Wide Web • SQL - used with another language to manipulate huge amounts of data • LaTeX - Used to format text and math documents
  • 25. WHERE CAN I LEARN MORE? • www.SeniorNet.org - free computer literacy education • www.gcflearnfree.org - free resources for basic to advanced computer skills • www.playcodemonkey.com - a fun game approach to learning coding fundamentals • www.codeacademy.com - a gold-standard learn-to- code resource