The 10 Most Popular Coding Challenge Websites [Updated for 2021]

Daniel Borowski

A great way to improve your skills when learning to code is by solving coding challenges. Solving different types of challenges and puzzles can help you become a better problem solver, learn the intricacies of a programming language, prepare for job interviews, learn new algorithms, and more.

Below is a list of some popular coding challenge websites with a short description of what each one offers.

1. TopCoder

MTryRL4uVza1V87ERWY26L4cFeqD2rgAnW1f

TopCoder is one of the original platforms for competitive programming online. It provides a list of algorithmic challenges from the past that you can complete on your own directly online using their code editor. Their popular Single Round Matches are offered a few times per month at a specific time where you compete against others to solve challenges the fastest with the best score.

The top ranked users on TopCoder are very good competitive programmers and regularly compete in programming competitions. The top ranked user maintains his own blog titled Algorithms weekly by Petr Mitrichev where he writes about coding competitions, algorithms, math, and more.

2. Coderbyte

sP6ow4n2alliqp5L-p5fVRQC9W0GTws1B9Ig

Coderbyte provides 200+ coding challenges you can solve directly online in one of 10 programming languages (check out this example ). The challenges range from easy (finding the largest word in a string) to hard (print the maximum cardinality matching of a graph).

They also provide a collection of algorithm tutorials , introductory videos, and interview preparation courses . Unlike HackerRank and other similar websites, you are able to view the solutions other users provide for any challenge aside from the official solutions posted by Coderbyte.

3. Project Euler

plhA-E3btLLYRvc4hi3WxmUpAhu3aoef1o0V

Project Euler provides a large collection of challenges in the domain of computer science and mathematics. The challenges typically involve writing a small program to figure out the solution to a clever mathematical formula or equation, such as finding the sum of digits of all numbers preceding each number in a series.

You cannot directly code on the website in an editor, so you would need to write a solution on your own computer and then provide the solution on their website.

4. HackerRank

dOpMtufto0gLZiyDOHZ4BVF58S-z393wRlcu

HackerRank provides challenges for several different domains such as Algorithms, Mathematics, SQL, Functional Programming, AI, and more. You can solve all the challenge directly online (check out this example ).

They provide a discussion and leaderboard for every challenge, and most challenges come with an editorial that explains more about the challenge and how to approach it to come up with a solution.

Currently, if you don't solve the problem, then you can't see the solution of others. If you also try to check the editorial before solving the problem, then you won't get the point for solving the problem at all.

As an example, here I haven't solved the problem, and I am trying to check others' submissions:

problem-not-solved-yet

And here, I haven't solved the problem, and I am trying to check the editorial:

problem-not-solved-lost-point

HackerRank also provides the ability for users to submit applications and apply to jobs by solving company-sponsored coding challenges.

5. CodeChef

81eunsDYPAqBSC8KwPpBxhPFTHiqGXp70kMa

CodeChef is an Indian-based competitive programming website that provides hundreds of challenges. You are able to write code in their online editor and view a collections of challenges that are separated into different categories depending on your skill level (check out this example ). They have a large community of coders that contribute to the forums, write tutorials , and take part in CodeChef’s coding competitions .

6. Exercism.io

Screen-Shot-2019-12-11-at-8.14.45-AM

Exercism is a coding challenge website that offers 3100+ challenges spanning 52 different programming languages. After picking a language that you'd like to master, you tackle the coding challenges right on your machine (Exercism has their own command line interface that you can download from GitHub).

It is a bit different from other challenge websites, however, because you work with a mentor after completing each challenge. The mentor reviews your answers online and helps you improve them if needed. Once your answers have been approved and submitted, you unlock more challenges.

7. Codewars

QR7cVhZ7FGb6HjaEDu4N5Co1eTMNTbo1JFzq

Codewars provides a large collection of coding challenges submitted and edited by their own community. You can solve the challenges directly online in their editor in one of several languages. You can view a discussion for each challenges as well as user solutions.

8. LeetCode

RzWKVwPaLY2SRsWFWk93ZNlzcg8V0Yeav5t7

LeetCode is a popular Online Judge that provides a list of 190+ challenges that can help you prepare for technical job interviews. You can solve the challenges directly online in one of 9 programming languages. You are not able to view other users' solutions, but you are provided statistics for your own solutions such as how fast your code ran when compared to other users' code.

They also have a Mock Interview section that is specifically for job interview preparation, they host their own coding contests , and they have a section for articles to help you better understand certain problems.

MF3wP06V24C7jal2f8NRvAVhS-tAA2vbNDTL

Sphere Online Judge (SPOJ) is an online judge that provides over 20k coding challenges. You are able to submit your code in an online editor . SPOJ also hosts their own contests and has an area for users to discuss coding challenges. They do not currently provide any official solutions or editorials like some other websites do, though.

10. CodinGame

6l08ZCKDOaoY1TH-PHHHac26McA-c1tIDOPU

CodinGame is a bit different from the other websites, because instead of simply solving coding challenges in an editor, you actually take part in writing the code for games that you play directly online. You can see a list of games currently offered here and an example of one here . The game comes with a problem description, test cases, and an editor where you can write your code in one of 20+ programming languages.

Although this website is different than typical competitive programming websites such as the ones mentioned above, it is still popular amongst programmers who enjoy solving challenges and taking part in contests.

This list was based on a few things: my own experiences using the websites, some Google searches , Quora posts , and articles such as this one and this one . I also frequented some forums and subreddits such as r/learnprogramming to see what websites were usually recommended by the users there. Disclaimer: I work at Coderbyte which is one of the websites mentioned above.

CEO & Founder at Coderbyte.

If this article was helpful, share it .

Learn to code for free. freeCodeCamp's open source curriculum has helped more than 40,000 people get jobs as developers. Get started

DEV Community

DEV Community

Aya Bouchiha

Posted on Aug 12, 2021 • Updated on Sep 12, 2021

11 Websites To Practice You Coding And Your Problem Solving Skills

11 websites to practice your coding and problem-solving skills.

  • coderfights

Suggested Posts

Youtube Courses, Projects To Learn Javascript

You Complete Guide To Set Object In Javascript

All JS String Methods In One Post!

To Contact Me:

email: [email protected]

telegram: Aya Bouchiha

Have a nice day!

Top comments (0)

pic

Templates let you quickly answer FAQs or store snippets for re-use.

Are you sure you want to hide this comment? It will become hidden in your post, but will still be visible via the comment's permalink .

Hide child comments as well

For further actions, you may consider blocking this person and/or reporting abuse

grahamthedev profile image

Snake...in pure HTML⁉️ [no JS, no CSS, no images!!] 😱

GrahamTheDev - Mar 8

asimmon profile image

Key derivation in .NET using HKDF

Anthony Simmon - Mar 4

ng_news profile image

Episode 24/11: Angular 17.3

ng-news - Mar 23

cadienvan profile image

Logs - The Twelve Factor App Methodology

Michael Di Prisco - Feb 29

DEV Community

We're a place where coders share, stay up-to-date and grow their careers.

10 websites to practice coding problems: Our picks

Whether you're just starting out as a coder or want to advance your coding skills, tackling programming problems is part of the plan. 

Convenient, free, and even fun, coding problem websites challenge your abilities with individual exercises, friendly challenges, and insightful assessments.

Practicing your coding through these websites may increase your knowledge, build your skills, and prepare you for programming job interviews. 

Top websites for practicing your coding skills

Should a humanities major learn to code.

Can a humanities student learn coding? Absolutely. Coding is not strictly for STEM students — it can benefit you no matter your degree.

How hard is it to learn coding ? Starting from scratch can be difficult, but coding challenges designed to test and advance your skills may help. We rounded up 10 great websites for coding problems and listed them alphabetically for you. 

Each website offers a collection of resources for learning coding or advancing what you already know. 

1. CodeChef

CodeChef lets you choose among thousands of problems to practice skills like sorting, data structures, and dynamic programming. Problems are sortable by difficulty. Code Chef's practice problems allow you to answer in one of over 50 programming languages as you prepare for its internal or external monthly contests. 

CodeChef offers self-guided learning opportunities and mentoring programs alongside a community of coders, coding bootcamps, and tech certification programs. 

2. Coderbyte

Designed for coding practice and improvement, Coderbyte offers code challenges and courses aimed at helping you prepare for job interviews. 

Coderbyte had over three million solutions with challenges in more than 25 languages. Starter courses in algorithms, JavaScript, Ruby, and Python accompany interview kits and career resources. 

You can sign up for a free challenge and free trial. A monthly subscription to Coderbyte costs $35 and an annual subscription is $150. Both give you access to all of Coderbyte's resources. 

3. Codewars

Launched in 2012, Codewars provides practice kata, or small coding exercises, that you advance through as you build your skills. Codewars' kata are available in nearly 60 programming languages and in levels from beginner to advanced.

You can develop your own kata, engage with the Codewars community, and master one or multiple languages in the process. Feedback and creative learning facilitate creative thinking and innovation among Codewars' users. Codewars offers resources for educators and companies as well. 

4. CodinGame

With more than 25 supported languages, CodinGame provides challenge-based programming training through games, puzzles, and competitions. 

CodinGame's resources let you build your programming abilities, learn new concepts, and interact with fellow coders through easy, medium, hard, and very hard exercises.

CodeinGame's leaderboard and prizes earn you recognition from your peers and track your progress. Free live streams, blogs, and discussion forums for developers accompany sourcing, screening, and retention programs for recruiters. 

5. Geektastic

With human-reviewed technical assessments, Geektastic lets companies customize coding challenges for talent acquisition and engineering team training. If you have coding experience, you can join Geektastic's reviewer community to create and test those challenges — and get paid to review candidates' performance. 

Code challenges are offered in Java, Python, and PHP. Geektastic also offers skills assessments in Java, Javascript, and basic coding. Joining as a developer comes with no cost, while flexible pricing accommodates businesses of any size. 

6. HackerRank

HackerRank serves as a technical interview platform, but also provides coding practice to over 18 million users. Challenges offered by HackerRank cover topics including algorithms, Java, Python, Ruby, and data structures. 

HackerRank's challenges allow you to test your code, debug it, and win one of its sprint, company, language, or timed challenges. You can also earn certifications in specific skills or complete interview preparation kits. Pricing ranges from $25/month for interview content to $819/month team subscriptions.

7. LeetCode

LeetCode provides more than 2,250 practice problems to its programmer community. Individual challenges in topics like algorithms, database structures, and dynamic programming accompany entire study plans. 

LeetCode's programming skills study plan integrates three modules offered at easy, medium, or hard difficulty levels. LeetCode supports 14 programming languages and houses a playground tool to help you test, debug, and write code. 

Sign-up is free. LeetCode Premium offers access to additional tools and premium content for a monthly subscription of $35 or an annual fee of $159. 

8. Project Euler

Named for mathematician Leonhard Euler, Project Euler began in 2001. Recent and archival content is available for registered users at no cost. 

Project Euler offers computational programming problems combining mathematics with computer and programming skills. With 108 programming languages and more than one million users, Project Euler provides problems with varying difficulty.

Sphere Online Judge, or SPOJ , trains users to code and build efficient algorithms through more than 20,000 practice problems. Scoring categories for problems include challenges, tutorials, and riddles. Rankings and a status board accompany running contests that support more than 45 programming languages and compilers. 

SPOJ offers a flexible testing system to automatically assess user-submitted programs. Users can design their own contests or take part in an online course at all programming levels, but it is ideal for students.

10. TopCoder

TopCoder's community of designers, developers, data scientists, and competitive programmers build their skills, show their expertise, and earn money as they improve their coding abilities. TopCoder pays individuals for their work, sells it to corporate clients, and hosts competitions designed to highlight top coding talent worldwide.

Customers use TopCoder to hire freelancers on-demand, set challenges for the coding community, and find teams for projects.

This article was reviewed by Monali Mirel Chuatico

In 2019, Monali Mirel Chuatico graduated with her bachelor's in computer science, which gave her the foundation that she needed to excel in roles such as data engineer, front-end developer, UX designer, and computer science instructor.

Monali is currently a data engineer at Mission Lane. As a data analytics captain at a nonprofit called COOP Careers , Monali helps new grads and young professionals overcome underemployment by teaching them data analytics tools and mentoring them on their professional development journey.

Monali is passionate about implementing creative solutions, building community, advocating for mental health, empowering women, and educating youth. Monali's goal is to gain more experience in her field, expand her skill set, and do meaningful work that will positively impact the world.

Monali Mirel Chuatico is a paid member of the Red Ventures Education Integrity Network. 

Last reviewed April 21, 2022.

ZDNET Recommends

11 Best Websites to Practice Coding for Beginners in 2024

best problem solving sites for beginners

Coding is not a spectator sport. To develop your skills, you must write it yourself. Here are the best websites to practice coding.

Indeed’s Best Jobs of 2023 ranked America’s most highly prized careers based on demand, pay, and potential for growth. These careers included:

  • Full-stack developer (#1)
  • Data engineer (#2)
  • Back end developer (#6)
  • Site reliability engineer (#7)
  • Director of data science (#25)

That means half of the top ten best jobs in America require coding skills‌. But, if you don’t have coding skills, where do you go to learn them?

At Flatiron School , we help pave the way for your transition into the tech industry. Our comprehensive programs are designed to provide you with the foundational knowledge you need to develop the coding and programming skills that are in such high demand. Our programs help students discover their full potential and pursue the career of their dreams.

But maybe you’re just ready to dip your toe in and explore your options? There are several coding for beginners resources online.   So whether you’re looking to learn a new coding language or try out programming for the first time, it’s worth looking into coding practice sites for beginners.

11 Best Coding Practice Sites

Coding is not a spectator sport. It’s great to watch tutorials and read books on how to code, but to truly develop your programming proficiency, you must write the language yourself. Here are some of the best places to practice your coding skills.

1. Coderbyte

As you begin to develop your coding skills, you may be unsure what to practice first. It helps to work on real-world problems other coding professionals have faced—and Coderbyte has exactly that. With over 2,000 challenges on front and back end development, data structures, and algorithms that professionals have faced in their interviews, you’ll be able to hone your skills on examples that really matter.

Pros of Coderbyte

‌Coderbyte lets you use over 30 different programming languages and has a library of over 3 million solutions you can learn from.

Cons of Coderbyte

Coderbyte has a user interface that’s often complex for new users to navigate, so it might take some time getting used to this site.

2. Pluralsight

If you’re seeking a comprehensive learning platform that allows you to learn at your own pace, go with Pluralsight . You’ll develop a strong skill set in Python, JavaScript, HTML, and CSS, just to name a few. You can also receive learning recommendations based on what you’re focusing on.

Pros of Pluralsight

The platform provides a personalized learning experience as you can customize your training sessions with multiple features, including multiple language support.

Cons of Pluralsight

Users have minimal interaction with course instructors and industry experts, which makes it difficult to gain valuable feedback.   

Unlock over 10,000 interactive coding challenges with Edabit . This free platform provides courses that are simple and practical. You can also access beginner tutorials to make the most of your learning experience. Plus, the challenges are ranked by difficulty, so you know exactly what level you’re at in your programming expertise.

Pros of Edabit

Learners gain access to a code editor that’s built into the platform. That way, users can create a code without having to switch to another application.

Cons of Edabit

You don’t gain a certificate for completing any of the tutorials. Also, some users have stated that the platform used outdated programming languages. 

4. CodinGame

Wanna play a game? CodinGame lets you practice your coding through fun games and code challenges. With single-round matches and both solo and multiplayer modes, this platform gives you a chance to practice coding the fun way.  

Pros of CodinGame

There are over 25 available programming languages.

Cons of CodinGame

Some users take issue with the size of the timers displayed on the programming tests. Unless you look carefully for the timer, you may miss the opportunity to submit your questions on time. 

5. CodeChef

Competition can be the best motivator to learn, and CodeChef offers exactly that. This platform lets users measure their skills by practicing more than 3,000 problems. You can compete against other coders, which creates great coding practice for beginners. But don’t worry—the competition is friendly, and participants often write posts and tutorials to help each other learn.

Pros of CodeChef

CodeChef users will be pleased to know that there is an active, supportive community that encourages growth. 

Cons of CodeChef

Users report that some practice problems lack clarity.

6. Project Euler

Project Euler offers a chance to solve challenging math problems with script. Over 1 million users have solved at least one problem on the site.

Pros of Project Euler

The site offers 111 programming languages.

Cons of Project Euler

If math isn’t your strongest subject, Project Euler may not be for you. The math-oriented programming languages get quite complex as you progress through the challenges.

7. TopCoder

Join a community of 1.7 million technical experts at TopCoder . On the learning side, they have an abundance of weekly challenges and explanations, along with challenging competitions that help you rise to the coding occasion.

Pros of TopCoder

The site is one of the most established platforms with an active user base.

Cons of TopCoder

Some users have experienced difficulty navigating the program’s user interface. Also, if you submit a support request, it may go unnoticed as their support system lacks efficiency.

8. One Month

Learning coding and web development in a span of 30 days with One Month . You can select from a variety of basic courses that cover HTML, Python, SQL, Ruby, and more! You also get to create real-world projects.

Pros of One Month

This user-friendly resource is great if you’re just looking to learn the fundamentals of coding and web development.

Cons of One Month

If you decide to switch to another programming platform, just note that there are no refunds available.

9. Geektastic

With detailed solutions to their multiple-choice and peer-reviewed coding challenges, Geektastic has a wealth of resources for programmers and a growing community of over 26,000 developers.

Pros of Geektastic

In addition to their interactive challenges and competitions, coders that rank high enough might even be allowed to join the review team. Members of this team get paid to review coding submissions for clients seeking a solution to their own coding projects.

Cons of Geektastic

Some users have raised concerns with how the challenges are scored, stating that they don’t reflect a candidate’s programming skills well. 

10. Geeks for Geeks

Made by developers for developers, Geeks for Geeks offers coding content for programmers of all skill levels, including beginners. Exercises in data structures, machine learning, web development, and much more are available.

Pros of Geeks for Geeks

Competitive challenges offer interactivity and a space to share coding solutions.

Cons of Geeks for Geeks

Geeks for Geeks primarily provides information in English, which means non-English speakers could run into trouble with the resources available. The website also has limited multimedia resources, mostly relying on text-based information.  

11. HackerEarth

What’s great about HackerEarth is that users can create and customize their coding assessments for technical positions. 

With HackerEarth, you’ll join a community of 7.6 million developers, participate in several programming challenges and customize your tests for a specific role.

Pros of HackerEarth

Not only does the website offer support in multiple languages, but it also includes AI proctoring to ensure exam results are accurate and reliable. 

Cons of HackerEarth

You might run into trouble navigating to specific problem types because the website has troublesome indexing and prioritization. 

Blogs to Help You Learn

They may be less interactive than competitions and online courses, but plenty of coding for beginners blogs are available to help new students gain programming proficiency. Here are some of our favorites.

1. The Crazy Programmer

This blog isn’t designed to give hands-on coding experience, but there’s a wealth of programming knowledge on pretty much everything else. From useful books and articles to tutorials and Q&As, The Crazy Programmer is a great blog to follow for those just learning to code.

2. The Hackr.io Blog

If you’re looking for courses or content that will grow your coding skills, The Hackr.io Blog will help you look in the right places. Written by a community of programming professionals, this blog is devoted to grading the most useful coding content so readers know they’re relying on quality sources. 

The blog touches on a wide range of topics, though, so those looking for resources on a specific language may find their content hit and miss.

3. Better Programming

As its name suggests, this blog is devoted to improving your programming. With posts on a range of topics in web design and coding, Better Programming features content from multiple industry pros on both introductory and advanced content. There’s truly something for everyone. As with Hackr.io, those concentrating on a specific topic may want something more focused.

Flatiron School: The Ultimate Coding Solution

What makes us different from coding websites? Here at Flatiron School, we work tirelessly to help students gain the foundational coding skills they need to begin a career in the tech industry. Combining flexible program options, industry-leading education, and up to 180 days of Career Coaching upon graduation, Flatiron School gives our students the jumping-off point they need to begin a rewarding tech career.  

Our programs contain a mixture of lectures, group work, instructor guidance, and community support to both equip our students with technical skills and prepare them to work effectively on a team. No matter what level a student begins at, Flatiron School’s Software Engineering program can take you from a complete beginner to industry-ready in as little as 15 weeks. 

If you’re committed to a career in tech, we’ll teach you the skills you need to succeed. 

Apply today to get started . Not ready to apply? No problem – test out our material with Free Software Engineering Prep Work or download the course syllabus .

If you’re an employer looking to bring new talent to your team, check out our tech training solutions and see how you can invest in your company’s growth. 

Disclaimer: The information in this blog is current as of 23 October 2023. Current policies, offerings, procedures, and programs may differ.

best problem solving sites for beginners

About Flatiron School

Related posts.

best problem solving sites for beginners

Learn to Code Python: Free Lesson for Beginners

best problem solving sites for beginners

Intro to Predictive Modeling: A Guide to Building Your First Machine Learning Model

best problem solving sites for beginners

Navigating Social Media Security: Protecting a Business Against Cyber Risks

Related resources.

best problem solving sites for beginners

Behind JavaScript, HTML/CSS, and SQL, Python is the fourth most popular language with 44.1% of developers. Check out this article on how you can learn this popular programming language for free.

best problem solving sites for beginners

Predictive modeling in data science involves using statistical algorithms and machine learning techniques to build models that predict future outcomes or behaviors based on historical data. It encompasses various steps, including data preprocessing, feature selection, model training, evaluation, and deployment.

best problem solving sites for beginners

Social media attacks are on the rise. Learn best practices for protecting a business (and a business’ employees) from bad actors.

Privacy Overview

Become a great problem solver

Learn by doing with interactive problem solving that’s effective and fun. master concepts in 15 minutes a day., data analysis, computer science, programming & ai, science & engineering, join over 10 million people learning on brilliant, over 50,000 5-star reviews on ios app store and google play.

App of the day award

Master concepts in 15 minutes a day

Whether you’re a complete beginner or ready to dive into machine learning and beyond, Brilliant makes it easy to level up fast with fun, bite-sized lessons.

Effective, hands-on learning

Visual, interactive lessons make concepts feel intuitive — so even complex ideas just click. Our real-time feedback and simple explanations make learning efficient.

Learn at your level

Students and professionals alike can hone dormant skills or learn new ones. Progress through lessons and challenges tailored to your level. Designed for ages 13 to 113.

Guided bite-sized lessons

Guided bite-sized lessons

We make it easy to stay on track, see your progress, and build your problem solving skills one concept at a time.

Stay motivated

Form a real learning habit with fun content that’s always well-paced, game-like progress tracking, and friendly reminders.

Guided courses for every journey

All of our courses are crafted by award-winning teachers, researchers, and professionals from MIT, Caltech, Duke, Microsoft, Google, and more.

  • Foundational Math
  • Software Development
  • Foundational Logic
  • Data Science
  • High School Math
  • Engineering
  • Statistics and Finance

Courses in Foundational Math

  • Solving Equations
  • Measurement
  • Mathematical Fundamentals
  • Reasoning with Algebra
  • Functions and Quadratics

iOS

10k+ Ratings

android

60k+ Ratings

We use cookies to improve your experience on Brilliant. Learn more about our cookie policy and settings .

Get really good at programming.

Develop fluency in 69 programming languages with our unique blend of learning, practice and mentoring. Exercism is fun, effective and 100% free, forever.

is an independent, community funded, not-for-profit organisation.

Explore and get fluent in 69 programming languages

Over 5743 coding exercises. from "allergies" to "zebra puzzle"..

Learn by doing. Get better at programming through fun coding exercises that build your understanding of concepts.

Given a person's allergy score, determine whether or not they're allergic to a given item, and their full list of allergies.

Queen Attack

Given the position of two queens on a chess board, indicate whether or not they are positioned so that they can attack each other

Zebra Puzzle

Which of the residents drinks water? Who owns the zebra? Can you solve the Zebra Puzzle with code?

best problem solving sites for beginners

Write code locally, in your own space

Exercism is primarily built as a CLI-first tool. Download and submit exercises right from your terminal.

Use the Exercism in-browser editor

Don't spend hours installing a language locally just to try it out. We support all 69 of our programming languages in our in-browser editor.

Get automated analysis on your code

Not quite sure how well you've done? We run automatic analysis on your solutions to give you quick feedback and points of improvement.

Deepen your knowledge with human mentoring, for free.

Discover new and exciting ways to approach an exercise by getting mentored on it. Become more familiar with the conventions, idioms and opinions of a particular programming language.

best problem solving sites for beginners

Why mentoring?

You don't know what you don't know.

When learning a new language, the hardest part is not being aware of the gaps in your knowledge. Our mentors can look at your code and immediately see the ideas you're not familiar with and give you a level-up by unlocking new knowledge.

Learn language-specific conventions

Becoming fluent in a language is more than being able to write code in it - it's about being able to think in that language. Our mentors will help guide you to how to reshape your thinking to write idiomatic code.

Learning with others is fun

Getting feedback from real people is an amazingly exciting way to learn. And becoming a mentor and giving feedback yourself is an even bigger step forward. So complete the circle - be mentored and mentor 🎉

Learn Python practically and Get Certified .

Popular Tutorials

Popular examples, reference materials, learn python interactively, learn programming for free.

Learn to program with our beginner-friendly tutorials and examples. Read tutorials, try examples, write code and learn to program.

Get the latest tutorials and updates

Learn to code with Programiz

Choose what to learn

Start learning the best programming languages.

Python Programming

R programming, java programming, rust programming, go programming, c++ programming, c programming, ds & algorithms, swift programming, c# programming, kotlin programming, land your first job with our learning paths.

Interactive and Highly Intuitive Lessons

Save Time, Save Money

Build Projects, Get Certified

Interactive and Highly Intuitive Lessons

Enroll Now for FREE!

Try our courses for FREE now! Start from our most popular courses.

Interactive Python Course

best problem solving sites for beginners

Interactive C Course

best problem solving sites for beginners

Interactive Java Course

best problem solving sites for beginners

Interactive C++ Course

Python online compiler (interpreter) image

Practice with our Online Compilers

We believe coding should be accessible to all. So we made our own compilers for web and mobile. And it's free!

Python Compiler

Html editor, java compiler, c# compiler, c++ compiler, rust editor, golang compiler, swift compiler, php compiler, why programiz, programming made easy.

We focus on simplicity. Programming tutorials and examples written in simple, understandable language for beginners.

Content You Can Trust

A dedicated group of experts continually working to create programming resources that is accurate and easier to understand.

Learn by Doing

The only way to learn to program is by writing code. We provide a lot of complete examples so that run and edit code on your own.

Learn on the Go: Programiz for iOS & Android

Self-paced curated courses just for you.

Check out our app library and download the one that you want to learn.

Learn Python App

Learn c programming app, learn java app, learn c++ app.

daily.dev platform

Discover more from daily.dev

Personalized news feed, dev communities and search, much better than what’s out there. Maybe ;)

Choosing Competitive Programming Websites for Beginners

Choosing Competitive Programming Websites for Beginners

Learn how to choose the best competitive programming website for beginners and get started with coding challenges. Boost your problem-solving skills and coding foundations.

Choosing the right competitive programming website as a beginner can feel overwhelming. Here's a quick guide to help you decide:

  • Codeforces : Offers a range of problems from easy to complex, with a large global community.
  • LeetCode : Ideal for job interview prep with easy to hard problems and a rich learning section.
  • HackerRank: Features lots of guides for beginners, supports many languages, and connects coders with companies.
  • CodeChef : Has a beginner-friendly area and provides everything for free.
  • AtCoder : Known for contests for all levels and a friendly, worldwide community.

Quick Comparison

Your choice should align with your current skill level, learning priorities, and the kind of user experience you prefer. Try solving some easy problems on different platforms to see which one suits you best.

The Essence of Competitive Programming

Competitive programming is all about using your brain to solve tricky puzzles under time pressure. It's a way to practice and get really good at figuring out problems, kind of like doing really intense brain workouts. When you dive into competitive programming as a beginner, here's what you get out of it:

  • Boosts your thinking and problem-solving skills: You learn to look at a problem, break it down, and figure out a step-by-step solution. This skill is super important for all kinds of coding work.
  • Strengthens your coding foundations: You'll work on challenges that cover basic but essential topics like lists, trees, sorting, and more. Getting these basics down is crucial.
  • Makes you a quicker and smarter coder: Since you're racing against the clock, you'll learn to write code that's not just correct but also fast and efficient. This is about finding the best way to solve a problem quickly.
  • Helps you learn how to make your code better: You're not just aiming to get the right answer; you're also trying to do it in a way that doesn't waste computer memory or take too long. This teaches you to always look for the best solution.
  • Gives you confidence in solving tough problems: The more you practice, the better you'll get at tackling new and difficult challenges. This is a great confidence booster and prepares you for real-life coding tasks.

Competitive programming can seem a bit scary at first, but it's a fantastic way to learn and improve. The key is to start with the right websites that offer challenges suited to beginners. This will help you build your skills step by step.

Key Factors to Consider When Choosing a Platform

Choosing the right place to start competitive programming is a big deal if you're a beginner wanting to get better. Here's what to think about:

Language Support

It's important that the site lets you use languages you know or want to learn, like C++, Java, Python, and JavaScript. Being able to work in different languages means you can try more types of challenges.

Problem Diversity

A good site has all kinds of problems to solve, from math to searching to working with data. This helps you learn a lot of different things and keeps it interesting.

Community Engagement

A site with an active community means you can get help, see how others solve problems, join teams, and make friends who also like coding. Places like CodeChef and Codeforces are known for this.

Learning Resources

Having access to guides, articles, and tips makes it easier to understand the problems and learn how to solve them better. It's great when this info is easy to find.

User Interface

A simple, easy-to-use website makes focusing on coding a lot easier. Features like automatic checking of your solutions and being able to code right in your browser are super helpful.

Rating System

A system that scores your solutions is good for seeing how you're doing. As your score gets better, you get to try harder problems. It also adds a bit of fun competition with others.

When you look at these things, you can find the best website for starting out in competitive programming. It's all about finding a place that makes learning and getting better fun and rewarding.

Comparative Analysis of Top Competitive Programming Websites

1. codeforces.

Codeforces

Codeforces is a site where people who like competitive coding can join contests and solve problems. It was created by a group of programmers from Russia. The site is free and has lots of different challenges for people all around the world.

Codeforces lets you try a bunch of problems that vary in how tough they are. It also has a place where you can talk to others, share solutions, and read about how to tackle different challenges. Most of what you can do on Codeforces doesn’t cost anything.

You can use many programming languages on Codeforces, including popular ones like C++, Java, Python, and JavaScript. This means you can solve problems in a language you’re comfortable with or one you’re trying to learn.

Problem Difficulty Range

The problems on Codeforces are rated by how hard they are, from 800 (easier) to 3500+ (really hard). There are plenty of easier problems that are perfect for beginners.

Codeforces has a section full of articles and guides to help you understand important coding concepts. If you have questions, you can also ask in the community forums.

Community and Support

The Codeforces community is big and includes coders from all over the world. You can join discussions, read blogs, and see how others approach problems.

Signing up and joining contests on Codeforces is free. There are some extra features that cost money, but everything you need to get started and improve is available without paying.

2. LeetCode

LeetCode

LeetCode is a go-to site for practicing coding problems, especially if you're preparing for job interviews. It has over 1,900 different coding questions you can try out, ranging from super simple to really tough. It's also a place where you can see how others solve problems and learn from them.

You can code in many languages on LeetCode, including C++, Java, Python, and JavaScript. This means you can stick with what you know or try something new.

LeetCode sorts its problems into three levels: Easy, Medium, and Hard. This setup helps you start with the basics and gradually tackle more challenging questions. Each problem is also tagged by topic, like arrays or linked lists, making it easier to focus on what you want to learn.

LeetCode's Explore section is full of videos and articles that explain coding concepts, interview questions, and more. There's also a Discuss section where you can chat about how to solve problems.

LeetCode has a huge community of over 12 million users. Here, you can find folks to practice coding with and get advice.

You can use LeetCode for free, which lets you access most of its features. If you want extra stuff like detailed problem analysis or practice interviews, there's a paid option.

3. HackerRank

HackerRank

HackerRank is all about giving coders a place to practice and get better. It has tons of challenges in different programming languages for all skill levels. You can solve problems, join contests, work together on projects, and even get noticed by companies looking to hire.

HackerRank lets you use over 50 programming languages, including favorites like C++, Java, Python, and JavaScript. This means you can pick the language you’re most comfortable with to tackle challenges.

The challenges on HackerRank are for everyone, from beginners to pros. They label their challenges as easy, medium , and hard, so you can start simple and move up as you get better.

HackerRank has all sorts of help like tutorials , videos, tips for coding, and forums where you can talk to others. If you’re just starting, they have basics to help you build up your skills for the tougher stuff.

HackerRank’s community is huge, with over 8 million users. You can talk about how to solve problems, work on code together, and even find job chances through the site.

You can use HackerRank for free to access most challenges, learn from tutorials, and join the community. If you want more like advanced testing or special challenges, they have plans you can pay for.

4. CodeChef

CodeChef

CodeChef is a place where coders can come to get better by solving different coding problems. It started in 2009 and now has over 1.5 million people using it from all over the world.

You can use a bunch of programming languages on CodeChef, like C, C++, Java, Python, and even some less common ones like Haskell and Kotlin. This means you can work in the language you know best.

The problems on CodeChef are marked from easy to hard. This lets beginners start with simpler stuff and move up as they get more comfortable. They also have guides on basic topics like lists and sorting.

CodeChef has a special section for beginners that goes over all the basics you need for competitive coding. It includes easy-to-follow tutorials.

There's a place called CodeChef Discuss where you can talk to other coders, ask questions, and learn new ways to solve problems. The community is really welcoming.

Joining CodeChef doesn't cost anything. You just need to sign up with your email, and you're ready to start practicing.

AtCoder is a platform from Japan for competitive coding. It's a place where you can join online contests or just practice coding problems on your own. More than half a million people use AtCoder, making it a popular choice worldwide.

You can use over 40 programming languages on AtCoder, including common ones like C++, Java, Python, and also others like C#, Ruby, and Rust. This means you can solve problems in a language you're comfortable with.

AtCoder has problems for everyone, from beginners to experts. They have beginner contests for newbies and grand contests for really tough challenges. This way, no matter your level, you can find problems that suit you.

AtCoder lets you check your answers with their online judge and has articles that explain how to solve problems. There's also a forum where you can talk about coding with others and learn from them.

The AtCoder community is active and friendly. During contests, you can see how others solve problems, and there's always someone to discuss coding techniques with. Users also create study groups and events to learn together.

Using AtCoder is totally free. You can try out problems, enter contests, read articles, and join in the discussions without paying anything. The only time you might spend money is if you want to buy AtCoder merchandise.

Pros and Cons Comparison

When looking at the best websites for beginners in competitive coding, Codeforces is great because it has a lot of people you can learn from. LeetCode and HackerRank are also good because they have lots of tutorials, articles, and problems to solve. CodeChef has a nice section for new coders. AtCoder is used by people all over the world, but it's not as focused on beginners.

What you choose depends on what you're looking for. If you want to learn from others, Codeforces might be for you. If you like structured learning and tutorials, check out LeetCode and HackerRank. CodeChef is good if you're starting from scratch and want to talk about problems. AtCoder gives you a chance to join a global community, but it might not hold your hand as much. Think about what you need and what you want to get better at to pick the best website.

sbb-itb-bfaad5b

Making the right choice.

Picking the best site for starting competitive programming might seem tough with so many choices out there. But if you think about what you really need, it gets easier. Here's what to keep in mind:

Assess Your Current Skill Level

  • What programming languages do you know? Sites support popular ones like C++, Java, Python.
  • How good are you with data structures, algorithms, or math? This decides the problem levels you can handle.
  • Is this your first time solving coding problems? Then you might need more guidance.

Determine Your Learning Priorities

  • Want to get ready for job interviews? LeetCode is a good pick.
  • Looking to learn from others? Codeforces has a large forum.
  • Need beginner-friendly guides? HackerRank and CodeChef have plenty.

Consider the User Experience

  • Is the site easy to navigate?
  • Does it let you check your answers easily?
  • Can you code directly on the website?

Review the Rating System

  • Codeforces sorts problems by how tough they are, helping you move up gradually.
  • LeetCode labels problems as Easy, Medium, and Hard, so you know where to start.

Sign Up and Try Some Problems

  • Join sites that catch your interest to see how they feel.
  • Try solving some easy problems on different sites to find what suits you.

The best site for you matches your skill level, priorities, and what you like. Don't hesitate to try out a few until you find where you fit best!

Getting Started with Competitive Programming

Getting Started

Starting out in competitive programming might feel a bit overwhelming, but if you take it one step at a time and stick to the basics, you'll find your footing. Here's a simple guide to help you begin:

Pick Your Preferred Language

First off, decide which programming language you want to use. The top picks for competitive coding are:

  • C++: It's quick and powerful, perfect for solving tricky problems.
  • Java: It takes a bit more to write than C++, but it's got great tools.
  • Python: Super easy to get the hang of, though it's not as fast as C++ or Java. Great for starters.

Go with a language that you're either already comfortable with or interested in learning. Most competition sites let you use a variety of languages.

Select a Beginner-Friendly Platform

Now, look for a platform that's good for beginners, where you can start practicing coding problems:

  • Codeforces: You can start with simpler problems and work your way up.
  • LeetCode: Problems are marked as Easy, Medium , and Hard. Start with the Easy ones.
  • HackerRank: Offers structured tutorials and tags problems by difficulty, making it easy for beginners.
  • CodeChef: There's a special section just for beginners with helpful tutorials.

Sign up and give some basic problems a try. Also, check out any learning resources they offer.

Read Forums and Discuss Problems

Being part of a community forum can really help when you're starting out. As you work through problems, make sure to:

  • Ask questions if you're stuck to learn different ways to solve problems.
  • Read others' explanations for problems you've already worked on.
  • Share your solutions and get feedback to get better.

Talking with more experienced coders will help you learn faster. Use the forums that are available.

Review Solutions Before Coding

Before you dive into solving a problem, take a look at the solutions provided and try to understand the logic:

  • Learn the patterns and strategies that lead to the right answers.
  • Break down complicated solutions into easier steps.
  • Try coding the solution yourself after understanding the logic.

Looking at how others solve problems will help you learn new skills and be ready for different kinds of problems.

Stay Consistent with Regular Practice

Practicing regularly is important to get better. Make a plan for yourself:

  • Solve problems often, whether it's daily or weekly, depending on your schedule.
  • Join contests regularly to get used to coding under pressure.
  • Start with solving many problems to see a lot of different types.
  • Look at how you're doing to see what you need to work on.

Coding often will sharpen your skills and help you develop a sense for solving problems.

Starting your journey in competitive programming is all about taking that first step - pick your language and platform, join a community, and make coding a regular part of your life. Keep pushing forward and you'll see progress!

Starting with competitive programming is a great way for beginners to test themselves, learn a lot, and meet others who like coding too. When you solve coding problems with a time limit, you get better at thinking quickly, understanding important coding concepts, and writing code that works well without wasting time or space.

But, it's really important to begin with websites that are friendly for people who are just starting. Look for places that offer:

  • Problems that are just right for different levels so you can move forward step by step
  • Support for many coding languages like C++, Java, Python so you can use what you're comfortable with
  • Lots of guides and articles to help you learn more
  • Active forums and groups where you can talk about problems and work with others
  • Quick feedback on your solutions to help you improve
  • Free access to the basic stuff you need to get better

Websites like Codeforces, LeetCode, HackerRank, and CodeChef are good places to start because they have all these things. Think about what you already know, what you want to learn, and what you like to do. This will help you pick the best website for you.

If you're just beginning, it's important to focus on the basics first. Choose a language you know, start with simple problems, use the help from online communities, try to understand how solutions work, and practice a lot. Learning with others can also lead to making friends and might even help you with your career later on.

Competitive programming is all about learning how to solve problems well. Start slow, and you'll find yourself enjoying the challenge more and more!

Related Questions

Which website should i start competitive programming.

If you're new to competitive programming, good places to start are Codeforces, CodeChef, and LeetCode. These sites have a bunch of coding problems that get harder over time. This way, you can slowly get better. They also have communities where people share how they solved problems, which can teach you new tricks. Start with the easy stuff and contests to gain confidence, then move on to harder challenges. The more you practice, the better you'll understand important programming ideas.

Which coding website is best for beginners?

Here are some top picks for beginners:

  • Coderbyte - Offers short coding challenges in various languages to help you build basic skills.
  • Edabit - Lets you move from very easy to hard challenges in over 40 languages. It's great for steady improvement.
  • CodeChef - The "Getting Started" section has step-by-step guides on basics like algorithms and data structures.
  • FreeCodeCamp - A community with thousands of lessons on web development and coding interviews. Very friendly for beginners.
  • Codecademy - Lets you learn languages like Python and Java through hands-on exercises and projects.

Try a few to see which one fits your learning style best as a beginner.

How can a beginner start competitive coding?

Here's how to begin competitive coding as a newbie:

  • Pick up a programming language like C++ or Python. Start with the basics.
  • Solve simple problems on sites like CodeChef or LeetCode. Look at solutions to learn new ways to solve them.
  • Get to know basic data structures and simple algorithms.
  • Join short contests to get used to coding quickly. Review your work to learn.
  • Read blogs and talk to other coders to keep getting better.
  • Gradually take on harder problems and longer contests.

The key is to start easy, practice regularly, and join the coding community for faster learning.

Is HackerRank good for beginners?

HackerRank

Yes, HackerRank is great for those just starting with coding. It has easy-to-understand tutorials and guides on a wide range of topics, from basic language syntax to advanced algorithms . Challenges are marked by how hard they are, so beginners can start with the basics and move up as they improve. The site is user-friendly, offers detailed solutions, and has a supportive community, making it a solid choice for beginners.

Related posts

  • Navigating Competitive Programming Challenges
  • Evaluating Programming Learning Platforms for Developers
  • Best Online Learning Sites for Programming
  • Best Programming Challenge Websites for Remote Developers

daily.dev platform

Why not level up your reading with daily.dev?

Javascript for of with index: A Guide

Welcome to Java! Easy Max Score: 3 Success Rate: 97.05%

Java stdin and stdout i easy java (basic) max score: 5 success rate: 96.89%, java if-else easy java (basic) max score: 10 success rate: 91.32%, java stdin and stdout ii easy java (basic) max score: 10 success rate: 92.62%, java output formatting easy java (basic) max score: 10 success rate: 96.55%, java loops i easy java (basic) max score: 10 success rate: 97.67%, java loops ii easy java (basic) max score: 10 success rate: 97.32%, java datatypes easy java (basic) max score: 10 success rate: 93.66%, java end-of-file easy java (basic) max score: 10 success rate: 97.91%, java static initializer block easy java (basic) max score: 10 success rate: 96.15%, cookie support is required to access hackerrank.

Seems like cookies are disabled on this browser, please enable them to open this website

15 Best Platforms To Practice JavaScript self.__wrap_b=(t,n,e)=>{e=e||document.querySelector(`[data-br="${t}"]`);let a=e.parentElement,r=R=>e.style.maxWidth=R+"px";e.style.maxWidth="";let o=a.clientWidth,c=a.clientHeight,i=o/2-.25,l=o+.5,u;if(o){for(;i+1 {self.__wrap_b(0,+e.dataset.brr,e)})).observe(a):process.env.NODE_ENV==="development"&&console.warn("The browser you are using does not support the ResizeObserver API. Please consider add polyfill for this API to avoid potential layout shifts or upgrade your browser. Read more: https://github.com/shuding/react-wrap-balancer#browser-support-information"))};self.__wrap_b(":R4mr36:",1)

Mujahid Khan H A's profile image

HackerEarth

Freecodecamp, geeksforgeeks, educative.io, codeacademy, javascript questions – by lydia hallie, javascript coding practice – by learning zone, 123 essential javascript questions – by yuri katkov, javascript interview question – by sudheer j.

15 Best Platforms To Practice JavaScript

Learning any programming language is not enough, and we need to practice.

If you are learning JavaScript, I have curated the ten best platforms to practice JavaScript for free.

best problem solving sites for beginners

Codedamn is an interactive programming platform; you will learn and build projects side by side. It offers over 500+ coding problems for you to practice.

You can solve 3-5 questions daily without waiting another day to solve more questions.

Codedamn has community support, if you get stuck on a particular problem, you can ask for help, and developers will be ready to help you anytime.

The problem’s difficulty level ranges from easy to hard. But you can go at your pace.

Here is the link to solve 500+ JavaScript problems .

If you think these problems are too advanced, you can learn about JavaScript basics, which codedamn offers for free.

Link to learn JavaScript: JavaScript basics

best problem solving sites for beginners

On codewars, you will get all types of questions ranging from easy to complex.

You will get instant feedback on your answers. Your rank will level up as you progress.

If you get stuck, codewars have a senior developers community that will help you.

Link to practice on codewars

best problem solving sites for beginners

codin games is a gamified learning platform. On codin games, you will code and execute the correct code to save yourself from obstacles and enemies.

You can compete individually or by teaming up with other fellow developers.

You can compare your and other developer code to improve your JavaScript coding skills.

You can play and build your developer profile, and You can even apply for jobs. You need to solve complex problems and be consistent on the platform to stand out from others.

Link to practice on the codin game.

If you don’t know Solo Learn, you are not a developer. Earlier, Solo learn was only available as a mobile application, and now you can also learn on the web.

Solo learn offers a JavaScript course and exercise to improve your JavaScript coding skills.

At the end of each topic, you will get practice problems you need to solve to unlock the next section.

Link to practice on Solo learn .

best problem solving sites for beginners

Edabit has interactive exercises ranging from easy to complex, and you can filter the challenges using tags. You can practice your JavaScript coding skills for free.

If you get stuck on any question, you can unlock the solution, but you will lose the XPs you have gained.

Alternatively, the resources tab contains the concepts to learn to solve that problem.

Link to practice JavaScript at edabit.

best problem solving sites for beginners

Hacker earth has a set of questions based on if you are preparing for an interview or you are a beginner at programming ,

It has a codemonk section where you will get questions based on Data Structures and algorithms. Best suited if you know DSA and algorithms, or you can practice easy and medium-difficulty problems.

On hacker earth, you can participate in challenges, try to build your developer profile, and stand out from other developers. And apply for jobs at companies.

Link to practice at HackerEarth

best problem solving sites for beginners

On programiz, you can practice JavaScript for free, and You will get the list of concepts to learn and practice problems at the end of each concept to retain what you have learned.

There are separate JavaScript examples sections available there, and you will find the JavaScript-related question and some general programming questions based on the topics you have learned.

Link to practice JavaScript examples at programiz.

best problem solving sites for beginners

Freecodecamp is popular among developers because of its ocean of totally free courses.

Freecodecamp offers 100s of exercises related to JavaScript, ranging from basic concepts, regular expressions, array methods, objects, data structure, and algorithms.

These exercises are for beginners to advanced javascript developers.

Link to practice on freecodecamp

best problem solving sites for beginners

To practice on GeeksforGeeks, you need to create an account once you create an account with them, head over to the below link to practice JavaScript.

This platform best suits you if you have Data Structure and algorithms knowledge.

You can filter out the problems based on the companies that have asked about that problem or on the concepts like Arrays, Objects, and Strings.

You can even choose the problem difficulty level from school to pro level.

Link to practice on GeeksforGeeks

best problem solving sites for beginners

The Educative has an assessment test. You can take the JavaScript assessment test, which takes around 20 minutes to complete.

The assessment test consists of all the topics, from fundamental concepts like variables, data types, and conditional statements to advanced concepts like arrays and objects.

Link to the assessment test

best problem solving sites for beginners

On Codecademy, you will find a javascript project-based course that is very helpful if you want to learn and build projects at the same time using javascript.

Link to javascript courses

I have curated four GitHub repositories that are helpful. You will gain problem-solving skills, and some repositories will help you prepare for the interview.

This repo has more than 500+ questions with answers, and this repo is available in 18 other languages. In this repo, you will find basic to very advanced questions, and some are very difficult.

Link to repo

This repo has more than 100+ javascript exercises with the answers. This repo will give you insights into How the recruiter will ask questions in a javascript-related interview.

You will find 123 essential javascript interview-related questions, which you can practice on your code editor or online to crack practical interviews. This repo has 4K stars, and you will find some exciting questions that might help you build problem-solving skills.

You will find 1000+ questions ? related to javascript on this repo, which you can practice. Questions range from the difficulty level of beginners to advanced.

I hope you found this article helpful, You can choose any platform and practice it to improve your developer profile, gain problem-solving skills and move to the next platform.

Thanks for reading.

Sharing is caring

Did you like what Mujahid Khan H A wrote? Thank them for their work by sharing it on social media.

No comment s so far

Curious about this topic? Continue your journey with these coding courses:

Course thumbnail for Practice JavaScript by building 10+ real projects

702 students learning

Photo of Laurence Svekis

Laurence Svekis

Practice JavaScript by building 10+ real projects

Course thumbnail for JavaScript from Zero to Hero with 5+ projects

144 students learning

Photo of DINESH KUMAR REDDY

DINESH KUMAR REDDY

JavaScript from Zero to Hero with 5+ projects

Course thumbnail for Mastering Advanced JavaScript

Shubham Sarda

Mastering Advanced JavaScript

  • Our Mission

3 Simple Strategies to Improve Students’ Problem-Solving Skills

These strategies are designed to make sure students have a good understanding of problems before attempting to solve them.

Two students in math class

Research provides a striking revelation about problem solvers. The best problem solvers approach problems much differently than novices. For instance, one meta-study showed that when experts evaluate graphs , they tend to spend less time on tasks and answer choices and more time on evaluating the axes’ labels and the relationships of variables within the graphs. In other words, they spend more time up front making sense of the data before moving to addressing the task.

While slower in solving problems, experts use this additional up-front time to more efficiently and effectively solve the problem. In one study, researchers found that experts were much better at “information extraction” or pulling the information they needed to solve the problem later in the problem than novices. This was due to the fact that they started a problem-solving process by evaluating specific assumptions within problems, asking predictive questions, and then comparing and contrasting their predictions with results. For example, expert problem solvers look at the problem context and ask a number of questions:

  • What do we know about the context of the problem?
  • What assumptions are underlying the problem? What’s the story here?
  • What qualitative and quantitative information is pertinent?
  • What might the problem context be telling us? What questions arise from the information we are reading or reviewing?
  • What are important trends and patterns?

As such, expert problem solvers don’t jump to the presented problem or rush to solutions. They invest the time necessary to make sense of the problem.

Now, think about your own students: Do they immediately jump to the question, or do they take time to understand the problem context? Do they identify the relevant variables, look for patterns, and then focus on the specific tasks?

If your students are struggling to develop the habit of sense-making in a problem- solving context, this is a perfect time to incorporate a few short and sharp strategies to support them.

3 Ways to Improve Student Problem-Solving

1. Slow reveal graphs: The brilliant strategy crafted by K–8 math specialist Jenna Laib and her colleagues provides teachers with an opportunity to gradually display complex graphical information and build students’ questioning, sense-making, and evaluating predictions.

For instance, in one third-grade class, students are given a bar graph without any labels or identifying information except for bars emerging from a horizontal line on the bottom of the slide. Over time, students learn about the categories on the x -axis (types of animals) and the quantities specified on the y -axis (number of baby teeth).

The graphs and the topics range in complexity from studying the standard deviation of temperatures in Antarctica to the use of scatterplots to compare working hours across OECD (Organization for Economic Cooperation and Development) countries. The website offers a number of graphs on Google Slides and suggests questions that teachers may ask students. Furthermore, this site allows teachers to search by type of graph (e.g., scatterplot) or topic (e.g., social justice).

2. Three reads: The three-reads strategy tasks students with evaluating a word problem in three different ways . First, students encounter a problem without having access to the question—for instance, “There are 20 kangaroos on the grassland. Three hop away.” Students are expected to discuss the context of the problem without emphasizing the quantities. For instance, a student may say, “We know that there are a total amount of kangaroos, and the total shrinks because some kangaroos hop away.”

Next, students discuss the important quantities and what questions may be generated. Finally, students receive and address the actual problem. Here they can both evaluate how close their predicted questions were from the actual questions and solve the actual problem.

To get started, consider using the numberless word problems on educator Brian Bushart’s site . For those teaching high school, consider using your own textbook word problems for this activity. Simply create three slides to present to students that include context (e.g., on the first slide state, “A salesman sold twice as much pears in the afternoon as in the morning”). The second slide would include quantities (e.g., “He sold 360 kilograms of pears”), and the third slide would include the actual question (e.g., “How many kilograms did he sell in the morning and how many in the afternoon?”). One additional suggestion for teams to consider is to have students solve the questions they generated before revealing the actual question.

3. Three-Act Tasks: Originally created by Dan Meyer, three-act tasks follow the three acts of a story . The first act is typically called the “setup,” followed by the “confrontation” and then the “resolution.”

This storyline process can be used in mathematics in which students encounter a contextual problem (e.g., a pool is being filled with soda). Here students work to identify the important aspects of the problem. During the second act, students build knowledge and skill to solve the problem (e.g., they learn how to calculate the volume of particular spaces). Finally, students solve the problem and evaluate their answers (e.g., how close were their calculations to the actual specifications of the pool and the amount of liquid that filled it).

Often, teachers add a fourth act (i.e., “the sequel”), in which students encounter a similar problem but in a different context (e.g., they have to estimate the volume of a lava lamp). There are also a number of elementary examples that have been developed by math teachers including GFletchy , which offers pre-kindergarten to middle school activities including counting squares , peas in a pod , and shark bait .

Students need to learn how to slow down and think through a problem context. The aforementioned strategies are quick ways teachers can begin to support students in developing the habits needed to effectively and efficiently tackle complex problem-solving.

More From Forbes

Do college majors matter not as much as you think.

  • Share to Facebook
  • Share to Twitter
  • Share to Linkedin

Students in a lecture hall.

It might be the most common question college students get: “What’s your major?”

While it may be a great conversation starter on campus, the question isn’t that effective in predicting someone’s job choice—certainly not a full career trajectory. The better we understand that, the better equipped we’ll be to help students with the bigger questions they face at the starting line of adulthood.

David Gwyn knows this. One year after graduating from college with an English degree, he convinced JPMorgan Chase, the country’s largest investment bank , to hire him as a financial analyst.

“I knew there was value in getting an English degree, being able to take complex ideas and make them clearer,” said Gwyn, who has a bachelor’s degree from Muhlenberg College in Allentown, Pa. “I think the hardest part is convincing other people of that.”

He had to prove his value—selling the communications skills that underlie his college major.

“With a finance degree, you might have an understanding of the system, but they’ll teach you that anyway,” Gwyn said. “It’s the difference between having a specific skill set and having a general understanding that you can apply to the job.”

Gwyn wrote about his journey from English major to financial analyst a couple of years ago, describing how he prepared for the critical job interviews with Chase and what he learned—including tips for other job-seekers schooled in the humanities.

The Best Window Air Conditioners To Keep Cool In The Warmer Months

Ukraine packed a cessna style plane with explosives added remote controls and kamikaze d it into a russian drone factory 600 miles away, new billionaires 2024 taylor swift magic johnson and 263 others join the ranks this year.

“I’ve found that if you position yourself correctly, an English major is actually one of the most malleable areas of study,” he wrote on the Medium website. “And if you understand that and can articulate it, you’re one step closer to success in pretty much any field.”

Stories like this should encourage students who are wondering how to apply their college learning. Increasingly, in a world where technology fills the roles once occupied by people, we’ll see the importance of agile problem-solving, communications, and critical thinking. That’s the work that only humans can do, as I explored in my most recent book , “Human Work in the Age of Smart Machines.”

For example, in some professional fields—medicine, engineering, law, and accounting—it’s easy to see the path to a job. But not always: A study by the Federal Reserve Bank of New York found that fewer than one in three college graduates work in their field of study. Other sources put the figure higher, but still only 46 percent.

And some of the country’s best-known business leaders can attest to the enduring value of humanities degrees, including Starbucks founder Howard Schultz, former YouTube CEO Susan Wojcicki, and Andrea Jung, former CEO of Avon Products. All pursued liberal arts degrees.

Gwyn, meanwhile, has changed course again. After two years in banking, he left to earn a master’s degree in English literature from Rutgers University and turned to education. He now teaches middle school in a Philadelphia suburb and has a podcast devoted to authors of suspense fiction.

David Gwyn in his classroom.

One of his former colleagues, Spencer Liddic, was with JPMorgan Chase for six years. Liddic was a finance major in college, but he agrees with Gwyn on the underlying skills needed for success.

“I learned nearly my entire role while training with JPMorgan—not while I was in college,” Liddic said. “If you have an aptitude for learning, you can learn nearly any entry-level job with on-the-job training, with little to no background on the subject.”

Liddic was an operations analyst at the time and today owns a real estate investment company in of Scranton, Pa. He agreed that being able to relate to others—sometimes harder than it sounds—is key to success in many fields.

“This is a large part of an entry-level finance job, where you are communicating daily with not only your colleagues but with clients of the company,” he said. “Being able to effectively and efficiently communicate is as important a skill as you can have."

Timing and even luck can influence a job search, but a recent study commissioned by the Modern Language Association, a professional association for scholars of language and literature, found that English majors are holding their own.

“Contrary to popular belief, career outcomes for English majors are similar to those of all graduates,” the study said. “Data from the National Humanities Alliance shows that in 2018, the unemployment rate was 2.17% for all college graduates and 2.3% for English majors. The median career peak annual earnings for all college graduates in 2018 was $78,000; for English majors, it was $76,000.”

A report from the American Association of Colleges and Universities found that while humanities and social science BA grads lag others in salaries for the first few years after graduating, on average, they catch and often exceed them later on.

There are no guarantees in life, including higher education, and no report will take the place of smart job-hunting practices, including the ones Gwyn wrote about. So, what does an investment analyst turned middle school English teacher tell his students?

“I tell them I'm teaching skills that are transferable to whatever job you get,” Gwyn said. “I don't just teach the curriculum; I teach the skills.”

Jamie Merisotis

  • Editorial Standards
  • Reprints & Permissions

COMMENTS

  1. The 10 Most Popular Coding Challenge Websites [Updated for 2021]

    The top ranked user maintains his own blog titled Algorithms weekly by Petr Mitrichev where he writes about coding competitions, algorithms, math, and more. 2. Coderbyte. ... Currently, if you don't solve the problem, then you can't see the solution of others. If you also try to check the editorial before solving the problem, then you won't get ...

  2. Online Coding Practice Problems & Challenges

    Medium Java puzzles. Puzzles contain a problem and a pre-defined solution. But the solution is either incomplete and your task is to complete it (Code Completion Puzzle). Or the solution is wrong and your task is to debug it (Debugging Puzzle). 118 Problems. Beginner level. Sharpen your coding skills with CodeChef.

  3. 11 Websites To Practice You Coding And Your Problem Solving Skills

    11 websites to practice your coding and problem-solving... Tagged with algorithms, beginners, codenewbie, programming. ... # algorithms # beginners # codenewbie # programming. resources to learn programming (13 Part Series) ... Top comments (0) Subscribe. Personal Trusted User.

  4. 10 websites to practice coding problems: Our picks

    6. HackerRank. HackerRank serves as a technical interview platform, but also provides coding practice to over 18 million users. Challenges offered by HackerRank cover topics including algorithms ...

  5. 11 Best Websites to Practice Coding in 2023

    Users report that some practice problems lack clarity. 6. Project Euler. Project Euler offers a chance to solve challenging math problems with script. Over 1 million users have solved at least one problem on the site. Pros of Project Euler. The site offers 111 programming languages. Cons of Project Euler

  6. Brilliant

    Learn by doing with interactive problem solving that's effective and fun. Master concepts in 15 minutes a day. Get started Math Data Analysis Computer Science Programming & AI ... Whether you're a complete beginner or ready to dive into machine learning and beyond, Brilliant makes it easy to level up fast with fun, bite-sized lessons.

  7. 10 Best Coding Challenge Sites For Beginners

    4. CodinGame. CodinGame website helps you to actually play games while coding. It makes us approach problems more freely and happily, and increases our enthusiasm for problem-solving. CodinGame supports more than 25 languages and here you can learn many algorithms and tips from good programmers in the world.

  8. Top 25 websites for coding challenge and competition [Updated for 2021]

    Contests (from beginners to week-long marathons) Hackathons (solving real-world problems and business challenges) Data Science competitions (testing your data science skills) Best qualities: The website shows the days left in competitions and contests, and it has a developer assessment software that shows your progress. There is also a remote ...

  9. Exercism

    Get. really. good at programming. Develop fluency in 69 programming languages with our unique blend of learning, practice and mentoring. Exercism is fun, effective and 100% free, forever. Sign up for free Explore languages. is an independent, community funded, not-for-profit organisation. Learn more.

  10. The Best Coding Challenges Websites To Practice Problem Solving

    Exercism. Arguably, Exercism is one of the best coding challenges websites for beginners. The main reason is that they provide a mentor for you. That is, each time you submit a challenge, a mentor checks it for you, and it approves it or suggests changes. Only when they approve your solution you can move forward to the next one.

  11. Programiz: Learn to Code for Free

    Check out our app library and download the one that you want to learn. Learn to code in Python, C/C++, Java, and other popular programming languages with our easy to follow tutorials, examples, online compiler and references.

  12. Solve Python

    Join over 16 million developers in solving code challenges on HackerRank, one of the best ways to prepare for programming interviews. ... Problem Solving (Basic) Python (Basic) Problem Solving (Advanced) Python (Intermediate) Difficulty. Easy. Medium. Hard. Subdomains. Introduction. Basic Data Types. Strings. Sets. Math.

  13. Competitive Programming Websites for Beginners: A Starter Guide

    This guide simplifies that process by outlining some of the best competitive programming websites tailored for beginners, each with its unique features and offerings: HackerEarth: Known for its user-friendly interface, vast language support, and a wide range of problems. CodeWars: Offers an intuitive layout, supports over 20 languages, and ...

  14. Choosing Competitive Programming Websites for Beginners

    First off, decide which programming language you want to use. The top picks for competitive coding are: C++: It's quick and powerful, perfect for solving tricky problems. Java: It takes a bit more to write than C++, but it's got great tools. Python: Super easy to get the hang of, though it's not as fast as C++ or Java.

  15. Problems

    Boost your coding interview skills and confidence by practicing real interview questions with LeetCode. Our platform offers a range of essential problems for practice, as well as the latest questions being asked by top-tier companies.

  16. Solve C

    Join over 16 million developers in solving code challenges on HackerRank, one of the best ways to prepare for programming interviews. ... Solve Challenge. Sum and Difference of Two Numbers. Easy C (Basic) Max Score: 5 Success Rate: 94.56%. Solve Challenge. Functions in C.

  17. 10,000+ Coding Practice Challenges // Edabit

    How Edabit Works. This is an introduction to how challenges on Edabit work. In the Code tab above you'll see a starter function that looks like this:function hello() {}All you have to do is type return "hello edabit.com" between the curly braces { } and then click the Check button. If you did this correctly, the button will turn red and ...

  18. Solve Java

    Join over 16 million developers in solving code challenges on HackerRank, one of the best ways to prepare for programming interviews.

  19. Recommended coding challenge websites? : r/learnprogramming

    70 votes, 20 comments. true. combine the other suggestions. do the challenges from the various sites, but don't just solve the problem and call it done. find some way to modify it and do more than what's asked. make a web UI or something. one person made unity solutions for a few of the advent of code problems this year. do stuff like that. turn the problems into projects.

  20. 15 Best Platforms To Practice JavaScript

    It offers over 500+ coding problems for you to practice. You can solve 3-5 questions daily without waiting another day to solve more questions. Codedamn has community support, if you get stuck on a particular problem, you can ask for help, and developers will be ready to help you anytime. The problem's difficulty level ranges from easy to hard.

  21. A list of all problem solving websites. : r/learnprogramming

    A list of all problem solving websites. Competitive Programming Test Sites HackerRank (http ... I used it the other way which I liked but for a beginner I think it would be overwhelming.im a grad donuts no big deal for me. ... I find the best way I can learn from it is to try to use it more for code gold where I try to write the shortest ...

  22. 3 Ways to Improve Student Problem-Solving

    Research provides a striking revelation about problem solvers. The best problem solvers approach problems much differently than novices. For instance, one meta-study showed that when experts evaluate graphs, they tend to spend less time on tasks and answer choices and more time on evaluating the axes' labels and the relationships of variables within the graphs.

  23. Do College Majors Matter? Not As Much As You Think

    Increasingly in a world where technology fills the roles once occupied by people, we see the importance of agile problem-solving, communications, and critical thinking.