The modern society cannot be denied to have been fully dependable on major computer applications that basically run the most basic operations in the process of daily human living, hence everyone is required to have a basic understanding of what computer programming is all about. From the moment one wakes up and prepares his breakfast using basic appliances in the house to the point of going out and choosing the type of transportation that he is to use to get to his destination, computer programming is involved in making each condition of operation proceed successfully. True, more than anything else, computers have become inevitable elements that make up the modern society’s backbone. This is the reason why even individuals who consider themselves ‘not interested’ in knowing and/or getting involved with computers are faced with the dilemma of responding to a very challenging community that is run by computers (Hartman, 111).
Relatively, the term ‘computer programming’ often brings about a sense of insecurity among many individuals. Most people think that because it is about computers, it is only for the enthusiasts, the ones who are interested in coding and decoding formulas to be able to establish programs using the computer (Resnick, et al, 60). Modern technology has often caused a dilemma for many that individuals begin to shun the idea of even learning basic computer programming for their own benefit.
Nevertheless, there are also those who are up to the challenge. New York City’s Mayor Michael Bloomberg is one among the few individuals who took a stand in taking the challenge of learning to code (NYC Mayor…2012, web) to attain basic learning about computer programming that he believes would help him well with his job and his position. The mayor believes that through developing his coding skills, he would be able to better handle his duties especially that most of the operations in his office are run through computer programs (NYC Mayor…2012, web).
Like the mayor, there are also other individuals, who have already well-aged, who still desire to advance or develop their capacities of being more involved in their work through programming skills. They need not go into deeper technical details of the matter, instead, they simply need to know the basics hence allowing them to operate with the simplest forms of programming that they ought to be able to give attention to in relation to their jobs and their responsibilities in their professions. To respond to this particular demand, Code.org tried to collect the most prominent individuals in the industry and asked them to provide the most competent assistance to individuals around the globe who would want to learn computer programming with the easiest way possible. In the discussion that follows, a distinction on why and how computer programming could actually provide a better sense of indication on what this particular matter has to do in relation to the development of one’s capabilities and personal being.
What People Can Learn from Computer Programming
Unlike what most individuals believe, computer programming is not only a process of putting in codes but also a process that includes both analysis and problem solving. Critical thinking is one specific skill that is crucial for any programmer to posses. Notably, such manner of operation challenges the mind and allows it to work on resolutions that are most capable of resolving issues that insists on the creation of relative programs that would serve as an answer to the problems that have developed through time. Since computers are gradually taking over the lives of human individuals today, such condition of thinking would largely affect the ways by which each person is able to handle his responsibilities in relation to the position he holds in institutions he works for (Monroy-Hernandez, et al, 3421). Not for long, there would be the existence of completely paperless office operations and this particular fact is expected to affect every single institution around the globe. This is where the skill of basic computer programming may come in handy. True, universal usability has emerged as an important issue; the complexity of information and communications technology stems from the highest degree of interactivity (Ben, 38), which is a must to be given attention to.
Several institutions today pay thousands of dollars as they hire computer specialists to complete simple computing tasks that could be handled effectively by any individual given that they were able to take on basic education on computer programming. Resolving simple computing problems is then one of the many reasons why each person is expected to take on basic computer programming education so as to make sure that they become competent enough to handle simple computing tasks and relatively save more money apart from hiring specialists to complete simple tasks that they themselves could accomplish (Kernighan, 78). Understandably, as based from this particular part of the discussion, computer programming education is expected to provide individuals with the chance to develop particular useful skills such as the ones that follow:
When problems occur, a person needs to gain an analytical capacity to give attention to the most relative distinction on how a specific issue could be discovered and likely analyzed on how it affects the overall basic operation of the institution based on the computing systems that they are regularly using (Kernighan, 79).
Critical thinking is described as the process by which a person does not simply accept what is defined as a problem or as an issue (Kernighan, 79). Considered to be more effective with the application of analytical skills, the process of critical thinking actually allows a person to be more keen in researching what causes a problem and thus be able to provide good and effective resolution as needed.
Problem Solving Skills
This skill is defined by the manner by which a person is able to handle a distinctive process of identifying the issue and relatively able to create a decision on how to resolve such matters with the most effective procedures (Weinberg, 67). It could be manifested that such operation could be better handled through effectively seeing through the different elements that define the problem. The application of both analytical and critical thinking could actually make a specific impact on how one shows his problem solving skills to have a distinctive effect on the institution that a person serves.
Resolution Application Skills
When it comes to computer programming procedures, the creation of several alternative approaches in handling particular problems is an unavoidable matter (Weinberg, 69). Relatively, such condition on what needs to be resolved is deducted through problem solving procedures and the resolutions are better identified through a series of tests and examinations that administrators and project managers handle as they intend to provide a relative solution to the issue that has been discovered to be affecting the operations of the institution as a whole.
Developing such skills is important especially for institutional administrators. Gaining such basic skills would allow an administrator to head an institution at a better pace (Stross, 45). Understandably, with such assumption of capabilities, a person becomes more able to establish his position as an asset to the organization than simply performing his assigned tasks (Wing, 113). The question is, how could administrators [who might have already aged through time] be given the chance to learn such skills with the shortest time possible. On the other end, there are also those individuals who work on institutions without full interest on computer programming, how could they be better motivated to incur developmental procedures that is required of them? In the section that follows, one of the simplest yet most effective programming languages used to educate novice computer-users shall be given specific attention to.
What is the Scratch Programming Language?
Scratch programming language is a multimedia tool that is designed to be used by novice computer users. With the use of entertaining animations, this programming tool is highly attractive even to those who may not be interested in learning computer programming (Resnick, et al, 64). Such approach to presenting computer programming education is designed to make it easier for novice computer users to understand and be more involved in the basic programming operations that are commonly used in particular operations. To make the learning more engaging, the animations are applied to make sure that the interaction between program and the students become evident enough to impose proper and improved learning process.
To make the learning more implicative and effective in actually assisting learners to become more effective in handling actual problematic situations relating to computer programming, particular case studies are created to allow the learners engage with plausible situations that they are likely to handle in relation to the said process of computing. Visualizations and experiments are among the most important features of the said program, which allows learners to become more relatively involved in the procedures included within the said automated educational assistance system (Resnick, et al, 65). Event-driven programming allows students to be more involved in the process of computing based on their own developed assumptive use of critical thinking in relation to the matter.
While the latest version of Scratch [which is version 2.0] is only available online, the first versions are likely available for desktop application and installation (Stross, NY Times). The OS setups that the said program runs with include Windows, Mac OS X and Linux (Monroy-Hernandez, 53). This program is then considered to be the most effective and practical process of assisting individuals of all ages to become more involved and interested in the process of computer programming. Making the learning process fun and exciting as well as engaging, this program allows novice computer users to become more involved in the option of using computers in the most basic operations that would impact the capacity of individuals to become more involved on their work and their responsibilities in whatever institutions they may be engaged with.
Computer Programming and the Future
In the future, computer programming is expected to become a basic subject offered even at the lower years of primary education. With basic programs such as scratch programming language, it is assumed that teaching youngsters with the basic operations of computing would be much easier to handle. In this case, the more individuals are expected to become more a capable of handling basic operations of computing later on when they are to engage in actual work-responsibilities. Meanwhile, assisting already well-defined individuals who have already been able to age through time also becomes an easier course to take. Simple engaging computer programming software such as that of Scratch specifically insist on the manner by which novice users are given the specific assistance that they need especially when it comes to developing necessary skills that they ought to give attention to as they engage in several duties at work.
The future holds more for the creation of better options of learning other than the application of the Scratch Programming Language. Most likely, it could be understood that somehow, such option of learning is to be further improved in the future. Animations and interactive designs of handling exciting case studies that would fit the skills and the practice of the learners are among the features of the current version of the Scratch Programming Language learning tool. Relatively, such features are expected to be further defined in the future. Aside from being engaging and interactive, it is expected that more programs shall be developed specifically designed for the particular needs of each user.
For instance, learners [students in schools] have different needs compared to other enthusiasts of the said operation [which could include members of several institutions in the market]. Getting these individuals properly motivated and focused on the learning process they need to embrace is an essential part of developing new programs designed for learning assistance (Mitch, lecture, TEDxBeacon). Considerably, this is what is expected of the future; relatively though, more are hoped to come in handy especially in practically involving learners into becoming more interested in engaging in computer programming options of learning.
When it comes to developing people in line with the progress of computer programming operations in relation to the way life is handled in the modern society, it is expected that the future holds more challenges than what it presents today. Relatively, it could be noted that somehow, the more progressive the world becomes, the more it is required for people to become more interested and respectively efficient in handling simple computing procedures especially when they handle administering positions in several institutions in the community. Most often than not, it could be understood that somehow more are expected from individuals who would wish to take relative positions in small or large institutions in the society.
Being able to take in basic education in relation to computer programming is a necessary step for each individual of any particular age to give consideration to. This is the reason why the future of computer programming is hoped to have a promising status especially when it comes to getting the interest of young learners into the said matter of operation. Most likely, with the administering assistance from educational institutions, more would become capable of operating the computer with full confidence on their competence to handle such technical responsibilities. With the full advancement that the world undergoes today, incurring particular skills relating to proper computer programming operations becomes a requirement rather than just a choice.
With all these expectations in mind, it is rather considered a vital decision for many today to take into consideration the option of learning basic computer programming skills at present. This is in preparation for the option of developing themselves for the options of computing that the future holds. Such preparation shall allow individuals at present to become more competent in handling responsibilities that they are expected to complete in relation to their positions and the institutions that they are working for. While the future presents a promising condition of utilizing computer programming as a tool for social progress, it is essential that each individual takes a distinctive manner by which he considers the chance to utilize both the available time and effort to learn the most basic skills relating to computer programming. Such learning process is expected to equip them with the necessary skills they need not only for the sake of proper computing but for the sake of handling life problems in a more efficient manner.
Ben, Shneiderman. (2003). Leonardo’s Laptop: Human Needs and The New Computing Technologies. Cambridge, MA: The MIT Press. http://books.google.com.ph/books?id=zyRh2eWRCtkC&printsec=frontcover#v=onepage&q&f=false. Retrieved on July 23, 2013.
CODE Organization. http://www.code.org/. Retrieved on July 22, 2013.
Kernighan, Brian W. (1999). The Practice of Programming. Pearson Publishing.
Monroy-Hernández, A.; Resnick, M. (March 2008). “Empowering kids to create and share programmable media” (PDF).ACM interactions 15 (2): 50–53.
Monroy-Hernández, A.; Hill, B.M.; González-Rivero, J.; boyd, d. (2011). “Computers Can’t Give Credit: How Automatic Attribution Falls Short in an Online Remixing Community”. Proceedings of the 29th International Conference on Human Factors in Computing Systems (CHI ’11). ACM. pp. 3421–30.
Resnick, Mitch. Let’s teach kids to code . TEDxBeacon Street. Nov 2012. Lecture. TED: Ideas worth spreading. NYC Mayor Bloomberg Vows to Learn to Code in 2012. http://developers.slashdot.org/story/12/01/07/1935227/nyc-mayor-bloomberg-vows-to-learn-to-code-in-2012. Retrieved on July 22, 2013.
Resnick, M.; Maloney, J.; Monroy-Hernández, A.; Rusk, N.; Eastmond, E.; Brennan, K.; Millner, A.; Rosenbaum, E.; Silver, J.; B.; Kafai, Y. (November 2009). “Scratch: Programming for All”. Comm. ACM 52 (11): 60–67.
Stross, Randall. “Computer Science For the Rest of Us.” New York Times Apr. 2012: 5. Academic Search Complete.
Wing, Jeannette M. “Computational Thinking and Thinking about Computing.” Philos Trans A Math Phys Eng Sci. 2008.