As adults, we are so used to this kind of thinking that we are hardly aware we are doing it, and even less aware that young people are still developing these important metacognitive skills. More importantly, as adults we can think about our thinking (like you just did). We have the gift of age (acquired metacognitive skills) and the curse of knowledge (being unaware of how much we know compared to what students may know). Our job as educators is to help students notice and articulate the strategies they use to solve problems, both successful and unsuccessful, and reflect on that process.
HOW TO IMPROVE METACOGNITION
The good news is that there is plenty of research indicating that we can teach metacognitive regulation to students through explicit instruction, lots of modeling, and practice. Several large studies and reports have taken on the task of researching the ‘how’ of teaching metacognition. (Dignath and Büttner (2008), Hattie (2011a), Hattie et al. (1996), the EEF Guidance Report and Getting Started with Metacognition. Overall, evidence-informed recommendations for improving metacognitive skills recommend that teachers:
Explain the benefits of metacognition (‘Good learners think about their learning, because it helps them make good decisions and learn from mistakes’).
Be explicit about strategies to use (‘It’s important to plan, monitor and evaluate as we solve problems’; ‘We can use planning tools to help us’).
Model (‘First I will…’).
Relate to context and/or subject (‘The first thing I’ll do is look at the periodic table. I will…’).
Incorporate verbalization of thinking, including Talk Tasks prompts and protocols (‘Let’s Think, Pair, Share…’).
Practice, practice, practice (‘Remember when we… – let’s use that strategy again here’).
MODELING: MODELING IS A MUST
The best teachers know what they know and show how they think through modeling. Modeling is the vehicle for sharing the teacher’s learning process with students. When we model our thinking, we let learners inside our heads so that they can understand what expert thinking sounds like.
This live demonstration of our thinking, as we think aloud in front of the class, reveals deep understanding of the mysteries of the mind, including when one solves a maths problem, writes a sentence, reads difficult text, sets up an experiment, etc. Teachers should do this repeatedly, providing numerous examples of the thinking process, naming the steps, and providing structures along the way. Naming the steps they take when solving a problem is important because novice learners will be using their working memories to sort through other information as they think; this allows them to focus on developing useful learning strategies, versus missing key information due to cognitive overload.
Whether you’re a new or seasoned developer, you’ll need to know how to work on a dev team. Some developers prefer to work alone — believing that they’re more efficient while working independently — but an effective team is more than just the sum of its parts. Plus, there are several reasons why you might need to collaborate with your team, such as:
The project could be too large for one developer to complete on their own
The project could involve several technologies, and one developer isn’t going to be an expert in all of them
The project has a deadline, and it can’t be met by one person
In any of these situations, there are multiple ways you can improve your team’s collaborative effectiveness. Matt, a developer from Ohio, shares 10 tips for working on a dev team. Read on — or watch the video below — to learn more.
1. Make your work easy to understand
Have you ever come across code that was impossible to read? Code that is difficult to understand can slow down a dev team’s process and hurt the final product. Other developers on your team should be able to understand the purpose of every function or file included in your code. In the video above, Matt recommends ensuring that your work is easy to understand by:
Using style guides. Style guides provide conventions for naming functions, making comments, and more. Following these guides make it easier for everyone to understand each other’s work.
Keeping your files organized. This makes it easier for everyone on the team to find what they need.
Naming your files, functions, and variables well. Always write full descriptions of your files without using abbreviations to make it easier for others to access and use them.
2. Write out documentation ASAP
As Matt explains, documenting your work helps in several ways because it:
Keeps everyone on the same page
Makes it easier to jump back into older code
Enables asynchronous collaboration
Helps track and resolve bugs
Although documentation may not seem like an important part of your skillset, it’s crucial to facilitate the kind of communication that produces successful applications. Therefore, you should document every step of your process.
3. Make sure everyone knows what you’re working on
Keep your teammates informed about your projects as you complete them. You don’t need to update them on every step along the way, but you should let them know when you start and finish. Send a message to your team, or synopsize your agenda during your next meeting. Letting everyone know what you’re working on helps your team avoid overlapping efforts, improve productivity, and eliminate redundancy.
4. Prioritize tasks
Depending on the team you’re working on, you may have tasks assigned to you, or you may have to claim the tasks you want to do. Prioritizing your tasks — or listing them in order of importance — ensures that you’re focused on the right thing at the right time. This may include keeping a backlog, which consists of less vital tasks that developers can work on between larger projects.
5. Limit work in progress by working together
Matt recommends working with your team using a “swarm and destroy” approach. Swarm and destroy is the opposite of divide and conquer, which involves everyone working on their specific tasks. With swarm and destroy, everyone works together. If someone seems to be falling behind, they can reach out to their teammates for help.
6. Have regular stand-ups
A stand-up is a quick, daily team meeting where everyone shares their progress with their individual tasks. Stand-ups can encompass each of the three tips above — keeping everyone informed, prioritizing tasks as a team, and lending a hand when necessary.
7. Think as a team
The team should aim for a mutual accountability mindset. Although it may be human nature to serve your own interests, this often doesn’t help (and might even hinder) your team’s progress. Matt uses a sports team as an example, explaining how if one player does what they want — even if they do it very well — their efforts accomplished very little if the whole team loses. Thinking as a team, making each problem everyone’s problem, helps the entire team win.
8. Follow your leader
Every team needs a leader. Not only do they help keep everyone focused, but without one, it can be harder to resolve disagreements and roadblocks. If your team doesn’t have a leader, establish one as soon as possible. This way, when hang-ups arise, they don’t derail your dev team’s overall process.
Using a leader to decide the outcome of conflicts saves a lot of time. Still, if you disagree with someone — including the leader — it’s important to voice your opinion tactfully.
9. Do code review
As Matt explains, reviewing each other’s code improves the overall quality of the end product. If your dev team doesn’t have an established process for code review, try to institute a code review policy. Code reviews are helpful because they:
Ensure that all code is up to a certain standard
Allow for systematic testing
Keep developers accountable for their work
10. Use pair programming
Lastly, Matt recommends employing pair programming, which involves two developers working in tandem. While one developer writes the code, the other acts as a navigator — spotting errors, thinking one step ahead, and searching for any solutions their partner might need. In this way, the navigator helps guide the coding process, and the end result is more stable code.
Even though pair programming requires two people to work simultaneously, it may save time in the long run that you might otherwise spend debugging.
Pair programming can be a powerful tool but should only be used when needed. Simpler tasks can probably be handled on your own. Still, it’s important to make sure everyone is open to collaborating on occasion. It’ll make the work go by faster and easier.
With these ten tips, you can improve your team’s communication, productivity, and collaborative efficiency. They’ll also help your team work together as a cohesive unit. Plus, as you support each other, your projects will become less stressful and more fun. If you want to learn more skills that’ll help improve your effectiveness as a developer, check out our catalog.
Wondering if you should learn HTML? If you’re interested in designing websites, the answer’s a resounding yes! HTML is one of the cornerstones of web development, as developers use it to structure a website’s content. Essentially, it’s the code that dictates where all the website elements are and how they appear to the user.
Still, learning HTML can be valuable even if you aren’t pursuing a career in web development. Below, we’ll explore the benefits of learning HTML to help you decide if it’s right for you.
7 benefits of learning HTML
As you’ll see, there are many benefits to learning HTML, and they extend far beyond becoming a web developer. Still, web developers are in high demand, and HTML is a great skill to have in your tool belt if you decide to look for a new job in the future.
1. HTML can help you build your own unique website
There are plenty of beautiful website templates on sites that let you build your own, using elements and an easy-to-use drag-and-drop system. But, if your goal is to have a website that stands out from the crowd, you’re going to be glad you learned HTML.
HTML allows you to customize your website or build your theme from scratch. It also allows you to create and organize the elements of your website, like images, text, tables, or forms.
2. You’ll no longer have to wait for your IT team
Do you have to reach out to your IT team any time there’s a typo on your company’s website or newsletter? If so, you might have found that it took a while for them to get your request as they’re often busy with other projects.
With HTML, you could spearhead these improvements and fix errors as you find them. It’s also a great way to impress your boss, as they’ll likely be thrilled to hear that you learned a new skill and took the initiative to help the company.
3. HTML helps you understand how to make things more accessible
Semantic HTML tags form the basis for good accessibility practices, as they allow screen readers to determine where different elements are on a web page and how they’re formatted.
Learning how to make your website accessible is crucial. Not only does it help maximize your audience, but it’ll also help demonstrate that your company values inclusivity. In another post, we take a closer look at why accessibility is so important.
4. Knowing HTML helps you collaborate more effectively with technical teams
If you’re a project manager, copywriter, or instructional designer, you likely work with developers quite often. Learning HTML is a great step if you’re looking to collaborate more effectively with your technical teammates.
Basically, being familiar with HTML helps ensure that you and your technical teammates are on the same page. This helps save time and streamline communications as you’ll have a better understanding of what it’d require to implement your new ideas.
5. Your designs can shine with HTML
Maybe your skills and desired career lie more on the design side of website development. If you want to showcase how your graphics or layouts might look for a client, knowing a little HTML will help.
You don’t need to be a pro to put HTML to good use. Even with just the basics, you can create mock-up designs to illustrate your ideas to your clients. This will also help you save time you’d otherwise spend editing your design, as you’ll be able to get feedback on your project sooner.
6. HTML skills will open up more income-generating opportunities
As you can see, HTML is a valuable skill — even for non-technical professionals. Still, it’s also a great choice if you’re looking to switch careers or venture into freelance development. Front-end engineers are highly in demand, and HTML is a core component of their skillset, so you’ll want to learn it if you’re considering entering the field.
7. HTML can help you to learn other coding languages easier
Learning how to code can be difficult. When you’re just starting out, it’s easy to get intimidated by complicated syntax and various functions and methods. For many, it helps to start with a programming language that’s relatively easy to learn. Stetim94, a volunteer moderator on our forums, explains:
“The advantage of HTML and CSS is that they are relatively easy to learn, and you will see quick progress. So that certainly helps.”
Once you start learning HTML and using it to build your own websites, you’ll see that coding doesn’t have to be hard. You might even feel confident enough to start learning other languages.
Where can I learn HTML?
Whether you’re pursuing a career in development or simply looking for a valuable addition to your skill set, HTML is a great choice. Plus, it doesn’t take long to learn. In our Learn HTML course, you’ll learn the language’s basics and start using it to structure web pages in no time. Once you’ve got the basics down, check out our other courses on web development.
Can you believe it is almost summer? Celebrate it with this free summer printable poster featuring pastel fruits and leaves. It comes with a quote that “Summer is a state of mind.” Do you agree with that? What is your favorite time of the year?
I’m usually drawn to bold color shades and neon for summer crafts, but I often use pastels this year. They are more subtle and make the printable blend with any place you decide to decorate. Pastel prints are great for children’s rooms, offices, or bedroom walls.
Free Summer Printable Poster
I like designing posters because I think they are really universal decorations. They are perfect both for the seasonal office accent and the house decoration. This poster is easy to print and it size is 8 x 10 inches.
For Personal Use Only.
What types of decorations are your favorites? Do you like posters with quotes or would you prefer more graphics ones? I would love to know that so please let me know in the comments below!
If you are looking for more Printable Freebies, make sure to check our free printables library
Looking for something specific?
If you have an idea for a printable, let us know in the comments! We are always looking for inspiration. If you decide to print today’s Free Summer Printable Poster, make sure to share photos of your decorated room with us via Instagram or Twitter.
Are you looking for ways for your students to learn more about Juneteenth? Below we offer five teaching ideas for exploring the holiday and its significance via a variety of media, including photographs, recipes, art and a podcast interview.
But before you dig into this collection of suggested activities, we also offer two brief excerpts from Derrick Bryson Taylor’s explainer article “So You Want to Learn About Juneteenth?” to provide some background on the holiday and its relevance today:
Juneteenth, an annual holiday commemorating the end of slavery in the United States, has been celebrated by African Americans since the late 1800s.
But in recent years, and particularly following nationwide protests over police brutality and the deaths of George Floyd, Breonna Taylor, Ahmaud Arbery and other Black Americans, there is a renewed interest in the day that celebrates freedom.
The celebration continues to resonate in new ways, given the sweeping changes and widespread protests across the U.S. over the last year and following a guilty verdict in the killing of Mr. Floyd.
He then explains the origins of the holiday:
On June 19, 1865, about two months after the Confederate general Robert E. Lee surrendered at Appomattox Court House, Va., Gordon Granger, a Union general, arrived in Galveston, Texas, to inform enslaved African Americans of their freedom and that the Civil War had ended. General Granger’s announcement put into effect the Emancipation Proclamation, which had been issued more than two and a half years earlier on Jan. 1, 1863, by President Abraham Lincoln.
The holiday received its name by combining June and 19. The day is also sometimes called “Juneteenth Independence Day,” “Freedom Day” or “Emancipation Day.”
Teachers, do you already teach Juneteenth? Let us know in the comments or by writing to LNFeedback@nytimes.com.
1. Listen to a historian discuss Juneteenth.
Listen to a 25-minute podcast interview with Dr. Daina Ramey Berry, a professor of history at the University of Texas at Austin, in the 2020 “Daily” episode “The History and Meaning of Juneteenth.” As you listen, choose to focus on one element of the podcast:
I. History What are the major historical events described in the podcast? Take notes as you listen and then create a timeline that tracks the original Juneteenth to celebrations today.
II. Podcasting techniques In the beginning of the podcast, how does Dr. Berry paint a picture of the first Juneteenth? How is that picture made vivid through audio and editing techniques in the podcast? What emotions do you feel as you listen to her recount what happened? What strategies does the host employ to effectively facilitate the conversation?
Congratulations to Shannon, Julia and Montgomery, who wrote about a fisherman’s hairdo, an intense athletic practice and a poisonous berry bush. Each of these students used several challenging vocabulary words to bring their characters and scenes to life.
Shannon Arnold, age 14, Mark T Sheehan High School, Wallingford, Conn.
The JAUNTY fisherman’s pride was in JEOPARDY. After a tragic piranha attack, his beloved chestnut locks were left GNARLED and patchy. His kindly wife BESEECHED that he WEND his way to the hairdresser and shave it. He, however, was IMPERVIOUS, and remained determined to — somehow — make his new look work.
Julia Mills, age 17, Mercersburg Academy,Mercersburg, Pa.
I exhaustedly WEND my way through the woods. My life’s in JEOPARDY. I WARILY try differentiating the edible berry bushes from the poisonous, but their resemblances are UNCANNY. I choose randomly. I chew slowly. My LAMENTABLE approach to this QUANDARY backfires, and my TRANSIENT munching ends soon thereafter. Wrong berries.
Montgomery Singer, age 17, Choate, Wallingford, Conn.
That day, Coach MANDATED 110% effort. Our TREPIDATION was tangible as the pain neared. We knew our QUANDARY: complete the exercise or put our positions in JEOPARDY. We BESEECH him, pleading for an alternative. His JAUNTY demeanor was impervious to our attempts. He bellowed, “Pain is TRANSIENT. Glory is immortal.”
By Betty Vandenbosch, Chief Content Officer at Coursera
Today, I am excited to announce the Global Master of Arts in English Language Teaching (ELT) Leadership from National Research Tomsk State University (TSU), ranked one of the top five universities in Russia. This English-language degree is the first fully online master’s program in ELT from a Russian university.
On Coursera, we now offer six degrees from Russian university partners, having added five degrees over the last year.
The newest degree on Coursera from TSU is designed for students anywhere in the world to jumpstart or advance their ELT or education management career, preparing them for a wide range of roles, including a senior teacher, leadership position in a language school, or a job within the government sector.
English is by far the most commonly studied foreign language in the world. In Russia specifically, there is an acute need for English teachers with over 30,000 open jobs, according to Gartner TalentNeuron™ data.
To best prepare for their ELT careers, students can tailor the program’s curriculum by choosing one of two tracks — or combine courses from both. The Advanced Classroom Practitioner track is for teachers who want to further their careers, while the Education Management track prepares future ELT leaders and educational administrators.
In this two-year online program that contains bi-weekly live sessions with world-class faculty, students will learn and apply the latest pedagogical, leadership, and management strategies to teach online or in-person. Students will create and deliver lesson plans, practice classroom management, and even teach virtual classes. Upon graduation, students earn an internationally recognized TESOL certification along with their M.A.
“At TSU, we pride ourselves on the international environment we have created on campus. Our online degree program on Coursera truly breaks campus boundaries. Now, people all over the world can earn a TSU degree, without relocating or moving,” said Eduard Galazhinsky, Rector of TSU. “We are eager to welcome students from different countries — from India to Chile — to the TSU community, where they can make life-long connections and networks with their peers.”
All courses in the program are taught by leading international faculty members, including professors from the University of Oxford, University of Sheffield, and TSU as well as industry experts from Shanghai, Stockholm, and Moscow. The teachers integrate their global perspectives into the curriculum to prepare students for positions anywhere in the world.
TSU has already reached nearly 500,000 learners through their open courses on Coursera. We are honored to work with them as they expand their offerings and enable students from around the world to earn a high-quality, flexible degree from one of Russia’s best universities.
As industries continue to change and evolve, the labour market changes with them. Disruptive technology, pandemics (!), shifts in consumers habits, all of these can result in sectors having to rethink how they operate. These industrial reorganisations can have knock-on effects at every level of the business, including supply chains, marketing and, of course, hiring.
Over the last twenty years, a consistent trend across almost all industries has been the growing frequency of freelancers. In part, this can be attributed to automation resulting in businesses needing less hands on deck 24/7, and instead bringing in experts on a need-by-need basis. Freelancers are flexible and so are well-suited to contract work of this kind.
However, there is another reason behind the growth of the freelance jobs market in recent years. Many consumers would rather engage with a small business owner or entrepreneur than do business with a large, faceless firm. Freelancers usually deal with less clients than large businesses and so are more engaged with their customers and can offer a more personalised service.
This consumer-driven demand for freelancers has spread across a wide range of industries and isn’t just limited to tech. From plumbing to pet grooming, freelancers are springing up everywhere!
If you’re looking to convert your passions into prospects, earn some extra money or start your own business, then you can do so by taking advantage of this changing jobs market. With Alison’s free online courses you can gain all the qualifications you need to start your career as a freelancer. Here are 10 great ideas to get you started!
Are you a flower enthusiast? By learning the secrets to professional flower design and arranging, you can start your career as a freelance florist! From weddings and small-scale family get-togethers, to large corporate festivities, flowers play a are always in demand for all manner of events!
YouTube is still one of the best opportunities for freelancers, as the monetisation of videos can be extremely lucrative. With more than 2 billion monthly logged-in users, you can make money by creating engaging, interesting videos. All you need to start is a good camera, some video editing skills, and, of course, the internet!
Do you have a passion for photography and want to share your talent with others? From lockdown weddings to corporate photography, freelance photography opens up countless opportunities! Depending on skill level, freelance photographers can earn as much as $150 to $200 per hour.
Since the beginning of the COVID-19 pandemic, the way events are conducted has changed drastically. From small gatherings to digital get-togethers, the event landscape has shifted and clients are on the lookout for event planners with new, innovative and safe event ideas.
If you’re passionate about bikes and great with your hands, then a bicycle repair and maintenance business can be a reliable source of extra income. If you gain a reputation as being reliable, you’ll have customers for life!
If you’re a Yoga or fitness fanatic, then becoming an instructor is a great way to share your favourite hobby while earning money on the side. From summer Yoga classes, to corporate relaxation sessions, there is no shortage of opportunities. You can even teach Yoga online!
Do you have an affinity for animals? Sales in pets have spiked during lockdown and all associated markets are also on the up. Pet grooming can be an extremely well-paid job as people always want the best for their pets and will become regular customers if you’re good at your job.
Are you a subject-matter expert? No matter what your field of expertise is, you can start freelancing in online courses creation by making courses for popular e-learning platforms, including Alison!
Regardless of pandemics, recessions or anything else, people always need plumbers. This disaster-proof profession is a job where reputation is everything. If you have happy customers, then you’ll have lifelong customers!
With many schools and colleges moving online due to the pandemic, the demand for online tutors is also rocketing. There’s great money to be made tutoring as many parents seek extra tuition for their kids in these unprecedented times.
Monster.com, one of the leading job listing sites, recently reported that the unemployment rate for cybersecurity analysts is 0%. Yes, zero percent. So, if you want to push your career in that direction, you’re making a good decision. However, this begs the question: What does a cybersecurity analyst do? Below, we’ll break down what a cybersecurity analyst does and describe some of the tools they use to protect IT systems.
Monitoring cyberthreats
A cybersecurity analyst serves as a guardian of an organization’s entire IT system. Most of the time, this involves monitoring threats to the networks, applications, computers, and other endpoints used by the organization.
In some organizations, a cybersecurity analyst is also in charge of supporting the safety of end-users outside the company, such as customers and partners that use the organization’s network.
However, in some situations, a cybersecurity analyst may also have to implement and manage physical security measures, particularly when it comes to keeping passwords, authentication devices, and servers secure from thieves, saboteurs, and other hackers.
Installing and managing firewalls
Firewalls filter a network’s traffic by examining the data sent to and from it. A major part of a cybersecurity analysts’ job involves installing and managing firewalls. This often involves more than just plugging a firewall in at the network’s edge. A cybersecurity analyst has to:
Decide the best places to put firewalls, which may include within the network to prevent the lateral movement of threats
Choose the settings that best protect the company’s and users’ data
Periodically update the configurations of firewalls to suit the evolving threat landscape
Configure firewalls as gateways for virtual private networks (VPNs)
Encryption is, in many ways, a failsafe measure for sensitive information and communications. Encrypted data can’t be read by anyone without the decryption key, so even if it’s stolen, it’ll be useless to the thief. A cybersecurity analyst uses encryption tools for:
Encrypting company secrets, such as proprietary information, blueprints, and emails
Securing communications within a virtual private network (VPN)
Using secure socket layer (SSL) encryption to secure the company’s websites
Hiding the banking information of customers using the company’s online payment system
Mitigating and reporting breaches
Depending on the monitoring tools used in the network’s security portfolio, a cybersecurity analyst may receive an alert signaling an imminent breach. So what comes next? At this point, a cybersecurity analyst has to:
Decide which systems need to be shut down to prevent the attack from spreading
Choose which resiliency and continuity measures to enact, such as spinning up servers, connecting to backup devices, or migrating employees to different workstations
Inform the necessary stakeholders within the company about the breach
Make data-based recommendations to workers and executives regarding a course of action
Identifying and addressing vulnerabilities
A cybersecurity analyst’s job is far easier when vulnerabilities are discovered and mitigated before they get exploited by an attacker. Identifying vulnerabilities often involves a few different tactics, such as:
Conducting penetration testing to see which kinds of attacks can get through and where
Checking the dependencies of applications for vulnerabilities. Dependencies are what an app uses to provide outputs for the user, such as databases, caches, message queues, or application programming interfaces (APIs)
Restructuring the flow of data in a system to avoid a vulnerability
Replacing vulnerable code with secure code
Adjusting the architecture of the network or applications to eliminate vulnerabilities
Implementing anti-malware solutions
Anti-malware solutions prevent viruses, Trojans, and other malware from penetrating a network. Often a hardware or software solution will come with anti-malware measures. But, as a cybersecurity analyst, you’ll have to carefully study each anti-malware solution to ensure it suits your organization’s needs.
For example, you may need a malware solution that gets updated regularly with information gathered from global threat intelligence systems. Otherwise, known threats may sneak through and impact your organization’s network.
SIEM (Security Information and Event Management) tools can provide several cybersecurity solutions under one umbrella. These include:
Threat intelligence
Threat monitoring systems
Correlating event logs
Analyzing event logs
Intrusion detection
Some cybersecurity software includes a more comprehensive list of capabilities, such as the ability to quarantine devices, show device histories, display the locations of various endpoints, and scan for vulnerabilities. A cybersecurity analyst has to decide which tools best protect the organization.
Keeping up-to-date with IT trends
The threat landscape, attack vectors, and defense tools are constantly changing, so cybersecurity analysts need to keep up with the latest methodologies and technologies impacting the industry. This may involve some or all of the following:
Reading peer-reviewed journals about cybersecurity
Attending conferences
Researching the latest malware-based threats on the landscape
Keeping up-to-date with the latest tools hackers are using to penetrate networks
Educating others about cybersecurity
Educating the rest of the company should be a top priority in your role as a cybersecurity analyst. Even if they never specifically ask, you should be sure they understand what your job entails and how they can support your efforts. By ensuring that everyone in the company has a basic knowledge of cybersecurity, you empower the organization because:
Employees will better understand how to secure their login credentials
Everyone in the organization will gain a better appreciation for the value of strong passwords and other cybersecurity practices
Employees and other stakeholders can be encouraged to keep access devices, including physical keys to server rooms, secure
All stakeholders will gain a better appreciation of the importance of logging out of sessions and workstations to prevent unauthorized access after they finish work
Education can significantly decrease the severity of many organizations’ biggest vulnerability: its people.
The job of a cybersecurity analyst involves finding and implementing the tools and techniques needed to protect any element of an organization’s infrastructure that could interface with the internet. In a business world that hinges on connection, this often includes every aspect of a company’s IT environment.
Along with the responsibilities listed above, many cybersecurity analysts use programming languages like Python, SQL, and PHP to perform penetration testing, mitigate security breaches, and more. To learn more, check out our article on cybersecurity programming languages.
If you’re ready to pursue a career with a 0% unemployment rate, take your first steps into the field with our introduction to cybersecurity course.
Understanding coding languages as a cybersecurity professional is essential so you can “speak” the language of those you’re trying to defend an organization from. But, it can be hard to know which one you should learn when you’re just starting out in the field. Even though hundreds of programming languages are used worldwide, only a few of them are used by cybersecurity professionals.
Understanding how different programming languages are used in cybersecurity will help you ascertain an attacker’s methodology and mitigate any potential damage. Plus, you can use them to build tools that can defend an organization’s systems and networks against cyberattacks. Below, we’ll explore some of the most popular programming languages used in cybersecurity and their applications in the field.
Command line
While technically not a programming language, every developer needs to be comfortable with the command line. While discussing the languages used for cybersecurity in our forums, Carolyn Y., one of our Curriculum Developers, explains why it’s so important:
“Every cybersecurity student must become comfortable with the command line whether that’s in the form of Powershell in Windows or terminal in Mac/Linux. You should also learn bash (or shell) scripting. These are a must! These commands and scripts allow you to work under the hood of whatever OS you are working in.”
As Carolyn explains, the command line allows you to interact with a device’s operating system. Learn how in our introductory Command Line course.
Python
Python is one of the top cybersecurity languages because it allows developers to automate certain tasks and detect and analyze malware. Carolyn, who we heard from earlier, explains:
“In general, Python is a powerful, readable language to use in security work because it can integrate many security tools like Wireshark and Metasploit, as Python libraries. Python scripts can help you automate and search through files and ports easily, especially during malware analysis.”
You can also use Python to do penetration testing, which is when you try to infiltrate a client’s cybersecurity defenses to see where its vulnerabilities lie.
With knowledge of Python, you can qualify to be a security operations center (SOC) specialist, creating tools designed to guard web applications against penetration by cybercriminals. To get started with the language, check out our Learn Python course.
C and C++
While Python is categorized as a high-level language, Carolyn tells us that C and C++ “are low-level languages that directly access RAM and system processes.” For this reason, some hackers’ most effective weapons are written in C/C++.
To defend against their attacks, cybersecurity professionals use these languages to see how malware is built, how it spreads, and what may happen if it successfully penetrates a network or device.
JavaScript
JavaScript is a prominent, useful coding language, and it’s no surprise that cybercriminals use it as well. While you can use JavaScript to build functional, user-friendly websites, it’s just as effective at taking advantage of users.
For example, an attacker can use JavaScript to execute cross-site scripting (XSS) attacks. Carolyn explains that “learning JavaScript gives you an understanding of how vulnerabilities in a web application can be targeted by cross-site scripting attacks. You can identify where a hacker might be able to modify site elements and manipulate event handlers or forms.” In other words, if you know JavaScript, you can recognize the behavior of attackers who use it as well as identify the code that is impacting an organization’s website.
HTML
HTML stands for Hypertext Markup Language, and it’s important to know because it’s an essential building block for most websites. Some hackers write HTML that can be inserted into a web page’s code and then used to execute an attack.
Like JavaScript, HTML can be used in cross-site scripting (XSS) attacks. This method involves finding and exploiting vulnerabilities, injecting malicious code into a web-based application, and stealing data or other private or sensitive information.
HTML is also used for content spoofing. In this kind of attack, the attacker uses HTML to create a fake website that looks real to visitors. The visitors may then be invited to enter personal or financial information that attackers use to steal money or execute identity theft. If you know HTML, you can spot signs of these attacks and prevent an organization from being victimized.
SQL
Structured Query Language (SQL) is a programming language used to build and interact with databases. Data has become increasingly prevalent over the years as more and more businesses implement it into their systems and processes. This makes databases a prime target for criminals. Carolyn explains how “SQL injection attacks exploit SQL code vulnerabilities to store or modify data.”
With knowledge of SQL, you can recognize when an attacker has written scripts designed to steal sensitive company data from a database. They may also try to get access to personal identification information (PII), so they can use it in identity fraud or theft. With SQL, you can detect and prevent these attacks.
PHP
PHP is another popular tool for web development. It’s estimated that over 80% of websites use PHP. Carolyn explains how the prevalence of PHP leaves the majority of the web vulnerable to DDoS (Denial of Service) attacks.
Knowing PHP can help you detect and stop attacks aimed at taking advantage of PHP-based applications. Also, as a cybersecurity analyst, you can use an application called RIPS to perform automated analyses to detect anomalies. You can also use PHP to manage how data gets shared between servers and users. In this way, you can create more secure data exchanges, preventing the data from getting into the wrong hands.
To be a cybersecurity professional, you don’t need a background in all of the several hundred coding languages of the world. A solid foundation in a relative few is enough to empower you to defend organizations from cybercriminals. To get started, check out our introduction to cybersecurity course. After that, explore our catalog of courses and tutorials to start learning any of the languages listed above.