As summer again recedes into autumn, our thoughts turn towards cider, pumpkins, and the back-to-school season. Not only is autumn a great season to watch the leaves turn in New England, but it’s a great time of year to renew our own commitments to our personal learning and development. As learning professionals, one would think finding the time for personal development would be natural for us. However, sometimes our best intentions lose out to the reality of everyday life. That’s why I encourage everyone to make a learning plan to determine what new skills will be developed between now and the upcoming summer.
In the spirit of the season, I’m going to suggest 10 technical skills you can acquire this year. These suggestions are designed to help you become more code confident and ready for increased digitalization of our field.
For each skill set that made my back-to-school list, I’ll suggest one or two resources where you can learn for free.
Skill #1: HTML5
If you’ve been in the digital learning field for any period of time, it’s likely you’ve already encountered HTML. HyperText Markup Language is the scaffolding that underlies all content that is displayed in the browser window or LMS. HTML allows you to “mark up” the purpose of each piece of content that you display for a learner. The HTML language is a relatively easy to learn language that will give you a strong understanding of what your authoring tools are doing behind the scenes.
HTML is broken into a series of tags that are applied in a hierarchy that is parallel to the content structure of your page or screen.
Learn HTML for free at Codecademy or from W3Schools.
Skill #2: XML
This is one you’ve likely had less direct contact with as an instructional designer. The eXtensible Markup Language is among the easiest languages to learn. XML has no predetermined tags or commands. It is designed to allow you to create self-documenting code that stores data.
In my opinion, it is something we should have adopted in eLearning a decade ago. XML is the key to separating our content from the delivery of that content. When used correctly, XML can contain all content that a user views, and how that content is delivered can be optimized for that user’s environment.
XML content for how to make grilled cheese might look like this:
<lesson> <lessonName>How to Make A Grilled Cheese Sandwich</lessonName> <lessonDescription>This tutorial will show you how make a Grilled Cheese Sandwich step-by-step</lessonDescription> <ingredients> <ingredient>2 Slices of Bread</ingredient> <ingredient>Butter</ingredient> <ingredient>2 Slices of American Cheese</ingredient> </ingredients> <step stepNum="1">Butter both pieces of bread on both sides</step> <step stepNum="2">Assemble the sandwich by placing the slices of cheese between the slices of bread</step> <step stepNum="3">Melt a tablespoon of butter in a pan</step> <step stepNum="4">Place the sandwich in the pan, turning over when the bread is toasty</step> </lesson>
I bet you can follow the XML code even if you’ve never seen the langauge before!
Learn XML for free at Beginners’ Book.
Skill #3: JSON
JSON is a parallel technology to XML. It has the exact same purpose but has a different structure. Much work in technology today is done using the JavaScript programming language (stay tuned). JSON is essentially XML but formatted with a JavaScript syntax. JavaScript can natively work with JSON code, so it’s becoming the tool of choice for those who need to structure their content and data.
Here’s what the previous example looks like rewritten in JSON code:
{ "lessonName": "How to Make A Grilled Cheese Sandwich", "lessonDescription": "This tutorial will show you how make a Grilled Cheese Sandwich step-by-step", "ingredients": [ "2 Slices of Bread", "Butter", "2 Slices of American Cheese" ], "step": [ { "@stepNum": "1", "#text": "Butter both pieces of bread on both sides" }, { "@stepNum": "2", "#text": "Assemble the sandwich by placing the slices of cheese between the slices of bread" }, { "@stepNum": "3", "#text": "Melt a tablespoon of butter in a pan" }, { "@stepNum": "4", "#text": "Place the sandwich in the pan, turning over when the bread is toasty" } ] }
While not as easy to read through as the previous XML code example, it should still be obvious to you how the JSON structures this content.
Learn JSON for free from Traversy Media’s JSON Crash Course on YouTube.
Skill #4: JavaScript
JavaScript is increasingly becoming the most important full-fledged programming language you can learn. JavaScript is the engine behind any interaction in digital content. When the user clicks a program and there is a response, that response was generated by JavaScript. Authoring tools are typically writing a great deal of JavaScript behind the scenes that is getting executed in LMS systems or web browsers.
JavaScript is also the language behind lots of VR and AR content that seems to be becoming more prevalent in learning. There are libraries in JavaScript not just to handle AR and VR, but 3D graphics, data visualization, and gaming.
Many of the games that are used within learning content are actually written in the JavaScript programming language.
You can learn JavaScript fundamentals for free from Lawrence Turton’s Udemy course. (I’ll also be teaching JavaScript at DevLearn Conference and Expo in Las Vegas on October 22—see the editor's note at the end of this article).
Skill #5: Python
Python is not normally associated with digital learning, but it is associated with big data. More and more, the data generated by our learning content and LMS systems are being explored for helpful trends. Data is providing information to questions about learner behavior, and our content.
Python is the language used most commonly to examine large sets of data, find patterns, and extrapolate conclusions. The good news is: If you want to work with large amounts of data, Python is easy-to-learn, free, and POWERFUL. If you learn Python, you just might be the one to master your organization's learning data.
You can learn Python for free with Allen Downeys eBook Think Python: How to Think Like a Computer Scientist.
Skill #6: Unity Development
Unity is the top environment for developing games. With Unity, you can create games that run any platform from Xbox to your LMS system. Unity is a comprehensive environment for developing 3D and 2D games. It’s powerful enough to construct the most complex games on the market today, yet still approachable for the beginner.
Unity is also being touted as an environment to develop engaging animations and immersive AR and VR experiences.
You can download the free personal edition while you’re learning, and start creating your own games relatively quickly. One of the things I really like about Unity is the diverse and extensive libraries of game components that you can use.
You can have a ball while learning Unity for free with Jonathan Weinberger’s 15 Minute Zombie Shooter tutorial.
Skill #7: C# (for Unity Development)
The true power of Unity is exposed when you learn the C# (pronounced C-Sharp) coding language. While there is a tremendous amount you can do in Unity without coding, the C# language adds a new dimension to what you can do. With C# you can add levels of complexity to your games.
You can learn C# from this free interactive tutorial.
Skill #8: Hybrid Mobile Application Development
Most mobile development shops develop native applications. These are applications targeted for either iOS or Android using the tools suggested by the platforms. For the most part, iOS apps are developed using the Swift programming language in the Mac-only XCode environment. Android apps are developed using Android Studio in either Java or Kotlin.
The iOS and Android development dichotomy have long pained development teams. Because iOs and Android apps are created using different languages and environments, applications have to be maintained on parallel tracks if you want to take advantage of both the Apple and Android user base. (Each platform owns roughly half the market.)
Hybrid mobile app development is the answer to the duel-development problem. Hybrid apps are developed using web standards, tools, and languages. Hybrid mobile apps can be run on any platform because they run inside a web browser. The hybrid method of developing and running apps is advantageous because not only is there only one code base to maintain for the app, but assets developed for the web can be re-purposed.
Hybrid apps are developed in HTML and JavaScript.
This Medium article lists a number of resources for learning about hybrid mobile app development.
Skill #9: Live Streaming Video
By 2022, 80 percent of all web traffic will be video. Having a full understanding of how to stream video, use it interactively, and distribute it will be important for any learning developer’s tool arsenal.
The fastest-growing part of the streaming video world is live video. There is a whole suite of tools and technologies that are used for live video. More and more instructors are interacting with massive large audiences as they teach.
Boxcast offers a free introduction to live streaming.
Skill #10: UI/UXD
In the context of modern media, people very much do judge a book by its cover. This might be a good year to upgrade your User Interface Design and User Experience Design skills.
Your learners are constantly bombarded by high-quality media that is designed to be both entertaining and highly engaging. Some of the learning content being developed today appears a bit stale by comparison.
You can greatly improve the quality of your presentation layer by improving your UI and UXD skills. A great place to start is with the No BS 2 Hour UI Design Course from Micheal Abehsera.
I hope this school year is fruitful for you!
From the editor: Want to know more?
At The eLearning Guild’s DevLearn Conference & Expo 2019, Mark Lassoff will present a full day, hands-on workshop, "BYOD: JavaScript Coding for eLearning Pros." In this pre-conference session, you will learn:
- How to create JavaScript
- How to store information using JavaScript
- How to output content to the user using JavaScript
- How to manage media using JavaScript
- How to process data using JavaScript
- How to make decisions (branch) when coding
- How to integrate JavaScript into your scripting environment
Participants will need to bring a laptop with a free text editor (such as Notepad) and a web browser installed. No prior experience with coding is needed, and you'll be able to take advantage of JavaScript both inside and outside your traditional authoring environment after completing this program. You'll also take home several resources that will allow you to keep learning.