1. Coding..
The closest thing we have to super power
oding is the process of designing, writing, testing, debugging,
and maintaining the source code of computer programs. This
source code is written in one or more programming languages
(such as C++, C#, Java, Python, Smalltalk, etc.). The purpose of
programming is to create a set of instructions that computers use to
perform specific operations or to exhibit desired behaviors. The
process of writing source code often requires expertise in many
different subjects, including knowledge of the application domain,
specialized algorithms and formal logic.
C
Coding can be considered an art, craft, or a major in
engineering, but actually it's a good application of the three, it's
where imagination, science, & humanity come together to create a
beautiful achievement of civilization.
From the early times, coding had a major role in developing
different sciences. Abacus is the first machins created for basic math,
which can be considered a coding machine. n the 1880s, Herman
Hollerith invented the recording of data on a medium that could then
be read by a machine. Prior uses of machine readable media, above,
had been for lists of instructions (not data) to drive programmed
machines such as Jacquard looms and mechanized musical
instruments.
2. The title
"programmer" can be
used to describe anyone
who can produce an
efficient & evolvable
software solution. It's
debatable whether
certificates are required
for programmers to call themselves a professional programmers or
not, In most cases, the discipline is self-governed by the entities which
require the programming, and sometimes very strict environments
are defined (e.g. United States Air Force use of AdaCore and security
clearance). However, representing oneself as a "Professional Software
Engineer" without a license from an accredited institution is illegal in
many parts of the world.
That's good to know, but what would make a person with zero
knowledge in computer science learn how to code? & how?
Lets take Abbas Mohammed as an example, he owns a farm,
wakes up every day at six, do his chores, & return home. He complains
how he always forget to do somethings even if he stayed till the
sunset at the farm.
3. With a software program installed in his phone, Abbas can
organize his daily schedule, set reminders to milk the cows & collect
the eggs, get some vegetables for lunch & return home by six p.m.
With alittle more complicated software that controls machines,
a measured amount of food can be put for animals in specific times of
the day, water the plants, & notify Abbas if he run out of fertilizer.
As an engineer, your main goal is to solve problems in the best
possible way. Which can be provided with a good knowledge in coding
programs & languages.
Quality requirements
Whatever the approach to software development may be, the final
program must satisfy some fundamental properties. The following
properties are among the most relevant:
• Reliability: how often the results of a program are correct. This
depends on conceptual correctness of algorithms, and
minimization of programming mistakes, such as mistakes in
resource management (e.g., buffer overflows and race conditions)
and logic errors (such as division by zero or off-by-one errors).
• Robustness: how well a program anticipates problems not due
to programmer error. This includes situations such as incorrect,
inappropriate or corrupt data, unavailability of needed resources
such as memory, operating system services and network
connections, and user error.
• Usability: the ergonomics of a program: the ease with which a
person can use the program for its intended purpose, or in some
cases even unanticipated purposes. Such issues can make or break
its success even regardless of other issues. This involves a wide
range of textual, graphical and sometimes hardware elements
that improve the clarity, intuitiveness, cohesiveness and
completeness of a program's user interface.
4. • Portability: the range of computer hardware and operating
system platforms on which the source code of a program can be
compiled/interpreted and run. This depends on differences in the
programming facilities provided by the different platforms,
including hardware and operating system resources, expected
behaviour of the hardware and operating system, and availability
of platform specific compilers (and sometimes libraries) for the
language of the source code.
• Maintainability: the ease with which a program can be
modified by its present or future developers in order to make
improvements or customizations, fix bugs and security holes, or
adapt it to new environments. Good practices during initial
development make the difference in this regard. This quality may
not be directly apparent to the end user but it can significantly
affect the fate of a program over the long term.
• Efficiency/performance: the amount of system resources a
program consumes (processor time, memory space, slow devices
such as disks, network bandwidth and to some extent even user
interaction): the less, the better. This also includes correct
disposal of some resources, such as cleaning up temporary files
and lack of memory leaks.
“Our civilization is experiencing unprecedented changes across
many realms, largely due to the rapid advancement of information
technology. The ability to code and understand the power of
computing is crucial to success in today's hyper-connected world.“
says Vice President of America, Al Gore.
Using technology of today without knowing the basics of coding is
like reading a language u can't write with.
At this point dear readers, some of you are thinking okey I get it,
tell me how to code!! Unfortunately I can't, not in one article, but
Mitch Resnick of media lab at MIT can teach u in a series of simple
lessons with simple programming language, at scratch.com.
5. Another useful website is code.org, owned by the two most popular
coding whizzes, Mark zukherburg, facebook creator & bill gates, The
one & only bill gates!
So lets code!
6. Another useful website is code.org, owned by the two most popular
coding whizzes, Mark zukherburg, facebook creator & bill gates, The
one & only bill gates!
So lets code!