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).
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.
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