fbpx
Home Blog Page 609

Should Parents Be Up Front About Ugliness in the World or Try to Hide It?

0

When it comes to natural disasters, wars and other tragedies, do you want your parents to be honest with you or to reassure you that everything is going to be OK?

Word of the Day: emblematic

0

This word has appeared in 274 articles on NYTimes.com in the past year. Can you use it in a sentence?

How to Think Like a Programmer

0
How to Think Like a Programmer

A common misconception that people have about programmers is that they know everything. In reality, most programmers aren’t human encyclopedias — they search things on Google and Stack Overflow constantly and rely on autocomplete just like the rest of us.

What programmers do have is a unique approach to solving problems that comes with knowledge and experience. Ahead, we’ll explore what that programmer mentality is all about and share tips to help you get there, too.

What is the programming mentality?

Let’s think about programming as speaking for a moment. When you speak, you’re aiming to communicate effectively with the people around you. When you program, you’re determining instructions to give to a computer so it can execute a task. Code transforms ideas into a written language that a computer can understand. In both cases, you don’t need to know every single word or element of a language, you just need to know enough that you convey your ideas so that they are understood.

When you use code to solve a problem, it’s less about memorizing snippets of code and using them. It’s more about knowing the fundamentals and applying them. When you understand how to break a problem down into smaller pieces and apply the principles of programming, you don’t need to memorize everything. You simply learn how to approach a challenge or problem, and that is a skill you can apply every time you code.

Before you dive into a particular language, you can get familiar with the core concepts of coding in the skill path Code Foundations. This beginner-friendly path is an awesome overview of the main branches of programming (computer science, web development, and data science) and common concepts that show up across all domains.

Break things down into building blocks

Let’s look at a simple example of how you break a problem down into its building blocks, like a programmer approaches a problem.

If you were to describe to a machine (or a person who’s new to a task) how to open a jar of pickles, you couldn’t just say “open jar.” You’ll need to explain in a language they understand the steps required to open that jar. For example, you might offer the following set of instructions:

  1. Pick up jar with left hand
  2. Put right hand over the lid
  3. Tighten both hands
  4. Rotate right hand counterclockwise, and rotate left hand clockwise
  5. Rotate until lid separates from bottom jar
  6. Release tension in both hands

Learn something new for free

Simple tips to get you thinking like a programmer

Everyone’s programmer perspective is different; meaning, each programmer thinks in a different way and learns how to approach and break down problems uniquely. Through practice, you’ll develop your programming perspective, and it’ll get easier to communicate with machines to solve increasingly complex problems.

As you develop your own perspective, here are a few tips and tricks you can use to learn to think like a programmer and develop this mentality.

1. Talk through the problem aloud

First, you can talk through the problem by calling up a friend, family member, or fellow learner in the Codecademy community and explaining to them what you’re trying to tackle. By having a conversation with someone, you’ll be able to determine how you can communicate with them to clearly explain the problem and your solution.

Don’t have anyone to talk to right now? No problem! Just try speaking through the problem out loud. Explain your approach and understanding to your pets or even a stuffed animal. It’s speaking aloud that is the key.

2. Collaborate (work with other programmers)

Programmers don’t always work by themselves at their computers. They like to learn from each other. When the problem is complex, working with other programmers helps bring together the best ideas from many people, making it easier to come up with innovative solutions.

Try pair programming, which is when two programmers share a computer to solve a problem together. One programmer (the driver) writes the code, and the other (the navigator) reviews the code and directs how the problem is broken down and solved. Every few minutes, the two switch roles. This gives you the chance to see another programming perspective at work. How your partner solves a problem will be different from you, and this helps expand your mindset and learn to approach problems from multiple angles.

3. Take it one step at a time

Whether you are programming or starting on any big project, large problems can seem scary at first, and it’s easy to get overwhelmed. The best way to combat this feeling is to look at the problem from a high level and then break it down into smaller chunks.

Just like we talked about earlier, when you split a problem down into smaller pieces, you can then apply the fundamentals of programming to solve each piece. Approach each chunk of work separately so that the task is manageable, and you can start to make some real progress, one step at a time. This technique can also be applied to goals that you want to achieve!

4. Start simply: how would you solve a similar, simpler problem?

You can also consider how you might solve a problem that is similar to what you’re attempting to solve, but much simpler. Then write the code to solve that small problem. Slowly but surely, introduce complexity to solve the larger problem you were presented with at the beginning.

5. Practice, don’t memorize

Memorizing code is tough, and you don’t need to go down that road to think like a programmer. Instead, focus on the fundamentals. Learn the principles and ideas behind programming, and you’ll get much further than trying to remember everything.

Every time you solve a simple problem using programming, you’ll develop your fundamentals even further, making it easier as you progress. Codecademy’s practice projects are a great place to start applying your skills to real-world scenarios. Practice is key to your programming perspective becoming second nature.

When you use code to solve a problem, it’s less about memorizing snippets of code and using them. It’s more about knowing the fundamentals and applying them.

6. Don’t worry if you need to look up the right syntax

Even some of the best programmers around need to look up syntax when they don’t remember things. So don’t sweat it if you need to search online or in developer documentation for the syntax that you need.

You don’t need to be an expert at all things, because you can program if you know the fundamentals, and we’re all capable of learning new things.

7. Shortcuts can be dangerous

Taking shortcuts while you’re learning to program can be more hurtful than helpful. Try to think of the learning process like training for a running race.

Rather than searching for an answer right away when you encounter a problem, try to solve it yourself first. When you rely on other people’s coding solutions, you don’t get to develop that programming muscle yourself.

Focus on the basics, put in the practice, and stick to your training plan. The tried and true training methods are that for a reason; they work! We know that it can be frustrating when it takes time to learn to program, but that’s all part of the process of forming your own programming perspective.

8. Get help after you’ve exhausted other options

If you’ve really tried your hardest and approached the problem from many different perspectives, but you’re still struggling, now’s the time to ask for help. Reach out to someone in the Codecademy community to get some guidance, or use our AI Learning Assistant to get to the bottom of your specific coding problem.

9. Debugging tests your knowledge

Debugging your own code allows you to take a step back and see the opportunities for improvement in your own work. It can be easy to blame the machine every time something goes wrong. But if you take a moment and analyze how you’re approaching the problem, you can see where you might have gone wrong. Understanding this will help you to identify errors in the future quicker, and you’ll naturally get better by avoiding these issues in the long run.

10. Get familiar with reading documentation and applying it to your code

Documentation for programming is just like a recipe for cooking. It lays out how the code is intended to work and is an excellent resource to help you understand programming better. Learning to read documentation will also steer you away from looking for a shortcut or an easy solution to your problems or bugs.

A great resource to explore is Codecademy Docs, our community-driven documentation for popular programming languages and frameworks. Read up on concepts you know, and consider contributing to Docs for extra practice with open-source projects.

Putting your programming into practice

If you’re itching to start practicing to learn how to think like a programmer, we have lots of resources to help. Take a look at our free professional skills courses to become a better communicator, critical thinker, collaborator, and emotionally intelligent leader. Explore projects that you can build for your portfolio or just for practice. And get involved with the Codecademy community to meet other budding programmers who are in the same position as you!

Remember to focus on how to solve a problem and to learn as you go. Don’t get hung up on needing to do things “right” or to be “perfect.” There are many ways to solve a problem, and, with practice, you’ll build your own unique programming perspective!

The Role of Data Science in Electoral Politics & 3 Careers You Can Have

0
The Role of Data Science in Electoral Politics & 3 Careers You Can Have

Election Day is Tuesday, November 5 in the United States. Whether you’ve been volunteering leading up to the big day or are planning to proudly wear your “I Voted” sticker, getting involved with an election cycle is invigorating.

Some people turn their passion for politics into a career. In fact, there are lots of ways that people who understand data science can apply their technical skills to elections. Data science is all about turning data into information of value. Using code, we can take huge amounts of data and use it to answer questions, predict possible outcomes, understand trends, and visualize relationships and patterns.

From polls and surveys to votes and demographics, the US electoral system is chock-full of data that political candidates and elected officials use to make informed decisions. Curious what types of political careers you can have in data science? Here’s an overview of the data science careers you can have in politics, plus the skills you need to get hired. Be sure to check out our full catalog of data science courses and paths to start learning these impactful (and marketable) skills.

Learn something new for free

Campaign Data Analyst

In recent years, it’s become common for political campaigns to hire teams of Data Analysts who can translate data into actionable plans that help guide a campaign. For example, a Data Analyst for a political campaign might look at demographic data to pinpoint areas where a candidate should extend outreach and mobilize voters. Or, they might use data to guide a candidate’s messaging strategy in advertisements and fundraising campaigns. 

Deciding where a campaign should focus its funds is also a big part of this specialty. “The job of analytics on these big campaigns and on small campaigns is how do we spend our money,” Becca Siegel, Senior Advisor to Kamala Harris, said in a keynote address at the Political Analytics Conference in 2024. Becca, who served as Chief Analytics Officer for the 2020 Biden campaign, started her career in political organizing before getting into technology, statistics, and mathematics. 

There’s no one path to working in the data science field. Rayid Ghani, Chief Data Scientist of President Obama’s 2012 election campaign, gave this advice for aspiring data professionals: “In addition to getting the technical skills in statistics, machine learning, and computer programming, take some classes in the social sciences, learn how to define problems, and communicate with people about the solution you’re developing as well as its impact,” he told the American Statistical Association

Political Scientist

Broadly speaking, the role of a Political Scientist is to research political ideas and analyze governments, policies, and political trends, according to the U.S. Bureau of Labor Statistics. A Political Scientist will use statistical analysis to gather and interpret survey data on voters, research the effects of policies on people, or come up with solutions to political problems, for example.

R and Python are a couple popular programming languages that are used for statistical analysis. In Learn Statistics with R, you’ll grasp some fundamental statistics concepts and understand how to use the popular programming language.

If you already know Python, you can also check out Learn Statistics with NumPy, where you’ll use a Python module to perform numerical operations on large quantities of data. One of the portfolio projects in this course will have you reviewing survey results from a fictional election using binomial distributions to see how the responses compare to actual election results. (If “binomial distributions” sounds like a foreign language, don’t worry — you’ll learn what that means in the course.)

Data Journalist

A Data Journalist is a Reporter who uses analytical and coding skills to tell stories about current events and news. Using code, Data Journalists can examine structured data and find nuanced trends and observations that might be missed in traditional news coverage and interviews. From tracking election returns in real time to analyzing voter polls, Data Journalists play a crucial role in a news organization’s political coverage.

The website FiveThirtyEight, for example, is a widely-read publication that’s known for its data-driven election and sports forecasting. The New York Times has a dedicated Elections Data Analytics team made up of Data Journalists and programmers who cover election cycles. (You might remember the infamous “needle” visualization that the Times introduced during the 2016 Presidential election to illustrate election night forecasts — that’s data journalism in action!) The Wall Street Journal also has a data team of reporters who specialize in turning large datasets into narratives around topics like business, government, healthcare, and more.

Data Journalists need strong writing skills, plus programming knowledge. R is commonly used by Data Journalists, because they can use it to create compelling data visualizations that help to tell a story and communicate findings to readers. Python, with its English-like syntax and versatility, is another popular programming language used by journalists.

Get started with data science

Inspired to learn more about data science? Codecademy has lots of data science courses for all levels.

A great place to start your coding journey is with our free course Getting Started with Python for Data Science. There’s also our Data Science Foundations skill path, and in the no-code course Principles of Data Literacy, you’ll learn how to analyze data confidently and responsibly. Or you can jump in with Analyze Data with Python to learn the popular programming language used for data analytics. (If you’re on the fence or don’t know whether data science is right for you, take our programming personality quiz.)  

If you’re preparing for any of these careers in data science, you might want to try our career path Data Scientist: Analytics Specialist. You’ll get comfortable “talking” to databases and creating visualizations that drive big picture decision-making, plus work on portfolio-grade projects that you can use to apply for jobs. The beginner-friendly career path Data Scientist: Machine Learning Specialist will teach you all the skills you need to draw predictions from data.

Here are some additional ways you can combine your interests in data science and politics for fun or a new career:

  • Explore datasets: The MIT Election Data and Science Lab has lots of free datasets related to past US elections that you can download and examine.
  • Analyze State of the Union Addresses: Apply a machine learning technique called natural language processing that uses AI to comb the text of past presidents’ State of the Union Addresses. You can also perform sentiment analysis to detect positive or negative sentiment in the speeches.
  • Become a volunteer: Data Scientists and Engineers can apply to be a volunteer for The Center for New Data, a non-profit that uses data science to measure and address voter suppression.
  • Browse job boards: Want a technical job in government? The job board TechToGov has lots of resources for folks who want to work in public interest technology and government service, like a guide to reading government job titles and tips for breaking into civic tech.  

For information about how to vote in the US, head to vote.org. 

This blog was originally published in November 2022 and has been updated to include relevant information about the 2024 U.S. presidential election. 

Do You Have a Hard Time Letting People Down?

0

“Put yourself first” is often good advice when it comes to taking care of your mental health. Are you able to follow it?

Word of the Day: disseminate

0

This word has appeared in 50 articles on NYTimes.com in the past year. Can you use it in a sentence?

Learning With: ‘Test Your Focus: Can You Spend 10 Minutes With One Painting?’

0

Are you easily distracted? If so, you’re in luck! This lesson will help you practice your ability to pay attention.

Underappreciated Sports

0

What athletic endeavors do you think deserve more respect?

It’s Magic – Q&A Reader Edition

0
It’s Magic – Q&A Reader Edition
  • How well they follow the use case – They always ask or should ask what you want to see. Which is a plus, but if you provide them a use case, then clearly there are items on there, of interest – since you gave them the use case.
  • Reach and Follow-up – The latter is really bad in our industry. This means after the demo is provided, the salesperson follows-up with a thank you. Not a pitch, not a standard email template that anyone can figure it out they did – like a mail merge – hint, it is so obvious, just stop doing it. There is a right way to do a thank you, and a wrong way.
  • The worst way is not following up. The reach? An initial e-mail to you, after they have read and digested the use case, they may ask if there is anything else you want to see – as in what is really essential – without them saying that word – there are other words they can use. Zero in and pinpoint are very relevant. I’m tired of the “you can stop me at any time to ask questions garbage,” because at least 50% of the time, they ignore you and keep on rumbling. Oh, and if you have to start increasing your voice to get them to stop or respond – you should recognize this isn’t a fit – by telling them your dog just ate your shoe and is vomiting everywhere and you have to go. Trust me, it works.

Should Human Sports Referees Be Mostly Replaced With Automated Ones?

0

The United States’ big professional sports leagues are moving toward technological systems for officiating games. Is that a good thing?