It’s always been a challenge to encourage kids into learning how to code. There are a few out there who doesn’t need prodding when it comes to coding, to be sure, but they rare and is part of the minority.
Getting them started is the easy part. Getting them interested is the real roadblock. You have to understand that the attention span of a child isn’t as strong as that of someone, say, in the college level. So teachers often integrate play and learning together – a technique that has been proven time and again if implemented correctly.
There have been a number of high profile stories in the press recently involving errant private text messages of celebrities. According to research published by the IntoMobile website, Americans sent 1 trillion SMS texts in 2008.
With about 3.5 billion SMS text messages sent every day in 2008, the math works out to each and every American wireless customer sending 13 messages per day.
With England being the first country to implement a curriculum teaching kids how to code from a young age of 5 to 14 years old, most parents have been daunted by the change. But the intimidation mostly comes from what the parents don’t know or why the alteration of the curriculum altogether.
Clearing the Fog
According to a survey involving 1,020 parents of children ages 5-18 years old, 60 percent of them were unsure of the changes that were made. Tech firms O2 and Ocado have had similar results.
The new curriculum, which teaches coding and other up-to-date knowledge regarding today’s “computing”, has replaced the old one that focuses on areas becoming obsolete.
The change was inevitable as ministers and various tech companies were criticizing the old curriculum. Michael Gove, England’s former education secretary, describes the alteration as imperative as the new system help develop a child’s understanding of how computers work and how they can make it work for them rather than the old one that delves on concepts that are rapidly becoming antiquated.
Aside from the child developing skills in computing early in life, which opens him up from potential interest that can impact his employment in the future, experts believed that it goes far beyond it.
The argument is that by teaching a child how to code and breaking them down to understand how they work, you are honing their skill in logic. Think of it as a Lego construct being disassembled by a child piece by piece. The dismantling process gives them an early idea on how to tackle a problem by looking at it at a rudimentary level.
Computing is similar. You have a computer and you want it to solve a problem for you. So you develop an algorithm and a set of instructions, building it from the ground up and ensuring that the foundation is sound.
This skill doesn’t only revolve around how computers work but different problems in general; a skill that is highly needed when someone is working with a team on a certain project.
Supporting your child
Some of the intimidation that parents feel comes from their lack of adept understanding of coding and computing altogether. “What if my child asked me something that they don’t quite grasp, what am I to answer them?” some might voice.
You don’t have to learn how to code in order to support your child. Experts suggest that parents showing interest as to what their child is learning is enough encouragement that they can provide.
Also, rather than answering questions, you should throw on yourself that focuses on the subject’s primary level. Bill Mitchell, director of education at BCS – the Chartered Institute for IT – said that it would bring delight to the child explaining something that their parents have little knowledge about.
Of course parents can still go the extra mile by familiarizing with the subject, learning along with their child the concepts behind the entire curriculum. Resources like Tynker and Hopscotch applications is a good way to start, as well as visiting sites like CodeAcademy would greatly help in shedding light on the matter.
But these aren’t necessary. The important thing is that you be there with your child, showing interest with what they’re learning in school, and nurturing curiosity along the way.
Every good software development group has provided management of their applications through the complete lifecycle but it has required a suite of programs to help at every stage. The new term ALM (Application Lifecycle Management) describes more than just a concept but instead a new range of products that extend the software control beyond that of the standard software development life cycle (SDLC).
A Lifecycle of Enforced Management
Almost every company involved in developing software applications has quality controlled by a set of internally agreed rules or a code of practice. It is a fact that most developers want to dive into creating code and most managers want to see something being produced, but this does not create quality applications. The integrated development environments ( IDEs such as those from Borland and Microsoft ) started life as simple compilers with a few additional tools and so management of a quality application lifecycle required a lot of self discipline and enforced control to ensure that critical tasks were carried out.
A New Age of Application Management
As the software development life cycle developed over the years, the IDEs have grown to include many new features to aid in quality functions such as version control, but they have been slow to extend much outside the responsibility of the programmer or analyst. In this new age, however, there is a stronger emphasis on the developers tools providing functions to look after the project right from inception to the day it becomes life-expired. It is this complete managed solution that is called Application Lifecycle Management or ALM.
What is New in ALM?
The main new features are in the project and team management during the development part of the lifecycle and then maintenance of the applications after delivery. Documentation has a much greater emphasis with many tools for creating charts and controlling comments in the code. There are also new features to help test the applications.
UML as a Key Part of ALM
A key new feature of many of the new application development environments is the implementation of the Unified Modeling Language or UML. This function can be tightly integrated into the IDE to provide a means of modeling all or part of an application in both a static view: using objects, attributes, operations and relationships, and in a dynamic view: showing collaborations among objects and changes in state.
UML For Documentation and Code Generation
An excellent feature of Application Lifecycle Management is the importance put on documentation, and UML can play a big part in this. Because of the incredible detail that can be added to the functional descriptions in UML, the documentation can be automatically generated in clear diagrammatic form as can, in fact, the new code itself. There is nothing more likely to ensure documentation is created than if it only takes a push of a button.
The Future of Application Lifecycle Management
The direction that ALM takes software development is good news for the developer, the project manager and the customer. The resulting application should be much more heavily documented and more tightly controlled as bug fixes and extra requirements cause new versions to be created. However there is still room for further improvement as some of the new features are still provided as add-ons or at high extra cost.
There is also room to add functionality that will include the developer in the initial proposals to the customer as this just may allow for a more reasonable expectation of budget and timescale. That really would be complete application lifecycle management.
In our last post we’ve talked about fostering curiosity and passion on the next generation with regards to coding. It’s also been briefly mentioned that the professionals needed to teach students how to code is scarce aggravating the problem.
However, there is a new phenomenon that has recently emerged that may possibly end this dilemma in coding: live streaming.
Watching people code in real time
I know many of you out there are still scratching your heads on why people would watch a live streaming of someone playing a certain game. But now, it would seem the coding community has adapted the trend.
This particular phenomenon has gained enough popularity that a subreddit is organizing a virtual conference via Twitch that would educate people how to code – in real time. The coders invited in this conference will be covering topics such as GUI programming, how terminals work, introductions on search engine, front-end design, and many others.
There are seven talks overall that’ll start at 12:20 UTC up to 21:00 UTC.
Sites have also been made that will cater this niche – Coderstv.com and Livecoding.tv to mention a couple.
While there are skeptics doubting the success of this movement, there are others who have already invested. Livecoding has received backing from European Pioneer that’ll help the site get off the ground. Jamie Green, one of the company’s co-founders, didn’t give an exact amount, although according to the European Pioneers’ site it usually invests $52,000 to $264,000 to its companies.
Can it deliver?
This is the question that others have voiced. There may be excitement watching people play games live, but watching people code? It may be unlikely. There is also the matter of novices versus those who already know the ropes. The knowledge gap between these groups may cause some confusion and frustration from the streamers and viewers, alike.
There is also the matter of how the streamer can hold their viewers’ attention as they go through a particular topic, as well as the ability to simplify things in order for to be understood.
Answers to these questions remains to be seen. However, since these sites, and the whole concept, are at their infancy – Livecoding.tv became available in beta earlier this march as stated by Jamie Green – it is still too early to bring the hammer down.
But if these sites do indeed make it, it would mean a lot to the coding community. It can increase the reputation of coders, bring the coding community closer; it’ll provide more resources on the web about coding, increase the learning progress of other coders, and so much more.
The promise of this phenomenon could potentially bring an end to the scarcity of people who are needed in teaching the next generation how to code, and may even inspire others who haven’t consider teaching as a profession in the first place.
The advancement of technology has evolved faster than ever. Professionals in the computing world admit that they are learning every day because of the speed of the industry’s progression. Given that this is the case; shouldn’t we give a lot more emphasis on the early introduction of the next generation to the IT world? More specifically, coding?
Curiosity and Passion
Yes, everyone should live curious and be passionate about technology. Children today are exposed to a lot of technology (iPads, smartphones, tablets, PCs) and have gained an early affinity and fascination to these devices. The problem, however, is that they aren’t interested in the technology behind them, merely the entertainment that it provides.
To start off, why exactly do we need our youngsters to understand coding at an early age? What would it gain us? Perhaps the biggest benefit that we can gain is to remedy the current shortage of professional programmers and coders that has left a gaping hole in the IT profession.
But coding as a field is a lot to take for, say, a seven year old. So what exactly should we do? Those working on this problem believe that the answer is to foster both curiosity and passion in the field to be carried over to their teenage years and to be further developed in their professional careers.
Upping the Ante
But we should take it a step further. We don’t just need people that can code. We need people that code in a level that explores and develop new technology.
We don’t want someone who’s a worker. We want innovators. We want outside-thinkers. People who take a working code, break it apart, and see what other means that program can offer. What additions should be made to make it more efficient, more useful?
So we foster the child’s curiosity and passion. Do we stop there? No, sir, we don’t. Next is to teach them that quantity doesn’t equal quality. There are thousands out there who can code. But if that code is flawed then problems will surely follow.
Have you ever played a game that’s buggy? Frustrating, right? But what if the program that’s bugging is use in hospitals or businesses or government offices. The repercussion is more than just frustration; it would disrupt the workflow of those mentioned. We can’t prevent flawed codes from trickling through, but we can certainly lessen it.
Everything that has been said is a great theory, and certainly there are projects currently implemented in this regard. But problems still exists, one of which is the lack of teachers capable to teach coding. Egg before chicken, is that what this is?
Given that some of the benefits mentioned can positively impact the business and IT industry, shouldn’t the two be working together? Perhaps some do, but most doesn’t. If the education system lacks the professionals to teach a coding course, why not send someone from the IT industry?
Surely there are ways where the education system, the business industry, and IT profession can work together to end this problem now, would it? As it stands, there are a lot of solutions but nothing seems to be getting the job done. The benefits should have to wait while the problem is being addressed.