Every school day we choose an important or interesting New York Times article to feature in our Lesson of the Day and pair it with a warm-up, critical-thinking questions and a going-further activity. The activities and questions are designed to help students understand the article, contextualize it within current and historical events, and connect it to their own lives.
To learn how you can use Lessons of the Day to build literacy skills, promote critical thinking, prompt discussion and foster creativity in your classroom, watch our three-minute tutorial video or our on-demand webinar.
On Sept. 7, we’ll begin publishing new daily lesson plans for the 2021-22 school year, but until then and beyond we hope you find and discover articles in this collection that feel interesting and relevant to your curriculum and your students’ lives.
What would you like us to cover next school year? Let us know in the comments, and have a wonderful summer.
Nell Ní Chróinín is a seannós singer from the Múscraí Gaeltacht in County Cork. Since her earliest days, she has been immersed in seannós singing – the ancient singing tradition of the area. Nell’s mastery of her art has seen her recognised as one of the country’s top seannós singers. From taking prizes at Fleadh Cheoil na hÉireann in 2005 and 2006, to being named Musician of the Year at TG4’s Music Awards in 2012, Nell’s dedication to her craft has seen her win a host of accolades.
Since 2016, she has been a member of Danú, the highly respected and long-running Irish traditional group. Nell’s expertise and commitment to keeping seannós singing alive and well make her the perfect teacher for Alison’s Seannós Singing Courses. She spoke to the Alison Blog about why she started singing and why you should too!
Hi Nell, can you tell us a bit about yourself and your musical background?
My name is Nell Ní Chróinín and I come from a small village called Ballingeary in the Múscraí Gaeltacht in County Cork. The Gaeltacht areas are the pockets all over Ireland where the Irish language is spoken on a daily basis. It was my first language growing up and I was always interested in the language. When I started singing, all my songs were in Irish, which is natural for seannós singing.
The term seannós means “old tradition” and that’s essentially what it is. It’s the oldest singing tradition we have in this country. It’s hundreds and hundreds of years old.
Both my parents sing and I started singing from a very young age. There’s a very strong seannós singing tradition in Múscraí and so it was always around me when I was growing up. I heard lots of really well known local singers singing in the seannós style so, to me, singing acapella – unaccompanied – was never something that was out of the ordinary, even though it’s not very common generally.
Muscraí is obviously very important to your musical heritage. Can you tell us a bit more about its seannós singing tradition?
Múscraí has a strong tradition of seannós singing, even more so than the tradition of music. Sometimes if you’re at a session and if somebody sings on their own, people mightn’t listen. But in Múscraí, there’s a lot of respect for the songs, with singers taking centre stage before musicians.
Growing up I went to sessions and heard and witnessed singers singing on their own. Diarmuid O Súilleabháin was a great singer from Múscraí who died the year I was born. A festival was set up in his honour, which is mainly based around singing, and I used to go to it every year. It was great because you got to meet singers from all over the country. While there are lots of different styles of seannós, I grew up singing in the Múscraí style.
When I was young, there was a scheme set up called Scéim Amhránaíochta Aisling Gheal (the Aising Geal Singing Scheme), which was set up to encourage local children to sing the local songs and to preserve them because we have such a strong tradition of local seannós songs and songwriters.
I started going to the lessons when I was about ten years of age and my teacher was Máire Ní Chéilleachair, who’s a very well-known and well-established seannós singer. I went to these free singing lessons every week until I was about 17. They weren’t formal lessons like you’d have in classical styles of singing. Instead I got to learn about the history of the songs and about the locality because a lot of the songs were written locally and were about the area.
I’m glad I had the classes because I think I needed that formal weekly structure of learning the songs. That teaching scheme is still going today. They’re still teaching the local songs to kids as young as 9, which is great.
How did your musical career develop from those early days?
While I was taking the lessons, I was also entering competitions like the Fleadh Ceoil and Oireachtas na Samhna (traditional Irish music competitions) and winning under-age competitions, which helps get your name around the place. I liked going to festivals because you’d meet singers you’re own age which encouraged me because it was good craic.
By the time I stopped going to the lessons, I had sung at a couple of local festivals and people were interested in my singing, so I got asked to sing at more and more events. I just continued singing at festivals and building a bit of a reputation for myself.
How did you end up becoming a professional musician?
When I went to college in Limerick I did primary school teaching, I didn’t actually study music. I was involved in both the Cumann Gaelach and the trad society there and we had weekly sessions where I’d always sing a few songs.
On the weekends, I’d go to festivals, sometimes as a guest. As I got older I was asked to teach workshops and then, when I was in my early twenties, I was asked to sing on a CD with a band called the Raw Bar Collective. We recorded an album live in a pub and that was my first release.
Then in 2016, I was asked to join the band Danú. By then I was teaching full time so I had to make the decision whether or not I was going to leave teaching. I just felt that if I didn’t take the opportunity, I’d have been raging with myself. I know everybody likes the security of a steady job but there was something in the back of my head that said that if I didn’t do it then, then I’d never do it. So I left teaching.
What was it like joining such an established and well-known group as Danú?
I was a huge fan of Danú growing up and they’ve always had really good singers like Ciarán Ó Gealbháin and Muireann Nic Amhlaoibh. They’ve always respected songs in Irish, which are the majority of the songs I sing.
It was a big transition for me because seannós singing is obviously acapella so I’m used to performing on my own. Going from that to performing with five other lads on stage was a bit of a change but I adapted. The lads made me feel very comfortable and they were very respectful towards the songs which is something that I’m very passionate about – that the songs are arranged appropriately to suit the lyrics, the mood and the voice. Because I didn’t have much experience of singing with accompaniment, the musicians were following me, rather than me following the music.
It’s really collaborative and I’m really enjoying it. We haven’t performed together since last March but I’m looking forward to hopefully getting back on the road with them again soon.
What is it you love about seannós singing?
I think that singing is a very personal thing. Not that playing music isn’t, but with singing you can’t hide behind your instrument. Your voice is your instrument. I might sing a song today, and I might sing it again tomorrow but I might not be feeling as good so I’ll never sing the song the same way. It changes from day to day depending on how you’re feeling.
When I’m listening to a singer, I love hearing the stories of the songs. In Irish, you say abair amhráin – “tell a song” – because you’re telling a story. It really catches you as a listener when you can hear the emotion of the song coming across when the singer is telling the story. It really makes for an effective singer if you can tell the story from the point of view of the person that wrote it.
Why would you recommend learning seannós singing to people?
For me, there is so much life and soul and heart in Irish songs. You can’t help tapping your feet to the fast tunes and, at the same time, you can be brought to tears by the slow airs and the sad songs.
Another reason is that Irish traditional music is such a small world and the singers and musicians are so welcoming and generous with their time. Seannós singing is an ancient oral tradition and it’s it’s our tradition that we’re proud of as Irish people. And we don’t want to see it die out so you want to ask people to join in in a session and encourage the younger generation to keep it alive. When you sing a seannós song, you’re taking part in an ancient tradition.
Alison is delighted to announce the publication of our free online Irish Traditional Music courses, produced by some of Ireland’s most talented musicians. As an Irish company, Alison is proud of Ireland’s rich musical heritage and is excited to offer these free courses to our growing community of over 20 million Learners worldwide.
The project has been spearheaded by Doireann Ní Ghlacáin, a presenter on the Irish TV station TG4 and a highly respected fiddle player. Besides coordinating this unique project, Doireann is also the subject matter expert responsible for the Irish Fiddle courses. Doireann is delighted for the opportunity to share her unparalleled knowledge of her instrument with Alison’s millions of Learners.
A fiddle player almost as soon as she could walk, Doireann Ní Ghlacáin has stellar Irish heritage credentials and is passionate about all aspects of the culture. Her maternal grandfather is the famous composer and arranger Seán Ó Riada who is acknowledged as a giant of the 1960s Irish music revival, while her paternal grandfather, Tom Glackin, was an accomplished fiddle player from Donegal. He taught his children the instrument and they passed the skills on to Doireann and her talented siblings and cousins. As she says herself, “Music is very much the family business.”
Although Doireann plays fiddle in the Donegal style, and retains a strong connection to that north-western county, she was brought up in Dublin where her father, Kevin Glackin, played a key role in the capital’s resurgent traditional music scene. Doireann’s mother, Dorcha Ní Riada instilled in her a love of language. She came from Cúil Aodha (Coolea), a village in the Múscraí (Muskerry) Gaeltacht region of Co Cork, and so Doireann was brought up as a Gaeilgeoir, or native Irish speaker, and, as you might expect, as a singer. “My mother nurtured a love of sean nós singing in us and we spent our childhoods between Dublin and Cúil Aodha, where I learned the songs from the area.”
Unsurprisingly, Doireann’s life has revolved around performing and teaching the fiddle and she tours regularly with concertina player Sarah Flynn. They recorded an album, The Housekeepers, in tribute to the great women of the Irish musical tradition, and have performed from China to the USA and all over Europe. An appearance on the national Irish language TV network TG4 a few years ago led to her becoming a presenter and she’s now a familiar face to viewers. She hasn’t neglected her own education, however, and has a degree in Irish and History, a Masters in Irish Literature and is currently doing a PhD in Irish and Ethno-Musicality, focusing on the songs of the Muskerry Gaeltacht.
When commissioned to create this suite of Irish Traditional Music courses exclusively for Alison, she called concertina player and camera man Liam O’Brien and the pair worked closely on the project, with Liam recording the videos. “We knew we wanted the top musicians in their field and that’s what these courses provide that is unique. The teachers are all young musicians at the top of their game. I love to sit down and listen to their music. As fellow musicians we were able to work together and make sure the lessons were accessible to learners.”
All of the subject matter experts behind the courses are experienced teachers in their respective instruments. “That’s the lovely thing in Irish traditional music. You’ve been taught for years and then when you master your craft, you go and teach it to others. Whereas in other art forms it’s very much about you, in Irish traditional music you are aware of being a link in the chain. You learn it from somebody and you pass it on to the next generation. All the teachers are very aware that we’re just bearers of the tradition and we must pass it on to the next generation as best we can and while being as truthful to the tradition as we can.”
“I love the vision of Alison in regards to these free courses and the learning of music – that it is a joy of life, and everyone should have access to learn how to play musical instruments without respect to their financial circumstances.”
Today, almost everyone we know can use a computer, which can perform mind-blowing calculations in the blink of an eye thanks to computer programmers. And as you start your new career in programming and development, you might be wondering about the history of it all. If doctors can look to Hippocrates and engineers to Archimedes, who do computer programmers turn to as the one who started it all? It can be a tricky question, especially since it’s not always clear what exactly programming is and what counts as a computer.
So, what’s technically considered a computer? In the most general sense, a computer is any machine that can automatically carry out a mathematical or logical operation based on a given input.
Today, it’s all too easy to limit our thinking to electronic computers, which were invented and developed within the last 100 years. But centuries before electronic computers, people all over the industrialized world were using mechanical computers, which used levers and gears to perform simple addition for shopkeepers and accountants as well as complex mathematical operations.
And what exactly is programming? People still argue about the precise definition of computer programming, but here’s a very basic history of the term. The earliest examples of computers were impressive (more on that below), but they weren’t programmable. In other words, they were designed and built to perform one function or a specific set of functions. With programming, on the other hand, anyone (not just the computer designer) can put together a set of instructions that tell a computer what to do next.
Ada Lovelace: the first computer programmer
By these commonly held definitions of computers and programming, Ada Lovelace (1815–1852) is known as the world’s first computer programmer. Lovelace combined the power of a general-purpose computer with a specific programming language to perform a computational task that wasn’t “built-in” in the computer’s design.
Who was Ada Lovelace?
Ada Lovelace — or, officially, Augusta Ada King, Countess of Lovelace — was herself born into a well-known family. Her father was Lord Byron, the great Romantic poet who wrote Don Juan, among others.
As a child, Ada’s interest and skill in math and logic were clear, and fortunately, her mother promoted these interests. When she was officially presented to society at age 17, Ada quickly became well known for her intelligence, and she soon married the future Earl of Lovelace. Unfortunately, Ada Lovelace died tragically young at 36 from uterine cancer.
As an Englishwoman living during the Industrial Revolution, Lovelace was part of a distinguished group of the earliest pioneers in electricity, computing, and telecommunications. Her contemporaries and frequent contacts included Michael Faraday, who discovered electromagnetic induction, and Charles Wheatstone, who contributed to the development of telegraphy. Still, it was during her collaboration with Charles Babbage, often known as “the father of the computer,” that she made her most important contributions to computing and programming.
But before we get into that, let’s take a look at the state of computing and programming by the time Ada Lovelace came onto the scene.
Computers and programming before Ada Lovelace
The Antikythera Mechanism: the earliest known computer
In 1900, a Greek captain and his crew of divers came across an ancient shipwreck near the island of Antikythera. Among the many “normal” artifacts — coins, jewelry, pottery, and so on — a strange mechanism was discovered that dates to the 2nd or 1st Centuries BCE. The device could predict eclipses and astronomical events years in advance and was also used to track the four-year cycle of the Olympic games. The Antikythera mechanism is therefore the earliest known example of an analog computer.
The writer: a clockwork boy
Almost 2,000 years after the Antikythera Device, it was watchmakers who were pushing the boundaries of automation and early programming. One of the most intricate examples is “The Writer,” a mechanical doll created in 1774 by Swiss watchmaker Pierre Jaquet-Droz. Comprising over 6,000 moving parts, this small “boy” could write short messages made up of letters that can be removed, added, and rearranged.
Punch cards: the first removable storage
Those of us of a certain age might remember — or at least, will have heard of — the days of programming with punch cards: those vast collections of paper cards punched with holes seemingly at random. Believe it or not, punch cards have been used since 1804, when Joseph-Marie Jacquard patented a special system for his looms. To use a traditional loom, the weaver must select which threads to use and manually raise and lower each set of threads for each row of the weave.
The Jacquard loom punch cards automated this. Threads that corresponded with punch card holes were lifted up while threads under parts of the card with no holes stayed put. For the next row of the weave, another punch card was used. As you might imagine, the Jacquard loom was able to produce the most complicated weave patterns in a fraction of the time. What was even more revolutionary was that the punch cards were replaceable and transportable, leading to the first known example of removable storage.
Ada Lovelace’s first computer program
With Jaquet-Droz’s precise mechanical system and Jaquard’s punch cards already well known in 19th-Century England, it’s no surprise that someone thought to combine the two. The Analytical Engine designed by Charles Babbage was a mechanical computer capable of logical operations, loops, and conditional branching. It even was able to store numbers.
Although the Analytical Engine was never built, Ada Lovelace became an expert in its design and operation. And in 1843, she translated a French description of the machine into English. In the translation, Lovelace added her copious notes and annotations, which included a method of calculating Bernoulli numbers using the Analytical Engine. This became known as the world’s first complete computer program.
The computer as more than just a calculator
Lovelace’s contribution to modern programming and computing extended beyond simply putting together a program. Almost everyone in Lovelace’s time, including Babbage, saw the future of computing as just a way to solve complex mathematical functions.
But, Lovelace believed that numerical outputs generated by computers could be used to represent just about anything, from mathematical solutions to musical notes to letters and words. Needless to say, it’s thanks to progressive thinkers like Lovelace that programming has advanced to what it is today: capable of performing almost any task through computers, robots, and everyday devices in our homes.
The legacy of Ada Lovelace
It’s thanks to Ada Lovelace’s combined technical skills and visionary insight that computer programming is such an important and respected career path today. And while it can be daunting to figure out what you need to become a Computer Programmer, there’s an easy place to start. Our Career Paths and programming tutorials will help guide you in learning the right skills to make you stand out from the pack.
While exploring programming languages is exciting, we get that there can be a downside. The more you learn about all the programming languages out there, the more you ask yourself, which programming languages are the easiest to learn, and which ones are best for me and my career?
Before you commit to learning the new programming language you just discovered, take a look at our list below. In it, you’ll find 12 easy-to-learn programming languages, which professionals use them, and what makes them particularly easy to learn.
1. HTML
Just about everyone has heard of HTML, and yet you may be surprised to learn that it’s known as a controversial programming language. That’s because HTML is technically a markup language — HTML stands for “hypertext markup language.” What’s the difference? Essentially, HTML isn’t capable of the basic functions of other programming languages, such as logic building, conditional statements, or even basic mathematical operations.
But just because you can’t create an IF-ELSE statement doesn’t mean you won’t be glad you dedicated time to learning HTML. As a markup language, HTML is the internet’s standard language for structuring webpages and displaying text.
HTML is known for its extensive use of tags or labels that define what kind of text should be on the page. For example, the body text in this article would start with a
tag and end with a tag. HTML tags define almost everything about the text on a webpage, from font size to hyperlinks.
Who uses HTML?
Anyone who works with webpages should know HTML. This includes Front-End Engineers and Full-Stack Engineers. And if you enjoy fine tuning websites, then learning HTML will allow the most customization and let you go beyond pre-designed templates.
Why HTML is easy to learn
Because it’s so popular, there’s no shortage of HTML courses to get you started. The language itself is fairly simple, and HTML tags follow consistent rules that make it easy to learn new HTML commands and functions.
2. CSS
If HTML defines the content of your webpage, Cascading Style Sheets (CSS) is used for defining the look of each HTML element. All of the different frames you see on a webpage, including text boxes, background images, and menus, are coded in CSS.
Have you ever noticed how the same webpage is organized differently when you’re viewing it on your phone versus on your desktop? That’s because CSS also controls which page elements are visible or hidden depending on the screen size and resolution.
CSS is a rule-based language, which means you define how different kinds of text and pages look by applying rules to each type of group defined in HTML. For example, you can use CSS to make all hyperlinks underlined in hot pink, while all level 2 headers are bolded and green. So, while CSS and HTML are used independently, the two languages complement each other to create webpages with customized content and style.
Like HTML, CSS isn’t considered to be a full programming language, but that hasn’t stopped it from becoming part of the unstoppable trio of webpage languages.
A basic CSS course will teach you the language’s fundamentals as you customize webpages. But if you’re interested in more advanced CSS functions, there are plenty of CSS templates and frameworks available — that is, pre-written CSS code that produces a certain page style and color scheme.
3. JavaScript
Since HTML and CSS can’t directly incorporate conditional statements and other decision-making functions, they aren’t considered complete programming languages. But what happens if you do want an interactive webpage? For example, what if you want to add a drop-down menu or a button that changes color and text when your mouse hovers over it? Enter: JavaScript.
As a full programming language, JavaScript is used to handle programming loops and make logical decisions based on input, such as when you hover your mouse over a menu or when you type something into a search box. And because JavaScript can output HTML and CSS code, it’s able to make webpages interactive and dynamic.
But that’s not all JavaScript can do. Through project environments like Node.js, it’s possible to run JavaScript outside of a web browser and on the back end. This allows web applications to run using a single programming language from the screen to the server.
Who uses JavaScript?
As the third of the webpage design trio of languages, Front-End Engineers and Full-Stack Engineers should master JavaScript along with HTML and CSS. Also, since it’s functional on the server-side with environments like Node.js, Back-End Engineers can benefit from learning JavaScript too.
Why JavaScript is easy to learn
While it’s more involved than HTML and CSS, JavaScript is one of the easiest true programming languages to learn. It’s an interpreted language and can easily be embedded with languages like HTML. Another thing that makes JavaScript easy to learn is that you can write complex snippets of code and test them in the web browser as you go. Also, if you already know HTML and CSS, then you’ll have a head start in learning JavaScript.
4. Python
We can’t keep talking about easy programming languages without addressing the giant snake in the room. Python is consistently ranked as one of the most popular programming languages, and for good reason. From its conception in the 1980s, Python was designed to be a highly readable code that could be easily extended with modules well into the future.
People also really like Python because it’s a multi-paradigm programming language. This means that it supports different styles (paradigms) of programming. This includes object-oriented programming, which focuses on manipulating datasets (or objects), as well as functional programming — which focuses on using functions to perform complex or multi-step operations.
Who uses Python?
Python is a widely used application language, and you’ll find Web Developers using Python for websites, applications, and games. At the same time, Data Scientists use Python because the language works well with retrieving and analyzing large datasets.
Why Python is easy to learn
It’s not often that a programming language is invented specifically with readability in mind. As you learn Python, you’ll discover that not only is everything meant to be simple, but complex code is frowned upon. Alex Martelli, a Python Software Foundation Fellow, puts it best: “To describe something as ‘clever’ is not considered a compliment in Python culture.”
5. R
Since it first appeared in 1993, R has become the go-to programming language for anyone interested in statistical analysis, data science, or data mining. While R is usually accessed through a command-line prompt, there are plenty of graphical interfaces available. Some of them allow people to use basic R functions without needing to learn any R code, which is one reason why the language is so popular.
R is open source, which means it’s free to use for personal or commercial purposes. This also means that there are thousands of user-created downloadable packages that provide functions well beyond the original code. Some packages are for general functions, like data visualization. But most are designed for very specific professional functions, which is why R is so widely used. There’s an R package out there to fit your needs, whether you’re interested in general statistics, genetic sequencing, geospatial analysis, or anything in between.
Another strength of R is the knitr engine, which can produce dynamic, publication-ready reports and webpages that integrate R code with LaTeX, HTML, or Markdown.
Who uses R?
R is most popular among Data Scientists, Data Analysts, and Statisticians. But, more and more STEM professionals are drawn to R because of the many packages designed specifically for their fields and, sometimes, specifically for their companies.
Why R is easy to learn
At first glance, learning R might seem like a challenge as the language can take some getting used to, especially if you’re already familiar with other programming languages. But one reason why learning R is easier than other languages is because every R function comes with extensive documentation that includes explanations of each argument as well as example commands.
6. Ruby
What do you call a Perl with a Lisp? A Ruby, of course! Yukihiro Matsumoto, the creator of Ruby, set out to create a language that incorporated the best elements of Perl, Lisp, Smalltalk, Ada, and Eiffel. And that’s how Ruby was born.
Compared to Python, which focuses on providing a single, simple solution for every problem, Ruby aims to allow multiple approaches that achieve the same end. This gives Ruby a sort of flexibility that programmers love.
One reason why Ruby is so popular is that programmers can change even fundamental parts of the language to suit your needs. For example, if you prefer your mathematical operators to be spelled out instead of using symbols (“plus” instead of “+”), you can define that in Ruby.
Who uses Ruby?
Like Python, Ruby is a general-purpose language that’s especially popular with Web Developers, since it’s most commonly used to build web applications. But, you can also use Ruby for web scraping, command-line tools, automation, data processing, and more.
Why Ruby is easy to learn
Once you start learning Ruby, you’ll soon understand why it’s called the “language of careful balance.” And because so many developers use and love it, you’ll find no shortage of Ruby documentation, community forums, and sample code available online.
7. C/C++
If you’re looking for a programming language that prioritizes speed and performance, the C languages are for you. Unlike the other languages we’ve covered so far, C/C++ are low-level languages, which means the programmer has a lot more control over performance and memory management.
C++ is essentially an extension of C. One of the biggest differences between these languages is that C++ supports object-oriented programming while C only supports procedural programming, which manipulates data step-by-step. That said, the two languages are quite similar, and knowing one means you’ll have an easy time learning the other.
Who uses C/C++?
C++ is used almost everywhere you look online these days. Anyone who works for a company that creates performance-sensitive or performance-intensive programs and applications will be in high demand as a C/C++ Programmer. Adobe and Microsoft are just two examples of companies whose software runs on C++. Additionally, many games, animation, and 3D rendering software packages run on C++.
Why C/C++ is easy to learn
As far as low-level programming languages go, learning C/C++ is easier than others because there are plenty of resources and documentation available to support your learning, as well as courses and online communities.
8. Java
One of the biggest advantages of Java is that it was originally designed to run in distributed environments like the internet. That is, among multiple servers and computers. And even though the language is old, Java is still relevant and cutting edge due to constant testing and updating.
Java developers can be confident that creating a Java application on one platform means that the application will work on all other major platforms too. The language’s flexibility also means that developers can use it not just on computers and mobile devices, but also in gateways, consumer products, or practically any electronic device.
Finally, Java is known for its reliability and security, which is yet another reason that developers are so attracted to it.
Learning Java is especially easy because its syntax is similar to English. Plus, you can count on a large support community to provide guidance and answer your questions as you learn Java.
9. PHP
We’ve focused so far on programming languages that help with front-end and application development, but Back-End Engineers have their favorite programming languages too — and PHP: Hypertext Preprocessor (PHP) is one of them. This language is widely used within HTML to quickly access and manage server-side content, including databases. In fact, many online forms use PHP to create new database records or update existing ones.
Another advantage to PHP is the built-in security it provides, as it can encrypt data and restrict access to certain parts of your website.
Between the ease of use, wide functionality, and security features, it’s not surprising that major companies like WordPress and Facebook use PHP.
Who uses PHP?
PHP is chiefly used to manage interaction with the server-side of a website, which is why it’s a staple programming language for Back-End Engineers as well as Full-Stack Engineers.
Why PHP is easy to learn
PHP is known for its simplicity and forgiving syntax. As you learn PHP, you’ll never be far from documentation and resources to help you along the way.
10. Go
Go, or Golang, is a general-purpose programming language that Google originally developed as an alternative to C/C++. The result was a language that combines the faster performance offered by C/C++ with a simplified syntax.
As an open-source programming language, Go is used on servers, DevOps, web development, and even command line tools, as well as a variety of applications, such as cloud and server-side applications.
Who uses Go?
Computer Scientists and Application Developers who need to quickly develop high-performing applications turn to Go as the best programming language to get the job done.
Why Go is easy to learn
Go was designed with simplicity in mind, making it a beginner-friendly programming language. Courses that teach Go are generally quick and easy, and beginners can get started with our six-part course.
11. Swift
In 2014, Apple developed Swift as an alternative to Objective-C to use with macOS (MacBooks and iMacs) and iOS (iPhones and iPads). With its introduction, Swift presented many modern features that made programming significantly easier. Now, it’s the top choice of developers who build apps for Mac OSX, the Apple iPhone, Apple Watch, and Apple TV.
As with all of its products and services, Apple put a lot of effort into making Swift as intuitive as possible. Apple-centric developers love Swift because it’s easy to read and write. And as you learn Swift, you can even download a free app, Swift Playgrounds, that allows you to develop and test your own Swift programs while you learn.
12. Kotlin
Just a few years after the first generation of smartphones, app developers realized that they needed a powerful and fast language. Enter JetBrains, the company that first released Kotlin in 2011.
Kotlin is specifically for mobile development on the Android operating system, and has become the preferred language for Android applications. While Kotlin is fully compatible with Java, one of the benefits of Kotlin is that it generally allows developers to write less code than they would have to in Java.
In addition to being a beginner-friendly language, Kotlin is especially easy and quick to grasp if you already have knowledge of Java or Python. It’s also straight-forward for iOS developers to learn because it was built on the same modern concepts they already use. Get started learning the basics of Kotlin.
Learn smarter, not harder
Are there a ton of programming languages out there that make developers’ lives easier? You bet. Do you need to learn them all? Absolutely not. Instead, we recommend focusing on a few languages that are most helpful in your chosen career.
Not sure where to start? Try taking our sorting quiz! It’ll give you recommendations on which language is right for you.
Also, our Career Paths include tailored course recommendations that take all the guesswork out of figuring out which programming languages help you be the most prepared to start your new career.
Data engineering is a career that’s really picked up steam over the last few years. More companies are now making good use of the data they collect by handing it over to their Data Engineers, who format and organize it to prepare it for analysis. To do so, they create systems that allow for much smoother data analysis. Then, findings can be presented to leadership. Important business decisions are made based on their hard work.
What’s the difference between data engineering and data analysis?
Though they’re often lumped together into the same general career description, Data Engineers are a different group of professionals than Data Scientists or Data Analysts. In a sense, Data Engineers are the ones that pave the way for Data Scientists and Analysts because they’re responsible for creating the systems and maintaining the databases that store all the information.
When we sat down with Ryan, a Data Engineer from Warby Parker, he described his role as akin to a plumber:
“At Warby Parker, Data Engineers are responsible for creating and maintaining the plumbing required to support the data and reporting needs of the business. We use software engineering practices to automate the work of data cleaning, normalizing, and model building so that data is always ready to be consumed by Data Analysts in every department.”
What does a Data Engineer do?
Data Engineers are highly versatile pros. They can work within companies that haven’t yet established their data strategy or within data-dependent companies that have used data to guide their business for decades. That’s another highlight of a Data Engineer’s career. They can take their skills to any industry and apply them in new and exciting ways.
Some Data Engineers work on large teams, maintaining databases, cleaning data, and assisting Data Analysts with their technical issues or complicated tasks. Others spend their time teaching non-technical staff how to use databases to their advantage. Below, Ryan shares some of the exciting projects he’s been able to work on in his career:
“I’ve had the privilege of working with a lot of smart people in every department at our company to help them solve their varied data needs, from reconciling financial data with the Accounting team to automating and modeling standardized performance metrics for our team of over 200 customer experience advisors.”
As Ryan illustrates, Data Engineers play an integral role in a company as many departments rely on their skills, from accounting to marketing and design. Data Engineers use data to solve problems and make their colleagues’ jobs easier by implementing databases, training, and even automation.
What skills are required to become a Data Engineer?
Data Engineers are experts in SQL, which they use to manage their company’s databases. Many also have specialized knowledge in SQL’s associated frameworks, like PostgreSQL and SQLite, which further extend the language’s capabilities.
Data Engineers are specialized Software Engineers, so they need to understand how to program in at least one language, such as Python, JavaScript, or C++. Being able to code also enables Data Engineers to more easily manipulate and clean the data they work with every day.
Beyond their technical skills, Data Engineers also need to be meticulous and detail-oriented. To maintain a database or carefully clean datasets, they must be willing to get into the weeds and spend time on painstakingly precise work.
But, they also need to be big-picture problem-solvers as the systems they create allow Data Analysts and Scientists to query their databases and find business insights. So, there’s a balance between the two different types of thinking and working, which is great news if you love variety in your work and the ability to be technical but also creative.
How to become a Data Engineer
Data Engineers need to have the programming skills to create and maintain databases, and they need to know enough about the code their company uses to support Data Analysts and Data Scientists in their work. In all likelihood, this will be a different mix of languages and libraries for each company. So, the most important thing is to get the basics under your belt by learning at least one or two languages and practicing coding to solidify the concepts you learn.
The best news is that you can begin learning these languages and concepts right now. Online courses provide the framework you need to get familiar with the systems and tools you’ll need to become a Data Engineer.
First, you’ll want to learn SQL so you can understand how others will be querying databases you create. You’ll also want to learn Python as a general-purpose language and to complete our Design Databases with PostgreSQL Skill Path, which will teach you how to create your own databases.
If you’d prefer to learn everything you’ll need to know all at once, consider our Data Analyst Career Path. Not only will you learn how to use the languages and frameworks listed above, but we’ll also help you build a portfolio that’ll help illustrate your skills during your job search.
Don’t forget to enjoy the journey. Get involved in our online community when you’re learning a new language. By connecting with other learners, you’ll be able to talk the talk to prepare for when you land your next job in Data Engineering.
Whether you are new to WordPress or a seasoned veteran, you may be looking for the best way to organize your blog. We are all looking for ways to be a little more organized, right? Today, I’m going to explain the difference between categories and tags in WordPress, the two main ways of adding structure to your blog so readers will be able to easily find specific content.
Both tools help you with organizing your blog content. It makes navigating your website much easier and will encourage your visitors to stay longer and read more. Categories and Tags are a great way of boosting your site stats and keeping everything clean.
Categories – what is it?
Think of categories like the Table of Contents or chapters of your blog. They are the broad topics you want to write about. Generally speaking, if you are going to write about a topic more than once on your blog, you should probably group them with a category. For example, if you are a food blogger, you may have categories like appetizers, main dishes, desserts, etc. Likewise, if you are a fashion blogger, category examples may be wardrobe, accessories, hair, make-up, etc. WordPress also allows sub-categories to further organize posts, but these aren’t obligatory.
There are two ways to add categories to your WordPress blog.
Option #1 – WordPress Dashboard
To add a category from your WordPress Dashboard, log in to your site and navigate to the Posts tab on the left. From the drop-down menu, you will be able to pick abutton called ‘Categories‘.
Here you can Add New Category by choosing its name and slug. A slug is how the category will appear in the web URL and should always be lowercase and contain only hyphens to separate words.
Once added, you will see your new category appear in the list to the right.
If the new category is a sub-category, you can choose the parent from the Parent drop-down menu. It’s always a good idea to create the parents (or main categories) first and then the sub-categories so the parents will show in the drop-down and sub-categories can be properly placed in their hierarchy.
Option #2 – WordPress Post Editor
You can add categories to your site also via the post editor. If you created the categories via the Dashboard, you will see a list of them to the right of your post editor. You can simply check the box beside the desired category to assign a post to it. Once you click the “Publish” button (or update if it’s a post in progress), the category will be added to that post.
If you wish to add a new category in the post editor, you can do so. Under the category list, click the “Add a New Category” link. Underneath the link, you can now enter the name of the category and select the parent category if the category has one.
Categories are often useful as links in your navigation bar as well. Since categories are the main topics of your blog, you may want to make it really easy for readers to access that information.
While categories are broad, tags are very specific. If categories serve as the Table of Contents, tags are like the index or keywords of your site. In the food blogger example above, you may decide to create a tag for specific meat types – chicken, beef, pork, etc. If someone Googled “chicken main dishes” and navigate to your blog, having the category of the main dish and a tag of chicken may bring the reader to several of your recipes. Categories and tags work together to create a nice organized structure.
There are two ways to add tags to your WordPress blog.
Option #1 – WordPress Dashboard
You will find the Tags section by going to your WordPress Dashboard and navigating to the Posts tab on the left. From the drop-down menu pick a Tags button to access all the Tags for your blog. To add a new Tag, fill in the Tag Name and Slug. Then click the blue “Add New Tag” button at the bottom. The tag will show in the list to the right.
Option #2 – WordPress Post Editor
Same as categories, you can add post tags directly from the post editor. You will find the Tags tab on the right. Fill in the Tag name and click the Enter key on your keyboard.
How much is too much?
This is a very good question. At first thought, you may think that lots of categories and tags would be useful to readers because they could navigate to a specific post in many different ways. This isn’t always true. Over categorizing and tagging may lead to confusion and a lack of a clean organizational structure. Most SEO (Search Engine Optimization) masterminds – the people who study the way people search for content on the web and reach specific sites – recommend that bloggers categorize their posts with two or fewer categories and only tag the post with the most useful tags.
If you can’t think of a tag, chances are, you might not need one!
I hope this gives you all a better understanding of the difference between WordPress categories and tags. Now go forth and organize!
Maggie Liu, 13, from New Providence Middle School in New Providence, N.J., chose a writing prompt from The Learning Network based on the article “The Psychology Behind Sibling Rivalry” and wrote:
My sister is a lefty. I am a righty. We are as opposite as the opposite can be.
I can’t live a day without brushing my hair at least once. She can live with huge hair knots for weeks. My room is always bright with a wrinkle-free bed every morning. Her room is dark with stuffed animals and laundry socks tucked under the sheets. I like to paint in peace. She likes to bang away with her drum set. I eat with my friends quietly in school, but I hear her laughter from the other corner of the cafeteria. We are so opposite that we barely spoke to each other before the pandemic.
In “How Well Do You Get Along With Your Sibling?” Jeremy Engle asks readers, “Has the pandemic made you grow closer to your brothers and sisters?” Yes, my sister and I definitely have grown closer through daily online study and our lunch break together. Sure, we fight a lot more now, sometimes fist to fist, like when I tease her about her hygiene habits and she stomps into my room to mess up my bed. But I like that the author advised siblings to “find moments where everyone can come together.” We enjoy channeling our rivalry to win doubles tennis matches and debate events as a team. We bike around town, make bubbles and play truth-or-dare in our driveway. We share our darkest secrets and fun facts. In fact, if the pandemic hadn’t struck, my sister and I would never have been this close. I realize that a lefty and a righty can sometimes make a whole.
Changing careers can seem daunting, but it’s the interview process that’s the most nerve-wracking. It’s a normal feeling to have. But with preparation and practice, you can put your best foot forward during your interviews.
To help you prepare, we’ll explore some of the most common machine learning interview questions in the paragraphs below. Along with the questions, we’ll also provide some tips for how to practice and explain what you can expect during your machine learning interview.
What to expect in a machine learning interview
Whether it’s all virtual or some portions are in person, there will be a live aspect to your interview. Hiring managers and recruiters like to see how their potential new employees can communicate and perform under a little bit of pressure. It’s also a great chance to see if both manager and employee personalities are a good fit.
All the same standard advice applies to virtual interviews as those that occur in person. Be sure to dress professionally and in line with the company’s dress code. Show up a few minutes early so that you’re ready to go. This will also give you time to sort out any software or connectivity issues.
Before delving into the technical aspects of machine learning, your interviewer may warm up with questions about your experience and passion for the field. These questions may include:
What role do you think data plays in our business?
Can you share how you resolved a programming problem recently?
How do you stay up to date on the latest in the field of machine learning?
What excites you the most about a career in machine learning?
Where do you think machine learning is underutilized in our industry?
Let your personality and interests shine through when answering these questions. You may even strike up an interesting conversation with your future boss. Don’t be shy. Show you know what you’re talking about and that you’re happy to be there. Being professional doesn’t mean you need to be emotionless.
Common machine learning interview questions
During a machine learning interview, the questions you’ll face will test your familiarity with the field’s technical and conceptual aspects. Use this list of common questions to prepare for your machine learning interview:
Describe/differentiate between the terms: machine learning, artificial intelligence, and deep learning
How are bias and variance related?
How are Type I and Type II errors different?
Can you describe what “overfitting” is?
Describe your favorite machine learning algorithm
What’s the difference between supervised learning and unsupervised learning?
How are generative and discriminative models the same? How are they different?
How do you prune a decision tree?
How would you evaluate the effectiveness of your machine learning model?
Have you ever worked with a missing or corrupted dataset? How did you handle it?
What is a hash table?
How do you prefer to visualize your results? What tools do you use?
Name three machine learning algorithms
What data types does JSON support?
In SQL, how are primary and foreign keys related?
While the questions listed above are a great start, you might also want to consider reaching out to someone who works for the company you’re applying to and asking about their skills, tools, and daily responsibilities. This will help you figure out what to emphasize during your interview.
Tips and tricks for answering machine learning interview questions
The best way to prepare for the questions you’ll face in your machine learning interview is to rehearse them beforehand. You could enlist the help of a friend for this step, and they don’t even need to be as well-versed in machine learning as you are. For instance, you could have the questions with answers printed out for them on scrap sheets of paper, or they could quickly Google the answer to verify it’s correct.
If you’ve ever practiced for a speech or presentation, then you know the best way to prepare is to talk it out just like you would during the real deal. Doing so helps you collect your thoughts and ensures that you’re able to speak clearly and confidently during your interview. Remember, getting the answer right is only one piece of the pie — you also need to communicate effectively.
After you’ve practiced answering the machine learning questions above, there are two other tips you can employ to get ready for your interview. The first is to keep coding. Practice your machine learning skills by continuing to work on projects or by taking a machine learning course. There’s no better way to cement concepts into your mind than through application.
The second tip is to remember that not knowing the answer isn’t the end of the interview. You can be honest. Say, “I’m not sure the exact answer off the top of my head, but here’s how I’d find out…”
Knowing where and how to find answers is a skill that recruiters want to see, especially in a machine learning expert. There will always be new things to learn and concepts you’ll need to read up on before implementation. Don’t get flustered. Just be comfortable knowing you’ll never know everything.
How to get started with machine learning
If you’re not quite at the interview stage yet and want to learn more about the field before pursuing a career, check out our introductory course on machine learning. Once you’ve learned the basics, the next step is to learn how to use programming languages like Python or R.
If you already have a couple of languages under your belt and want to learn how to apply them to machine learning, check out any of the Skill Paths below:
The average salary for a Software Developer in the United States is around $106,585 a year — but how do salaries pan out in the top tech companies? Despite their large teams and budget restrictions, most of them pay their employees competitive wages.
Developers at large tech companies also often get monetary perks, such as bonuses and stock options. Read on to learn what developers make at some of the world’s top tech companies and which of our courses you can take to rub shoulders with the big players.
Tesla
On average, a developer at Tesla Motors brings in $103,000 each year. While this is somewhat lower than the national average, developers at Tesla earn significantly more than those in the product department.
Tesla is a big company, and developers at companies of a similar size tend to earn a bit more than their counterparts at Elon Musk’s tech powerhouse. On average, developers at companies about the same size as Tesla bring in about $124,300, which is $21,000 more than the average above.
Still, the salaries for developers at Tesla vary greatly according to their specific roles. For example, a Lead Engineer earns $192,000, and a Principal Engineer is right behind at $186,000.
If you’re interested in working for Tesla, consider learning programming tools like JavaScript, Angular, and React, as each is listed as a requirement on their Careers page. To start learning any of these tools, use the courses below:
As we said earlier, a developer’s compensation includes more than their salary. 79% of Tesla developers reported feeling satisfied with their benefits packages, and 49% reported receiving annual bonuses — meaning nearly half of Tesla employees’ salaries are supplemented with extra pay.
IBM
The average IBM developer makes $101,857 a year. That’s just under $49 per hour or a little less than $8,500 a month. Still, salaries at IBM can climb far higher than the given average. Some developers make as much as $157,000, and the majority lie in a range between $75,000 and $122,500.
The variations between the pay ranges of developers at IBM may indicate there’s a lot of room for growth at the company. Developers may also earn more based on their skillsets, years of experience, and location.
Like Tesla, IBM lists JavaScript and React as prerequisites for their Software Developers — along with other programming languages like Python and Ruby.
Google
Google offers some of the highest average salaries for Software Developers at $156,806 a year. This number includes an average base salary of $121,898 and a hefty average bonus of $34,908. When combined, these figures bring the average pay of a Google developer significantly higher than the national average.
As with Tesla, the average pay at Google varies significantly according to the kind of position you hold. Some engineers at Google make as much as $430,000, for example. With a far less dramatic variance in pay, those in the IT department make $118,656 on average.
If you want to maximize your pay at Google as a developer, you should aim to become a Director of Engineers or Group Engineering Manager. Engineering Directors make $273,000, and Group Engineering Managers earn $252,000 each year.
On the other hand, even if you don’t quickly ascend the ranks at Google, you can still make good money. For example, a Junior Developer at Google makes $135,000 a year.
To pursue a career at Google, start by learning programming languages like Java and C++, along with the tools you’ll need to manage databases, such as SQL and PostgreSQL.
Microsoft
Microsoft, a longtime player in the tech game, pays developers an average of $108,650 a year — but this amount may vary based on where you live. For instance, Microsoft Software Engineers in San Francisco make more than those in other towns, averaging $133,378 a year. California is a Microsoft hotspot, with developers in Fremont ($128,037), San Jose ($125,066), and Oakland ($1223,699) rounding out the top four Microsoft developer salaries in the United States.
To rank among the top-earning developers at Microsoft, you can aim to become a Microsoft Architect. Software Architects at Microsoft earn an average of $133,585, and those in the position of Microsoft Dynamics CRM Architect earn $126,027.
Regardless of the position you may be interested in at Microsoft, your first step could be to learn C# — a language developed by Microsoft itself.
Facebook
Those with the title “developer” at Facebook make around $82,640, which is considerably less than many of the company’s engineers. This may be due, in part, to part-time workers developing for Facebook only a few days of the week. Facebook’s Software Engineers, on the other hand, make $102,030 a year.
Depending on the type of position you’re interested in at Facebook, you can make even more, particularly as a Data Scientist, where you would be looking at an average income of $105,231 per year. To shoot for the $105k+ salary of a Facebook Data Scientist, you can start with our Data Scientist Career Path. Here, you can learn the languages Facebook Data Scientists use on a daily basis, such as SQL and Python, as you discover how to gather, analyze, and present data.
The top earners at Facebook average around $138,500 a year. Like those who work for Microsoft, you have a better shot at making a higher salary if you live in California. Those in San Mateo ($100,380) and Berkeley ($96,871) earn significantly more than the average of $82,640.
No matter which tech company you have your eyes on — whether it’s one of the big guys or a smaller player — you can start preparing for your career in software development or advance in your current journey with our courses.
While the languages and frameworks listed above are a great place to start, you’ll also want to look through the job postings from your desired company. Once you know what they’re looking for, use our catalog of programming tutorials to get started.