Teenage Coding Class? We have a lot of them. If you are lookingto enroll your teen in a coding course, we have published several articles on our UCode blog on teaching teens to code. In all of these posts we share two key insights. The first is that Kids Learn To Code By Coding. It is like a musical instrument or a sport where practice is at the core of developing competence. Technique is important and in our vernacular technique equates to curriculum. But it takes time and practice and good curriculum. The second is that games don’t teach kids to code. Games, like Minecraft, teach kids to play games. Hey, they are fun and that is what they are designed for so play them! But don’t expect to learn to code.
Now you have a teenager in the family. They want to learn to code. As a great parent you recognize the benefit to them of a high school student learning to code. You recognize that as we transition from the manufacturing economy to the information economy, students will need to develop an understanding of and ability to use advanced technologies. Skills like coding and computer programming will be the key to securing a stable and lucrative position in the future workplace. Coding is like a foreign language that the global economy speaks, and to understand it will give today’s young people the power to change the world as they leave school and enter adulthood.
You get all that, but you have some questions. This post is intended to answer the common questions that parents ask us. We have been answering parent’s questions since 2009 – as we teach their kids to code in schools, camps, labs and online. We have run programs in Shanghai, Hong Kong, Hang Zhou, Taipei, Berlin, Ithaca NY, Los Angeles, Mexico, Costa Rica, Saudi Arabia. Regardless of the locale, all parents want their kids to do well so they ask these questions:
There are three languages that your teen should consider. The selection should be made based on their interests, prior coding experience and what they plan to study in university. The three languages are HTML/CSS, Python and Java. Let’s review them.
In HTML/CSS 1 we introduced foundation concepts necessary to build a web application. HTML is the world’s most common coding language for what is known as “mark-up”. This is a structured method of communicating what type of content you want the computer to display. It is a core technology for the web. CSS controls the layout and appearance of a web page. CSS combines typography, color theory, graphics, animation, and page layout to help deliver a site’s message.
The first version of HTML was written by Tim Berners-Lee when he was working as a contractor at CERN, Europe’s High Energy Particle Physics Lab. He conceptualized HTML as a language that web browsers would use to interpret and compose text, images, and other material into web pages. Default characteristics for every item of HTML markup are defined in the browser, and these characteristics can be altered or enhanced by the web page designer’s additional use of CSS. The first publicly available description of HTML was a document called “HTML Tags”, first mentioned in 1991. It defines the initial, relatively simple design of HTML.
Who should consider this as a course of study? 1. Students who have never coded before and are looking for a gentle ramp; 2. Students who are more “left brained” – creative, visual and artistic. 3. Teenagers who want to earn some money on the side. The web is built on HTML and there is a demand for HTML developers.
Python began in an era where almost no one had even heard of the Internet. It was released in 1990 and its first numbered version, 0.9.0, launched in 1991. The language’s inventor, Guido van Rossum, a native of The Netherlands, started the project as nothing more than something to keep him busy as his office was closed over the Christmas holidays . Guido was in an irreverent mood when he decided to construct an upgrade for the existing programming languages that were available at the time. He wanted a language that could make sense to people who didn’t spend 18 hours a day in front of a computer screen, and that would preach simplicity and the beauty of designing something special. Thank you, Guido!
The design principals he followed are sometimes called the “The Zen of Python”. They were that:
While other languages were logical and functional, but also difficult to understand Python made its programming language easy to learn and easy to write. Its tutorials are light-hearted and emphasize a crucial point, that you can do anything, build anything, achieve anything by learning how to code.
That sort of commitment to simplicity was a revolutionary thing and has been a catalyst in transforming coding from something done strictly by Geeks to something approachable by people of all walks of life. The language is easy to learn and fun to use, a spirit that has since been emulated by the likes of Google. Guido and Python have introduced whole new sectors of the population to coding specifically and computer programming in general.
Python uses intuitive commands such as ‘if’, ‘for’, ‘while’, ‘try’, ‘with’ and ‘print’ that are easily recognizable by anyone as young as early grade school children and follow the syntax of basic English composition. Python runs on virtually all major computing systems, including both Windows and Macintosh, allows it to reach virtually every computer user in the world. Its resume outstrips just about every other competitor on the market, as past and current clients include heavyweights like Google, NASA, YouTube, and Industrial Light and Magic – the special effects company owned by Disney.
We would suggest Python coding for teens because of its beginner-friendly design and the fact that it is a required course now at all Ivy League schools, all UC schools and most CalState schools. Python is widely used in the world of artificial intelligence, data sciences, and machine learning. It is only growing in popularity. So, who should take a Python course? Every high school student that plans on going to university. You do not need prior coding experience. Algebra is helpful.
While Java is viewed as a programming language to design applications for the Internet, it is in reality a general all-purpose language which can be used independent of the Internet. It has application to mobile devices.
Java was created at Sun Microsystems, Inc., where James Gosling led a team of researchers in an effort to create a new language that would allow consumer electronic devices to communicate with each other. Java was first released in 1995, and Java’s ability to provide interactivity and multimedia showed that it was particularly well suited for the Web.
Why Is It Called Java? It is customary for the creator of a programming language to name the language anything he/she chooses. The original name of this language was Oak, until it was discovered that a programming language already existed that was named Oak. As the story goes, after many hours of trying to come up with a new name, the development team went out for coffee and the name Java was born.
The difference between the way Java and other programming languages worked was revolutionary. Code in other languages is first translated by a compiler into instructions for a specific type of computer. The Java compiler instead turns code into something called Bytecode, which is then interpreted by software called the Java Runtime Environment (JRE), or the Java virtual machine. The JRE acts as a virtual computer that interprets Bytecode and translates it for the host computer. Because of this, Java code can be written the same way for many platforms (“write once, run anywhere”), which helped lead to its popularity for use on the Internet, where many different types of computers may retrieve the same Web page and more recently in mobile devices.
Python and Java are two very different programming languages, but both can be useful tools for modern developers and data scientists. If you are thinking about learning to code for the first time, then you might find Python easier to pick up. Python’s syntax is designed to be intuitive and its relative simplicity allows newbies to hit the ground running. Conversely, Java has a steeper learning curve but is known for its portability and performance. Learning to code in Java versus Python isn’t mutually exclusive. You can pick one up and learn the other down the road. It’s better to get hands-on with a language now rather than putting it off while searching for the “perfect” choice. Today’s Java programmers can be tomorrow’s Python developers and vice versa.
Java is a good choice if you are analytical, want to take the AP Comp Sci exam, want to develop Android Applications, to develop cross-platform applications are thinking of pursuing a degree in engineering or computer science.
Java is a tool. Python and HTML are is tools. A piano is a tool for making music. It is about how you use the “tool”, not the tool itself. So, how do we build competency using the tool? Well, you have to have a plan and in education that plan is called a “curriculum”. If you want to write clean code, it is important that you build a strong understanding of the core computer science concepts.
The core computer science concepts are like chords in music – they are the foundations – and to play well you must understand the chord progressions. And they are common to any advanced programming language; Java, Ruby, React, JSS. Yes, they are expressed differently and often have subtle difference in how you use them, but they all share a common conceptual foundation.
If you are teenager and you want to establish basic competency, it will take 50-55 hours of class time or work on your own. Typically, this would be divided into 2 courses – an introduction and then a follow-on course that is more advanced. In the introductory coding for teens course, you want to cover the following: Operators, Variables, Data Types, Strings, Functions, Arrays, Comparisons, and If/Else statements, Elif statements, While Loops, For Loops, Nested Loops. These are the core concepts to master.
There are very few recognized industry certification programs. Google and others do not care about certification or what school you hold a degree from. They give you a coding problem and then see how you do. If you write clean code, they make you an offer. That said in our programs we work to prepare students for the www.Python.org certificate.
2 hours per week minimum.
It should cost no more than $400 for a basic course with 16 to 20 units. That is for a course with 3-4 students.
We have recently made all our curriculum available online to parents and educators. You just need to create an account on www.ucode.com. You will find our LMS there with instructional videos, coding exercises, project steps and quizzes. It is very cool. If you need instructional support we have a pay as you go plan where you pay by the minute for what you need or we have traditional classes and 1:1 instruction. We currently have a range of Python courses and HTML/CSS. We teach Java but have not yet filmed it.
If you have not heard of UCode, we have been teaching kids to code since 2009 – actively teaching kids to code in schools, camps, labs and online. Our curriculum is nationally recognized and now it is yours for free. Here are some examples:
HTML/CSS Overview
PyGames Overview
https://www.ucode.com/courses/coding-classes-for-high-school-students
And if you have any questions, reach out by email to [email protected] and we would love to speak with you.
Michael