• Top Courses
  • Online Degrees
  • Find your New Career
  • Join for Free

University of Pennsylvania

Computational Thinking for Problem Solving

Taught in English

Some content may not be translated

Financial aid available

115,443 already enrolled

Gain insight into a topic and learn the fundamentals

Susan Davidson

Instructor: Susan Davidson

Coursera Plus

Included with Coursera Plus

(1,362 reviews)

Skills you'll gain

  • Simple Algorithm
  • Python Programming
  • Problem Solving
  • Computation

Details to know

problem solving course for programming

Add to your LinkedIn profile

27 quizzes, 1 assignment

See how employees at top companies are mastering in-demand skills

Placeholder

Earn a career certificate

Add this credential to your LinkedIn profile, resume, or CV

Share it on social media and in your performance review

Placeholder

There are 4 modules in this course

Computational thinking is the process of approaching a problem in a systematic manner and creating and expressing a solution such that it can be carried out by a computer. But you don't need to be a computer scientist to think like a computer scientist! In fact, we encourage students from any field of study to take this course. Many quantitative and data-centric problems can be solved using computational thinking and an understanding of computational thinking will give you a foundation for solving problems that have real-world, social impact.

In this course, you will learn about the pillars of computational thinking, how computer scientists develop and analyze algorithms, and how solutions can be realized on a computer using the Python programming language. By the end of the course, you will be able to develop an algorithm and express it to the computer by writing a simple Python program. This course will introduce you to people from diverse professions who use computational thinking to solve problems. You will engage with a unique community of analytical thinkers and be encouraged to consider how you can make a positive social impact through computational thinking.

Pillars of Computational Thinking

Computational thinking is an approach to solving problems using concepts and ideas from computer science, and expressing solutions to those problems so that they can be run on a computer. As computing becomes more and more prevalent in all aspects of modern society -- not just in software development and engineering, but in business, the humanities, and even everyday life -- understanding how to use computational thinking to solve real-world problems is a key skill in the 21st century. Computational thinking is built on four pillars: decomposition, pattern recognition, data representation and abstraction, and algorithms. This module introduces you to the four pillars of computational thinking and shows how they can be applied as part of the problem solving process.

What's included

6 videos 4 quizzes 1 assignment 2 peer reviews 4 discussion prompts

6 videos • Total 44 minutes

  • 1.1 Introduction • 4 minutes • Preview module
  • 1.2 Decomposition • 6 minutes
  • 1.3 Pattern Recognition • 5 minutes
  • 1.4 Data Representation and Abstraction • 7 minutes
  • 1.5 Algorithms • 8 minutes
  • 1.6 Case Studies • 11 minutes

4 quizzes • Total 50 minutes

  • 1.2 Decomposition • 10 minutes
  • 1.3 Pattern Recognition • 10 minutes
  • 1.4 Data Representation and Abstraction • 15 minutes
  • 1.5 Algorithms • 15 minutes

1 assignment • Total 30 minutes

  • Learning Style Preference Survey • 30 minutes

2 peer reviews • Total 60 minutes

  • Applying Computational Thinking in Your Life • 30 minutes
  • Project Part 1: Applying the Pillars of Computational Thinking • 30 minutes

4 discussion prompts • Total 40 minutes

  • Applying Decomposition in Your Life • 10 minutes
  • Applying Pattern Recognition in Your Life • 10 minutes
  • Applying Data Representation and Abstraction in Your Life • 10 minutes
  • Applying Algorithms in Your Life • 10 minutes

Expressing and Analyzing Algorithms

When we use computational thinking to solve a problem, what we’re really doing is developing an algorithm: a step-by-step series of instructions. Whether it’s a small task like scheduling meetings, or a large task like mapping the planet, the ability to develop and describe algorithms is crucial to the problem-solving process based on computational thinking. This module will introduce you to some common algorithms, as well as some general approaches to developing algorithms yourself. These approaches will be useful when you're looking not just for any answer to a problem, but the best answer. After completing this module, you will be able to evaluate an algorithm and analyze how its performance is affected by the size of the input so that you can choose the best algorithm for the problem you’re trying to solve.

7 videos 6 quizzes 4 peer reviews

7 videos • Total 68 minutes

  • 2.1 Finding the Largest Value • 8 minutes • Preview module
  • 2.2 Linear Search • 5 minutes
  • 2.3 Algorithmic Complexity • 8 minutes
  • 2.4 Binary Search • 11 minutes
  • 2.5 Brute Force Algorithms • 13 minutes
  • 2.6 Greedy Algorithms • 9 minutes
  • 2.7 Case Studies • 12 minutes

6 quizzes • Total 65 minutes

  • 2.1 Finding the Largest Value • 10 minutes
  • 2.2 Linear Search • 10 minutes
  • 2.3 Algorithmic Complexity • 10 minutes
  • 2.4 Binary Search • 10 minutes
  • 2.5 Brute Force Algorithms • 15 minutes
  • 2.6 Greedy Algorithms • 10 minutes

4 peer reviews • Total 115 minutes

  • Finding Minimum Values • 30 minutes
  • Binary Search • 30 minutes
  • Greedy vs. Brute Force Algorithms • 30 minutes
  • Project Part 2: Describing Algorithms Using a Flowchart • 25 minutes

Fundamental Operations of a Modern Computer

Computational thinking is a problem-solving process in which the last step is expressing the solution so that it can be executed on a computer. However, before we are able to write a program to implement an algorithm, we must understand what the computer is capable of doing -- in particular, how it executes instructions and how it uses data. This module describes the inner workings of a modern computer and its fundamental operations. Then it introduces you to a way of expressing algorithms known as pseudocode, which will help you implement your solution using a programming language.

6 videos 5 quizzes 5 peer reviews

6 videos • Total 45 minutes

  • 3.1 A History of the Computer • 7 minutes • Preview module
  • 3.2 Intro to the von Neumann Architecture • 8 minutes
  • 3.3 von Neumann Architecture Data • 6 minutes
  • 3.4 von Neumann Architecture Control Flow • 5 minutes
  • 3.5 Expressing Algorithms in Pseudocode • 8 minutes
  • 3.6 Case Studies • 10 minutes

5 quizzes • Total 50 minutes

  • 3.1 A History of the Computer • 10 minutes
  • 3.2 Intro to the von Neumann Architecture • 10 minutes
  • 3.3 von Neumann Architecture Data • 10 minutes
  • 3.4 von Neumann Architecture Control Flow • 10 minutes
  • 3.5 Expressing Algorithms in Pseudocode • 10 minutes

5 peer reviews • Total 120 minutes

  • (Optional) von Neumann Architecture Control Instructions • 20 minutes
  • (Optional) Understanding Pseudocode • 20 minutes
  • von Neumann Architecture Data & Instructions • 30 minutes
  • Reading & Writing Pseudocode • 25 minutes
  • Project Part 3: Writing Pseudocode • 25 minutes

Applied Computational Thinking Using Python

Writing a program is the last step of the computational thinking process. It’s the act of expressing an algorithm using a syntax that the computer can understand. This module introduces you to the Python programming language and its core features. Even if you have never written a program before -- or never even considered it -- after completing this module, you will be able to write simple Python programs that allow you to express your algorithms to a computer as part of a problem-solving process based on computational thinking.

9 videos 12 readings 12 quizzes

9 videos • Total 90 minutes

  • 4.1 Introduction to Python • 6 minutes • Preview module
  • 4.2 Variables • 13 minutes
  • 4.3 Conditional Statements • 8 minutes
  • 4.4 Lists • 7 minutes
  • 4.5 Iteration • 14 minutes
  • 4.6 Functions • 10 minutes
  • 4.7 Classes and Objects • 9 minutes
  • 4.8 Case Studies • 11 minutes
  • 4.9 Course Conclusion • 8 minutes

12 readings • Total 125 minutes

  • Programming on the Coursera Platform • 10 minutes
  • Python Playground • 0 minutes
  • Variables Programming Activity • 20 minutes
  • Solution to Variables Programming Activity • 10 minutes
  • Conditionals Programming Activity • 20 minutes
  • Solution to Conditionals Programming Activity • 10 minutes
  • Solution to Lists Programming Assignment • 5 minutes
  • Solution to Loops Programming Assignment • 10 minutes
  • Solution to Functions Programming Assignment • 10 minutes
  • Solution to Challenge Programming Assignment • 10 minutes
  • Solution to Classes and Objects Programming Assignment • 10 minutes
  • Solution to Project Part 4 • 10 minutes

12 quizzes • Total 185 minutes

  • (Optional) Challenge Programming Assignment • 20 minutes
  • 4.2 Variables • 10 minutes
  • 4.3 Conditional Statements • 5 minutes
  • 4.4 Lists • 10 minutes
  • Lists Programming Assignment • 15 minutes
  • 4.5 Iteration • 10 minutes
  • Loops Programming Assignment • 30 minutes
  • Functions Programming Assignment • 20 minutes
  • 4.7 Classes and Objects • 10 minutes
  • Classes and Objects Programming Assignment • 20 minutes
  • Project Part 4: Implementing the Solution in Python • 25 minutes

Instructor ratings

We asked all learners to give feedback on our instructors based on the quality of their teaching style.

problem solving course for programming

The University of Pennsylvania (commonly referred to as Penn) is a private university, located in Philadelphia, Pennsylvania, United States. A member of the Ivy League, Penn is the fourth-oldest institution of higher education in the United States, and considers itself to be the first university in the United States with both undergraduate and graduate studies.

Recommended if you're interested in Algorithms

problem solving course for programming

University of Michigan

Problem Solving Using Computational Thinking

problem solving course for programming

Duke University

신재생 에너지와 녹색기업가 정신

problem solving course for programming

Introduction to Machine Learning

problem solving course for programming

Inferenzstatistik

Why people choose coursera for their career.

problem solving course for programming

Learner reviews

Showing 3 of 1362

1,362 reviews

Reviewed on Nov 18, 2018

Well taught with good examples and exercises that require thinking but still approachable. Very well laid out and taught. Definitely sparked an interest to go learn more.

Reviewed on Aug 4, 2022

Informative but the last assignment on Week 4 is misleading in that you can only submit the search function but the instructions say that you can test your code and the program will test it as well.

Reviewed on Feb 4, 2019

The course is very well-designed and it helped me develop understand how to apply computational thinking in solving various types of problems as well as acquire basic skills of programming in Python.

New to Algorithms? Start here.

Placeholder

Open new doors with Coursera Plus

Unlimited access to 7,000+ world-class courses, hands-on projects, and job-ready certificate programs - all included in your subscription

Advance your career with an online degree

Earn a degree from world-class universities - 100% online

Join over 3,400 global companies that choose Coursera for Business

Upskill your employees to excel in the digital economy

Frequently asked questions

Do i need to know how to program or have studied computer science in order to take this course.

No, definitely not! This course is intended for anyone who has an interest in approaching problems more systematically, developing more efficient solutions, and understanding how computers can be used in the problem solving process. No prior computer science or programming experience is required.

How much math do I need to know to take this course?

Some parts of the course assume familiarity with basic algebra, trigonometry, mathematical functions, exponents, and logarithms. If you don’t remember those concepts or never learned them, don’t worry! As long as you’re comfortable with multiplication, you should still be able to follow along. For everything else, we’ll provide links to references that you can use as a refresher or as supplemental material.

Does this course prepare me for the Master of Computer and Information Technology (MCIT) degree program at the University of Pennsylvania?

This course will help you discover whether you have an aptitude for computational thinking and give you some beginner-level experience with online learning. In this course you will learn several introductory concepts from MCIT instructors produced by the same team that brought the MCIT degree online.

If you have a bachelor's degree and are interested in learning more about computational thinking, we encourage you to apply to MCIT On-campus (http://www.cis.upenn.edu/prospective-students/graduate/mcit.php) or MCIT Online (https://www.coursera.org/degrees/mcit-penn). Please mention that you have completed this course in the application.

Where can I find more information about the Master of Computer and Information Technology (MCIT) degree program at the University of Pennsylvania?

Use these links to learn more about MCIT:

MCIT On-campus: http://www.cis.upenn.edu/prospective-students/graduate/mcit.php

MCIT Online: https://www.coursera.org/degrees/mcit-penn

When will I have access to the lectures and assignments?

Access to lectures and assignments depends on your type of enrollment. If you take a course in audit mode, you will be able to see most course materials for free. To access graded assignments and to earn a Certificate, you will need to purchase the Certificate experience, during or after your audit. If you don't see the audit option:

The course may not offer an audit option. You can try a Free Trial instead, or apply for Financial Aid.

The course may offer 'Full Course, No Certificate' instead. This option lets you see all course materials, submit required assessments, and get a final grade. This also means that you will not be able to purchase a Certificate experience.

What will I get if I purchase the Certificate?

When you purchase a Certificate you get access to all course materials, including graded assignments. Upon completing the course, your electronic Certificate will be added to your Accomplishments page - from there, you can print your Certificate or add it to your LinkedIn profile. If you only want to read and view the course content, you can audit the course for free.

What is the refund policy?

You will be eligible for a full refund until two weeks after your payment date, or (for courses that have just launched) until two weeks after the first session of the course begins, whichever is later. You cannot receive a refund once you’ve earned a Course Certificate, even if you complete the course within the two-week refund period. See our full refund policy Opens in a new tab .

Is financial aid available?

Yes. In select learning programs, you can apply for financial aid or a scholarship if you can’t afford the enrollment fee. If fin aid or scholarship is available for your learning program selection, you’ll find a link to apply on the description page.

More questions

Learning Path

Problem solving with programming.

This path is all about solving problems with programming. It starts with Python and then teaches core algorithms and data structures.

Back to all courses

Programming

1 programming with python.

Python is one of the most widely used programming languages, and it is an excellent first language for new programmers. It can be… more

2 Introduction to Algorithms

An algorithm is a step-by-step process to achieve some outcome. When algorithms involve a large amount of input data, complex… more

3 Algorithms and Data Structures

Learn how computers store and manipulate data, and understand the basic building blocks programmers use to design and implement… more

4 Next Steps in Python

Gain a practical understanding of Python by using public functions to access a social media platform's data. Refresh concepts… more

5 Computational Biology

This course was written in collaboration with quantitative biologists and biophysicists from leading research groups at Caltech and… more

CS50: Introduction to Computer Science

An introduction to the intellectual enterprises of computer science and the art of programming.

CS50x

Associated Schools

Harvard School of Engineering and Applied Sciences

Harvard School of Engineering and Applied Sciences

What you'll learn.

A broad and robust understanding of computer science and programming

How to think algorithmically and solve programming problems efficiently

Concepts like abstraction, algorithms, data structures, encapsulation, resource management, security, software engineering, and web development

Familiarity with a number of languages, including C, Python, SQL, and JavaScript plus CSS and HTML

How to engage with a vibrant community of like-minded learners from all levels of experience

How to develop and present a final programming project to your peers

Course description

This is CS50x , Harvard University's introduction to the intellectual enterprises of computer science and the art of programming for majors and non-majors alike, with or without prior programming experience. An entry-level course taught by David J. Malan, CS50x teaches students how to think algorithmically and solve problems efficiently. Topics include abstraction, algorithms, data structures, encapsulation, resource management, security, software engineering, and web development. Languages include C, Python, SQL, and JavaScript plus CSS and HTML. Problem sets inspired by real-world domains of biology, cryptography, finance, forensics, and gaming. The on-campus version of CS50x , CS50, is Harvard's largest course. 

Students who earn a satisfactory score on 9 problem sets (i.e., programming assignments) and a final project are eligible for a certificate. This is a self-paced course–you may take CS50x on your own schedule.

Instructors

David J. Malan

David J. Malan

Doug Lloyd

You may also like

CS50T

CS50's Understanding Technology

This is CS50’s introduction to technology for students who don’t (yet!) consider themselves computer persons.

CS50L

CS50 for Lawyers

This course is a variant of Harvard University's introduction to computer science, CS50, designed especially for lawyers (and law students).

Random walks generated using Python 3

Using Python for Research

Take your introductory knowledge of Python programming to the next level and learn how to use Python 3 for your research.

Join our list to learn more

BloomTech’s Downfall: A Long Time Coming

problem solving course for programming

Coursera’s 2023 Annual Report: Big 5 Domination, Layoffs, Lawsuit, and Patents

Coursera sees headcount decrease and faces lawsuit in 2023, invests in proprietary content while relying on Big 5 partners.

  • 4 Best YouTube Marketing Courses for Business in 2024
  • 10 Best Android Development Courses for 2024
  • 9 Best Relativity Courses for 2024: Special and General Relativity
  • 1200+ Physics Online Courses You Can Take for Free
  • 6 Best Free Prolog Courses for 2024

600 Free Google Certifications

Most common

Popular subjects.

Artificial Intelligence

Information Technology

Software Development

Popular courses

Exploring English: Language and Culture

Marketing Digital: Content & Community Manager

Perdón y reconciliación: cómo sanar heridas

Organize and share your learning with Class Central Lists.

View our Lists Showcase

Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Programming Fundamentals

Duke University via Coursera Help

Limited-Time Offer: Up to 75% Off Coursera Plus!

  • Introduction
  • This module introduces a powerful process for solving any programming problem—the Seven Steps. You will learn how to approach a programming problem methodically, so you can formulate an algorithm that is specific and correct. You will work through examples with sequences of numbers and graphical patterns to develop the skill of algorithm development.
  • Reading Code
  • In this module, you will learn to read code—this means you will be able to execute a piece of code by hand, and clearly illustrate what each statement does and what the state of the program is. Understanding how to read code is the only way to be sure you can write correct code. By the end of this module, you will be able to read and understand code with functions, conditional statements, iteration, and other fundamental techniques.
  • Everything is a number to a computer, but types determine the size and interpretation of numbers. In this module you will learn about types beyond integers, both their conceptual representations, and their hardware representations in binary. You will learn basic data types, "non-number" types, and complex, custom types, as well as some important caveats, so you will avoid type-related programming mistakes.
  • You have learned a lot about designing algorithms and the programming concepts that will help you implement them. For this project, you will develop and test your own algorithm for sorting data. This module will reinforce the importance of being specific when you write an algorithm and provide an opportunity for you to do so yourself, for a very common computational task: sorting.

Andrew D. Hilton, Genevieve M. Lipp and Anne Bracy

  • programming core
  • united states

Related Courses

Python programming fundamentals, writing, running, and fixing code in c, interacting with the system and managing memory, pointers, arrays, and recursion, introductory c programming, algorithmic toolbox, related articles, 10 best free programming courses, 1700 coursera courses that are still completely free, 250 top free coursera courses of all time, massive list of mooc-based microcredentials.

4.7 rating at Coursera based on 6766 ratings

Select rating

Start your review of Programming Fundamentals

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Programming Fundamentals

Programming Fundamentals

Computer Science

Self-paced courses

Electrical and Computer Engineering

Instructors

  • Related Courses

Programming is an increasingly important skill, whether you aspire to a career in software development, or in other fields. This course is the first in the specialization Introduction to Programming in C, but its lessons extend to any language you might want to learn. This is because programming is fundamentally about figuring out how to solve a class of problems and writing the algorithm, a clear set of steps to solve any problem in its class.

This course will introduce you to a powerful problem-solving process—the Seven Steps—which you can use to solve any programming problem. In this course, you will learn how to develop an algorithm, then progress to reading code and understanding how programming concepts relate to algorithms.

Drew Hilton

Drew Hilton

Genevieve Lipp

Genevieve Lipp

Anne Bracy

No Projects related

Problem Solving

Foundations course, introduction.

Before we start digging into some pretty nifty JavaScript, we need to begin talking about problem solving : the most important skill a developer needs.

Problem solving is the core thing software developers do. The programming languages and tools they use are secondary to this fundamental skill.

From his book, “Think Like a Programmer” , V. Anton Spraul defines problem solving in programming as:

Problem solving is writing an original program that performs a particular set of tasks and meets all stated constraints.

The set of tasks can range from solving small coding exercises all the way up to building a social network site like Facebook or a search engine like Google. Each problem has its own set of constraints, for example, high performance and scalability may not matter too much in a coding exercise but it will be vital in apps like Google that need to service billions of search queries each day.

New programmers often find problem solving the hardest skill to build. It’s not uncommon for budding programmers to breeze through learning syntax and programming concepts, yet when trying to code something on their own, they find themselves staring blankly at their text editor not knowing where to start.

The best way to improve your problem solving ability is by building experience by making lots and lots of programs. The more practice you have the better you’ll be prepared to solve real world problems.

In this lesson we will walk through a few techniques that can be used to help with the problem solving process.

Lesson overview

This section contains a general overview of topics that you will learn in this lesson.

  • Explain the three steps in the problem solving process.
  • Explain what pseudocode is and be able to use it to solve problems.
  • Be able to break a problem down into subproblems.

Understand the problem

The first step to solving a problem is understanding exactly what the problem is. If you don’t understand the problem, you won’t know when you’ve successfully solved it and may waste a lot of time on a wrong solution .

To gain clarity and understanding of the problem, write it down on paper, reword it in plain English until it makes sense to you, and draw diagrams if that helps. When you can explain the problem to someone else in plain English, you understand it.

Now that you know what you’re aiming to solve, don’t jump into coding just yet. It’s time to plan out how you’re going to solve it first. Some of the questions you should answer at this stage of the process:

  • Does your program have a user interface? What will it look like? What functionality will the interface have? Sketch this out on paper.
  • What inputs will your program have? Will the user enter data or will you get input from somewhere else?
  • What’s the desired output?
  • Given your inputs, what are the steps necessary to return the desired output?

The last question is where you will write out an algorithm to solve the problem. You can think of an algorithm as a recipe for solving a particular problem. It defines the steps that need to be taken by the computer to solve a problem in pseudocode.

Pseudocode is writing out the logic for your program in natural language instead of code. It helps you slow down and think through the steps your program will have to go through to solve the problem.

Here’s an example of what the pseudocode for a program that prints all numbers up to an inputted number might look like:

This is a basic program to demonstrate how pseudocode looks. There will be more examples of pseudocode included in the assignments.

Divide and conquer

From your planning, you should have identified some subproblems of the big problem you’re solving. Each of the steps in the algorithm we wrote out in the last section are subproblems. Pick the smallest or simplest one and start there with coding.

It’s important to remember that you might not know all the steps that you might need up front, so your algorithm may be incomplete -— this is fine. Getting started with and solving one of the subproblems you have identified in the planning stage often reveals the next subproblem you can work on. Or, if you already know the next subproblem, it’s often simpler with the first subproblem solved.

Many beginners try to solve the big problem in one go. Don’t do this . If the problem is sufficiently complex, you’ll get yourself tied in knots and make life a lot harder for yourself. Decomposing problems into smaller and easier to solve subproblems is a much better approach. Decomposition is the main way to deal with complexity, making problems easier and more approachable to solve and understand.

In short, break the big problem down and solve each of the smaller problems until you’ve solved the big problem.

Solving Fizz Buzz

To demonstrate this workflow in action, let’s solve Fizz Buzz

Understanding the problem

Write a program that takes a user’s input and prints the numbers from one to the number the user entered. However, for multiples of three print Fizz instead of the number and for the multiples of five print Buzz . For numbers which are multiples of both three and five print FizzBuzz .

This is the big picture problem we will be solving. But we can always make it clearer by rewording it.

Write a program that allows the user to enter a number, print each number between one and the number the user entered, but for numbers that divide by 3 without a remainder print Fizz instead. For numbers that divide by 5 without a remainder print Buzz and finally for numbers that divide by both 3 and 5 without a remainder print FizzBuzz .

Does your program have an interface? What will it look like? Our FizzBuzz solution will be a browser console program, so we don’t need an interface. The only user interaction will be allowing users to enter a number.

What inputs will your program have? Will the user enter data or will you get input from somewhere else? The user will enter a number from a prompt (popup box).

What’s the desired output? The desired output is a list of numbers from 1 to the number the user entered. But each number that is divisible by 3 will output Fizz , each number that is divisible by 5 will output Buzz and each number that is divisible by both 3 and 5 will output FizzBuzz .

Writing the pseudocode

What are the steps necessary to return the desired output? Here is an algorithm in pseudocode for this problem:

Dividing and conquering

As we can see from the algorithm we developed, the first subproblem we can solve is getting input from the user. So let’s start there and verify it works by printing the entered number.

With JavaScript, we’ll use the “prompt” method.

The above code should create a little popup box that asks the user for a number. The input we get back will be stored in our variable answer .

We wrapped the prompt call in a parseInt function so that a number is returned from the user’s input.

With that done, let’s move on to the next subproblem: “Loop from 1 to the entered number”. There are many ways to do this in JavaScript. One of the common ways - that you actually see in many other languages like Java, C++, and Ruby - is with the for loop :

If you haven’t seen this before and it looks strange, it’s actually straightforward. We declare a variable i and assign it 1: the initial value of the variable i in our loop. The second clause, i <= answer is our condition. We want to loop until i is greater than answer . The third clause, i++ , tells our loop to increment i by 1 every iteration. As a result, if the user inputs 10, this loop would print numbers 1 - 10 to the console.

Most of the time, programmers find themselves looping from 0. Due to the needs of our program, we’re starting from 1

With that working, let’s move on to the next problem: If the current number is divisible by 3, then print Fizz .

We are using the modulus operator ( % ) here to divide the current number by three. If you recall from a previous lesson, the modulus operator returns the remainder of a division. So if a remainder of 0 is returned from the division, it means the current number is divisible by 3.

After this change the program will now output this when you run it and the user inputs 10:

The program is starting to take shape. The final few subproblems should be easy to solve as the basic structure is in place and they are just different variations of the condition we’ve already got in place. Let’s tackle the next one: If the current number is divisible by 5 then print Buzz .

When you run the program now, you should see this output if the user inputs 10:

We have one more subproblem to solve to complete the program: If the current number is divisible by 3 and 5 then print FizzBuzz .

We’ve had to move the conditionals around a little to get it to work. The first condition now checks if i is divisible by 3 and 5 instead of checking if i is just divisible by 3. We’ve had to do this because if we kept it the way it was, it would run the first condition if (i % 3 === 0) , so that if i was divisible by 3, it would print Fizz and then move on to the next number in the iteration, even if i was divisible by 5 as well.

With the condition if (i % 3 === 0 && i % 5 === 0) coming first, we check that i is divisible by both 3 and 5 before moving on to check if it is divisible by 3 or 5 individually in the else if conditions.

The program is now complete! If you run it now you should get this output when the user inputs 20:

  • Read How to Think Like a Programmer - Lessons in Problem Solving by Richard Reis.
  • Watch How to Begin Thinking Like a Programmer by Coding Tech. It’s an hour long but packed full of information and definitely worth your time watching.
  • Read this Pseudocode: What It Is and How to Write It article from Built In.

Knowledge check

The following questions are an opportunity to reflect on key topics in this lesson. If you can’t answer a question, click on it to review the material, but keep in mind you are not expected to memorize or master this knowledge.

  • What are the three stages in the problem solving process?
  • Why is it important to clearly understand the problem first?
  • What can you do to help get a clearer understanding of the problem?
  • What are some of the things you should do in the planning stage of the problem solving process?
  • What is an algorithm?
  • What is pseudocode?
  • What are the advantages of breaking a problem down and solving the smaller problems?

Additional resources

This section contains helpful links to related content. It isn’t required, so consider it supplemental.

  • Read the first chapter in Think Like a Programmer: An Introduction to Creative Problem Solving ( not free ). This book’s examples are in C++, but you will understand everything since the main idea of the book is to teach programmers to better solve problems. It’s an amazing book and worth every penny. It will make you a better programmer.
  • Watch this video on repetitive programming techniques .
  • Watch Jonathan Blow on solving hard problems where he gives sage advice on how to approach problem solving in software projects.

Support us!

The odin project is funded by the community. join us in empowering learners around the globe by supporting the odin project.

How to think like a programmer — lessons in problem solving

How to think like a programmer — lessons in problem solving

by Richard Reis

aNP21-ICMABUCyfdi4Pys7P0D2wiZqTd3iRY

If you’re interested in programming, you may well have seen this quote before:

“Everyone in this country should learn to program a computer, because it teaches you to think.” — Steve Jobs

You probably also wondered what does it mean, exactly, to think like a programmer? And how do you do it??

Essentially, it’s all about a more effective way for problem solving .

In this post, my goal is to teach you that way.

By the end of it, you’ll know exactly what steps to take to be a better problem-solver.

Why is this important?

Problem solving is the meta-skill.

We all have problems. Big and small. How we deal with them is sometimes, well…pretty random.

Unless you have a system, this is probably how you “solve” problems (which is what I did when I started coding):

  • Try a solution.
  • If that doesn’t work, try another one.
  • If that doesn’t work, repeat step 2 until you luck out.

Look, sometimes you luck out. But that is the worst way to solve problems! And it’s a huge, huge waste of time.

The best way involves a) having a framework and b) practicing it.

“Almost all employers prioritize problem-solving skills first.
Problem-solving skills are almost unanimously the most important qualification that employers look for….more than programming languages proficiency, debugging, and system design.
Demonstrating computational thinking or the ability to break down large, complex problems is just as valuable (if not more so) than the baseline technical skills required for a job.” — Hacker Rank ( 2018 Developer Skills Report )

Have a framework

To find the right framework, I followed the advice in Tim Ferriss’ book on learning, “ The 4-Hour Chef ”.

It led me to interview two really impressive people: C. Jordan Ball (ranked 1st or 2nd out of 65,000+ users on Coderbyte ), and V. Anton Spraul (author of the book “ Think Like a Programmer: An Introduction to Creative Problem Solving ”).

I asked them the same questions, and guess what? Their answers were pretty similar!

Soon, you too will know them.

Sidenote: this doesn’t mean they did everything the same way. Everyone is different. You’ll be different. But if you start with principles we all agree are good, you’ll get a lot further a lot quicker.

“The biggest mistake I see new programmers make is focusing on learning syntax instead of learning how to solve problems.” — V. Anton Spraul

So, what should you do when you encounter a new problem?

Here are the steps:

1. Understand

Know exactly what is being asked. Most hard problems are hard because you don’t understand them (hence why this is the first step).

How to know when you understand a problem? When you can explain it in plain English.

Do you remember being stuck on a problem, you start explaining it, and you instantly see holes in the logic you didn’t see before?

Most programmers know this feeling.

This is why you should write down your problem, doodle a diagram, or tell someone else about it (or thing… some people use a rubber duck ).

“If you can’t explain something in simple terms, you don’t understand it.” — Richard Feynman

Don’t dive right into solving without a plan (and somehow hope you can muddle your way through). Plan your solution!

Nothing can help you if you can’t write down the exact steps.

In programming, this means don’t start hacking straight away. Give your brain time to analyze the problem and process the information.

To get a good plan, answer this question:

“Given input X, what are the steps necessary to return output Y?”

Sidenote: Programmers have a great tool to help them with this… Comments!

Pay attention. This is the most important step of all.

Do not try to solve one big problem. You will cry.

Instead, break it into sub-problems. These sub-problems are much easier to solve.

Then, solve each sub-problem one by one. Begin with the simplest. Simplest means you know the answer (or are closer to that answer).

After that, simplest means this sub-problem being solved doesn’t depend on others being solved.

Once you solved every sub-problem, connect the dots.

Connecting all your “sub-solutions” will give you the solution to the original problem. Congratulations!

This technique is a cornerstone of problem-solving. Remember it (read this step again, if you must).

“If I could teach every beginning programmer one problem-solving skill, it would be the ‘reduce the problem technique.’
For example, suppose you’re a new programmer and you’re asked to write a program that reads ten numbers and figures out which number is the third highest. For a brand-new programmer, that can be a tough assignment, even though it only requires basic programming syntax.
If you’re stuck, you should reduce the problem to something simpler. Instead of the third-highest number, what about finding the highest overall? Still too tough? What about finding the largest of just three numbers? Or the larger of two?
Reduce the problem to the point where you know how to solve it and write the solution. Then expand the problem slightly and rewrite the solution to match, and keep going until you are back where you started.” — V. Anton Spraul

By now, you’re probably sitting there thinking “Hey Richard... That’s cool and all, but what if I’m stuck and can’t even solve a sub-problem??”

First off, take a deep breath. Second, that’s fair.

Don’t worry though, friend. This happens to everyone!

The difference is the best programmers/problem-solvers are more curious about bugs/errors than irritated.

In fact, here are three things to try when facing a whammy:

  • Debug: Go step by step through your solution trying to find where you went wrong. Programmers call this debugging (in fact, this is all a debugger does).
“The art of debugging is figuring out what you really told your program to do rather than what you thought you told it to do.”” — Andrew Singer
  • Reassess: Take a step back. Look at the problem from another perspective. Is there anything that can be abstracted to a more general approach?
“Sometimes we get so lost in the details of a problem that we overlook general principles that would solve the problem at a more general level. […]
The classic example of this, of course, is the summation of a long list of consecutive integers, 1 + 2 + 3 + … + n, which a very young Gauss quickly recognized was simply n(n+1)/2, thus avoiding the effort of having to do the addition.” — C. Jordan Ball

Sidenote: Another way of reassessing is starting anew. Delete everything and begin again with fresh eyes. I’m serious. You’ll be dumbfounded at how effective this is.

  • Research: Ahh, good ol’ Google. You read that right. No matter what problem you have, someone has probably solved it. Find that person/ solution. In fact, do this even if you solved the problem! (You can learn a lot from other people’s solutions).

Caveat: Don’t look for a solution to the big problem. Only look for solutions to sub-problems. Why? Because unless you struggle (even a little bit), you won’t learn anything. If you don’t learn anything, you wasted your time.

Don’t expect to be great after just one week. If you want to be a good problem-solver, solve a lot of problems!

Practice. Practice. Practice. It’ll only be a matter of time before you recognize that “this problem could easily be solved with <insert concept here>.”

How to practice? There are options out the wazoo!

Chess puzzles, math problems, Sudoku, Go, Monopoly, video-games, cryptokitties, bla… bla… bla….

In fact, a common pattern amongst successful people is their habit of practicing “micro problem-solving.” For example, Peter Thiel plays chess, and Elon Musk plays video-games.

“Byron Reeves said ‘If you want to see what business leadership may look like in three to five years, look at what’s happening in online games.’
Fast-forward to today. Elon [Musk], Reid [Hoffman], Mark Zuckerberg and many others say that games have been foundational to their success in building their companies.” — Mary Meeker ( 2017 internet trends report )

Does this mean you should just play video-games? Not at all.

But what are video-games all about? That’s right, problem-solving!

So, what you should do is find an outlet to practice. Something that allows you to solve many micro-problems (ideally, something you enjoy).

For example, I enjoy coding challenges. Every day, I try to solve at least one challenge (usually on Coderbyte ).

Like I said, all problems share similar patterns.

That’s all folks!

Now, you know better what it means to “think like a programmer.”

You also know that problem-solving is an incredible skill to cultivate (the meta-skill).

As if that wasn’t enough, notice how you also know what to do to practice your problem-solving skills!

Phew… Pretty cool right?

Finally, I wish you encounter many problems.

You read that right. At least now you know how to solve them! (also, you’ll learn that with every solution, you improve).

“Just when you think you’ve successfully navigated one obstacle, another emerges. But that’s what keeps life interesting.[…]
Life is a process of breaking through these impediments — a series of fortified lines that we must break through.
Each time, you’ll learn something.
Each time, you’ll develop strength, wisdom, and perspective.
Each time, a little more of the competition falls away. Until all that is left is you: the best version of you.” — Ryan Holiday ( The Obstacle is the Way )

Now, go solve some problems!

And best of luck ?

Special thanks to C. Jordan Ball and V. Anton Spraul . All the good advice here came from them.

Thanks for reading! If you enjoyed it, test how many times can you hit in 5 seconds. It’s great cardio for your fingers AND will help other people see the story.

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

Summer is a great time to explore cool problems and keep your skills sharp!   Schedule a class today !

Need help finding the right class? Have a question about how classes work?

12 weeks

12 weeks  

Mar 14 - May 30
7:30 - 9:00
PM ET

7:30 - 9:00 PM Eastern
6:30 - 8:00 PM Central
5:30 - 7:00 PM Mountain
4:30 - 6:00 PM Pacific
Asa Frank $545 (~$46/week) (~$46/week) CLOSED

Jun 2 - Aug 18
7:30 - 9:00
PM ET

7:30 - 9:00 PM Eastern
6:30 - 8:00 PM Central
5:30 - 7:00 PM Mountain
4:30 - 6:00 PM Pacific
Maria Mendes $545 (~$46/week) (~$46/week) ENROLL

Jun 18 - Sep 3
7:30 - 9:00
PM ET

7:30 - 9:00 PM Eastern
6:30 - 8:00 PM Central
5:30 - 7:00 PM Mountain
4:30 - 6:00 PM Pacific
Dan Kinch $545 (~$46/week) (~$46/week) ENROLL

Sep 27 - Dec 20
7:30 - 9:00
PM ET

7:30 - 9:00 PM Eastern
6:30 - 8:00 PM Central
5:30 - 7:00 PM Mountain
4:30 - 6:00 PM Pacific
Caleb Bilenkin $545 (~$46/week) (~$46/week) ENROLL

AoPS Holidays

Who should take.

This course assumes that students have prior experience programming in Python . Specifically, students taking this course should be familiar with Python's built-in data types (including lists, tuples, and dictionaries), Python's conditional and flow-of-control structures (including if/elif/else, for, and while), and Python's input/output functions (including print, input, and file reading and writing). Students who are familiar with these concepts in another programming language but not in Python should learn the Python equivalents prior to taking this class.

Students with no prior programming experience should instead consider our Introduction to Programming with Python course.

We will be providing a free online textbook for this class, which students can access from the class homepage. Students will also need to download free Python software onto their computers. We will provide detailed instructions for how to install this software prior to the beginning of the course.

For students with some programming experience, we also offer a Java Programming with Data Structures course. The Java course is more mathematically advanced and a considerably greater time commitment than Intermediate Programming with Python. Students who have not completed an Algebra 2 or Trigonometry course would probably find Intermediate Programming with Python more appropriate than the Java course.

1 Review of Python Basics and Programming Basics
2 Recursion
3 Classes and Object-Oriented Programming (OOP)
4 More OOP
5 Still More OOP!
6 Inheritance
7 Event-Driven Programming and GUIs
8 More with GUIs
9 Project (Part 1)
10 Project (Part 2)
11 Game Design (Part 1)
12 Game Design (Part 2)

I have really enjoyed this course! I will definitely continue my study of computer programming, and I am now considering a career in computer science.

Something appears to not have loaded correctly.

Click to refresh .

problem solving course for programming

Secondary Menu

Programming and problem solving, compsci 94fs, enroll consent.

Department Consent Required

Drop Consent

Curriculum codes, typically offered.

  • CS 50th Anniversary
  • Computing Resources
  • Event Archive
  • Location & Directions
  • AI for Social Good
  • Computational Social Choice
  • Computer Vision
  • Machine Learning
  • Natural Language Processing (NLP)
  • Reinforcement Learning
  • Search and Optimization
  • Computational Biochemistry and Drug Design
  • Computational Genomics
  • Computational Imaging
  • DNA and Molecular Computing
  • Algorithmic Game Theory
  • Social Choice
  • Computational Journalism
  • Broadening Participation in Computing
  • CS1/CS2 Learning, Pedagogy, and Curricula
  • Education Technology
  • Practical and Ethical Approaches to Software and Computing
  • Interdisciplinary Research in Data Science
  • Security & Privacy
  • Architecture
  • Computer Networks
  • Distributed Systems
  • High Performance Computing
  • Operating Systems
  • Quantum Computing
  • Approximation and Online Algorithms
  • Coding and Information Theory
  • Computational Complexity
  • Geometric Computing
  • Graph Algorithms
  • Numerical Analysis
  • Programming Languages
  • Why Duke Computer Science?
  • BS Concentration in Software Systems
  • BS Concentration in Data Science
  • BS Concentration in AI and Machine Learning
  • BA Requirements
  • Minors in Computer Science
  • 4+1 Program for Duke Undergraduates
  • IDM in Math + CS on Data Science
  • IDM in Linguistics + CS
  • IDM in Statistics + CS on Data Science
  • IDM in Visual & Media Studies (VMS) + CS
  • Graduation with Distinction
  • Independent Study
  • Identity in Computing Research
  • CS+ Summer Program
  • CS Related Student Organizations
  • Undergraduate Teaching Assistant (UTA) Information
  • Your Background
  • Schedule a Visit
  • All Prospective CS Undergrads
  • Admitted or Declared 1st Majors
  • First Course in CS
  • Duties and Commitment
  • Compensation
  • Trinity Ambassadors
  • Mentoring for CS Graduate Students
  • MSEC Requirements
  • Master's Options
  • Financial Support
  • MS Requirements
  • Concurrent Master's for Non-CS PhDs
  • Admission & Enrollment Statistics
  • PhD Course Requirements
  • Conference Travel
  • Frequently Asked Questions
  • Additional Graduate Student Resources
  • Graduate Awards
  • Undergraduate Courses
  • Graduate Courses
  • Spring 2024 Classes
  • Fall 2023 Classes
  • Spring 2023 Classes
  • Course Substitutions for Majors & Minors
  • Course Bulletin
  • Course Registration Logistics
  • Assisting Duke Students
  • For Current Students
  • Alumni Lectures - Spring 2024
  • News - Alumni
  • Primary Faculty
  • Secondary Faculty
  • Adjunct and Visiting Faculty
  • Emeriti - In Memoriam
  • Postdoctoral Fellows
  • Ph.D. Program
  • Masters in Computer Science
  • Masters in Economics and Computation
  • Affiliated Graduate Students

Browse Course Material

Course info.

  • Prof. John Guttag

Departments

  • Electrical Engineering and Computer Science

As Taught In

  • Computer Science

Introduction to Computer Science and Programming

Lecture 3: problem solving.

  • Download video
  • Download transcript

facebook

You are leaving MIT OpenCourseWare

swayam-logo

Problem Solving Through Programming In C

  • Formulate simple algorithms for arithmetic and logical problems
  • Translate the algorithms to programs (in C language)
  • Test and execute the programs and  correct syntax and logical errors
  • Implement conditional branching, iteration and recursion
  • Decompose a problem into functions and synthesize a complete program using divide and conquer approach
  • Use arrays, pointers and structures to formulate algorithms and programs
  • Apply programming to solve matrix addition and multiplication problems and searching and sorting problems 
  • Apply programming to solve simple numerical method problems, namely rot finding of function, differentiation of function and simple integration
--> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> -->

Note: This exam date is subjected to change based on seat availability. You can check final exam date on your hall ticket.

Page Visits

Course layout, books and references, instructor bio.

problem solving course for programming

Prof. Anupam Basu

Course certificate.

  • Assignment score = 25% of average of best 8 assignments out of the total 12 assignments given in the course. 
  • ( All assignments in a particular week will be counted towards final scoring - quizzes and programming assignments). 
  • Unproctored programming exam score = 25% of the average scores obtained as part of Unproctored programming exam - out of 100
  • Proctored Exam score =50% of the proctored certification exam score out of 100

problem solving course for programming

DOWNLOAD APP

problem solving course for programming

SWAYAM SUPPORT

Please choose the SWAYAM National Coordinator for support. * :

Tutorial Playlist

Programming tutorial, your guide to the best backend languages for 2024, an ultimate guide that helps you to start learn coding 2024, what is backend development: the ultimate guide for beginners, all you need to know for choosing the first programming language to learn, here’s all you need to know about coding, decoding, and reasoning with examples, understanding what is xml: the best guide to xml and its concepts., an ultimate guide to learn the importance of low-code and no-code development, top frontend languages that you should know about, top 75+ frontend developer interview questions and answers, the ultimate guide to learn typescript generics, the most comprehensive guide for beginners to know ‘what is typescript’.

The Ultimate Guide on Introduction to Competitive Programming

Top 60+ TCS NQT Interview Questions and Answers for 2024

Most commonly asked logical reasoning questions in an aptitude test, everything you need to know about advanced typescript concepts, an absolute guide to build c hello world program, a one-stop solution guide to learn how to create a game in unity, what is nat significance of nat for translating ip addresses in the network model, data science vs software engineering: key differences, a real-time chat application typescript project using node.js as a server, what is raspberry pi here’s the best guide to get started, what is arduino here’s the best beginners guide to get started, arduino vs. raspberry pi: which is the better board, the perfect guide for all you need to learn about mean stack, software developer resume: a comprehensive guide, here’s everything all you need to know about the programming roadmap, an ultimate guide that helps you to develop and improve problem solving in programming, the top 10 awesome arduino projects of all time, roles of product managers, pyspark rdd: everything you need to know about pyspark rdd, wipro interview questions and answers that you should know before going for an interview, how to use typescript with nodejs: the ultimate guide, what is rust programming language why is it so popular, software terminologies, an ultimate guide that helps you to develop and improve problem solving in programming.

Lesson 27 of 34 By Hemant Deshpande

An Ultimate Guide That Helps You to Develop and Improve Problem Solving in Programming

Table of Contents

Coding and Programming skills hold a significant and critical role in implementing and developing various technologies and software. They add more value to the future and development. These programming and coding skills are essential for every person to improve problem solving skills. So, we brought you this article to help you learn and know the importance of these skills in the future. 

Want a Top Software Development Job? Start Here!

Want a Top Software Development Job? Start Here!

Topics covered in this problem solving in programming article are:

  • What is Problem Solving in Programming? 
  • Problem Solving skills in Programming
  • How does it impact your career ?
  • Steps involved in Problem Solving
  • Steps to improve Problem Solving in programming

What is Problem Solving in Programming?

Computers are used to solve various problems in day-to-day life. Problem Solving is an essential skill that helps to solve problems in programming. There are specific steps to be carried out to solve problems in computer programming, and the success depends on how correctly and precisely we define a problem. This involves designing, identifying and implementing problems using certain steps to develop a computer.

When we know what exactly problem solving in programming is, let us learn how it impacts your career growth.

How Does It Impact Your Career?

Many companies look for candidates with excellent problem solving skills. These skills help people manage the work and make candidates put more effort into the work, which results in finding solutions for complex problems in unexpected situations. These skills also help to identify quick solutions when they arise and are identified. 

People with great problem solving skills also possess more thinking and analytical skills, which makes them much more successful and confident in their career and able to work in any kind of environment. 

The above section gives you an idea of how problem solving in programming impacts your career and growth. Now, let's understand what problem solving skills mean.

Problem Solving Skills in Programming

Solving a question that is related to computers is more complicated than finding the solutions for other questions. It requires excellent knowledge and much thinking power. Problem solving in programming skills is much needed for a person and holds a major advantage. For every question, there are specific steps to be followed to get a perfect solution. By using those steps, it is possible to find a solution quickly.

The above section is covered with an explanation of problem solving in programming skills. Now let's learn some steps involved in problem solving.

Steps Involved in Problem Solving

Before being ready to solve a problem, there are some steps and procedures to be followed to find the solution. Let's have a look at them in this problem solving in programming article.

Basically, they are divided into four categories:

  • Analysing the problem
  • Developing the algorithm
  • Testing and debugging

Analysing the Problem

Every problem has a perfect solution; before we are ready to solve a problem, we must look over the question and understand it. When we know the question, it is easy to find the solution for it. If we are not ready with what we have to solve, then we end up with the question and cannot find the answer as expected. By analysing it, we can figure out the outputs and inputs to be carried out. Thus, when we analyse and are ready with the list, it is easy and helps us find the solution easily. 

Developing the Algorithm

It is required to decide a solution before writing a program. The procedure of representing the solution  in a natural language called an algorithm. We must design, develop and decide the final approach after a number of trials and errors, before actually writing the final code on an algorithm before we write the code. It captures and refines all the aspects of the desired solution.

Once we finalise the algorithm, we must convert the decided algorithm into a code or program using a dedicated programming language that is understandable by the computer to find a desired solution. In this stage, a wide variety of programming languages are used to convert the algorithm into code. 

Testing and Debugging

The designed and developed program undergoes several rigorous tests based on various real-time parameters and the program undergoes various levels of simulations. It must meet the user's requirements, which have to respond with the required time. It should generate all expected outputs to all the possible inputs. The program should also undergo bug fixing and all possible exception handling. If it fails to show the possible results, it should be checked for logical errors.

Industries follow some testing methods like system testing, component testing and acceptance testing while developing complex applications. The errors identified while testing are debugged or rectified and tested again until all errors are removed from the program.

The steps mentioned above are involved in problem solving in programming. Now let's see some more detailed information about the steps to improve problem solving in programming.

Steps to Improve Problem Solving in Programming

Right mindset.

The way to approach problems is the key to improving the skills. To find a solution, a positive mindset helps to solve problems quickly. If you think something is impossible, then it is hard to achieve. When you feel free and focus with a positive attitude, even complex problems will have a perfect solution.

Making Right Decisions

When we need to solve a problem, we must be clear with the solution. The perfect solution helps to get success in a shorter period. Making the right decisions in the right situation helps to find the perfect solution quickly and efficiently. These skills also help to get more command over the subject.

Keeping Ideas on Track

Ideas always help much in improving the skills; they also help to gain more knowledge and more command over things. In problem solving situations, these ideas help much and help to develop more skills. Give opportunities for the mind and keep on noting the ideas.

Learning from Feedbacks

A crucial part of learning is from the feedback. Mistakes help you to gain more knowledge and have much growth. When you have a solution for a problem, go for the feedback from the experienced or the professionals. It helps you get success within a shorter period and enables you to find other solutions easily.

Asking Questions

Questions are an incredible part of life. While searching for solutions, there are a lot of questions that arise in our minds. Once you know the question correctly, then you are able to find answers quickly. In coding or programming, we must have a clear idea about the problem. Then, you can find the perfect solution for it. Raising questions can help to understand the problem.

These are a few reasons and tips to improve problem solving in programming skills. Now let's see some major benefits in this article.

  • Problem solving in programming skills helps to gain more knowledge over coding and programming, which is a major benefit.
  • These problem solving skills also help to develop more skills in a person and build a promising career.
  • These skills also help to find the solutions for critical and complex problems in a perfect way.
  • Learning and developing problem solving in programming helps in building a good foundation.
  • Most of the companies are looking for people with good problem solving skills, and these play an important role when it comes to job opportunities 
Don't miss out on the opportunity to become a Certified Professional with Simplilearn's Post Graduate Program in Full Stack Web Development . Enroll Today!

Problem solving in programming skills is important in this modern world; these skills build a great career and hold a great advantage. This article on problem solving in programming provides you with an idea of how it plays a massive role in the present world. In this problem solving in programming article, the skills and the ways to improve more command on problem solving in programming are mentioned and explained in a proper way.

If you are looking to advance in your career. Simplilearn provides training and certification courses on various programming languages - Python , Java , Javascript , and many more. Check out our Post Graduate Program in Full Stack Web Development course that will help you excel in your career.

If you have any questions for us on the problem solving in programming article. Do let us know in the comments section below; we have our experts answer it right away.

Find our Full Stack Developer - MERN Stack Online Bootcamp in top cities:

Course Status : Completed
Course Type : Elective
Duration : 12 weeks
Category :
Credit Points : 3
Undergraduate/Postgraduate
Start Date : 25 Jul 2022
End Date : 14 Oct 2022
Enrollment Ends : 08 Aug 2022
Exam Date : 29 Oct 2022 IST
NameDatePlace
Cohort starts on 18th Jun 2024,
Weekend batch
Your City
Cohort starts on 9th Jul 2024,
Weekend batch
Your City
Cohort starts on 30th Jul 2024,
Weekend batch
Your City

About the Author

Hemant Deshpande

Hemant Deshpande, PMP has more than 17 years of experience working for various global MNC's. He has more than 10 years of experience in managing large transformation programs for Fortune 500 clients across verticals such as Banking, Finance, Insurance, Healthcare, Telecom and others. During his career he has worked across the geographies - North America, Europe, Middle East, and Asia Pacific. Hemant is an internationally Certified Executive Coach (CCA/ICF Approved) working with corporate leaders. He also provides Management Consulting and Training services. He is passionate about writing and regularly blogs and writes content for top websites. His motto in life - Making a positive difference.

Recommended Resources

Your One-Stop Solution to Understand Coin Change Problem

Your One-Stop Solution to Understand Coin Change Problem

Combating the Global Talent Shortage Through Skill Development Programs

Combating the Global Talent Shortage Through Skill Development Programs

What Is Problem Solving? Steps, Techniques, and Best Practices Explained

What Is Problem Solving? Steps, Techniques, and Best Practices Explained

One Stop Solution to All the Dynamic Programming Problems

One Stop Solution to All the Dynamic Programming Problems

The Ultimate Guide on Introduction to Competitive Programming

The Ultimate Guide to Top Front End and Back End Programming Languages for 2021

  • PMP, PMI, PMBOK, CAPM, PgMP, PfMP, ACP, PBA, RMP, SP, and OPM3 are registered marks of the Project Management Institute, Inc.
  • Business Essentials
  • Leadership & Management
  • Credential of Leadership, Impact, and Management in Business (CLIMB)
  • Entrepreneurship & Innovation
  • Digital Transformation
  • Finance & Accounting
  • Business in Society
  • For Organizations
  • Support Portal
  • Media Coverage
  • Founding Donors
  • Leadership Team
  • Harvard Business School →
  • HBS Online →
  • Online Business Certificate Courses
  • Business Strategy
  • Leadership, Ethics, and Corporate Accountability

problem solving course for programming

Design Thinking and Innovation

Key concepts, who will benefit, aspiring or current innovation managers, entrepreneurs, product managers, developers, and marketers.

problem solving course for programming

What You Earn

Certificate of Completion

Certificate of Completion

Boost your resume with a Certificate of Completion from HBS Online

Earn by: completing this course

Certificate of Specialization

Certificate of Specialization

Prove your mastery of entrepreneurship and innovation

Earn by: completing any three courses within this subject area to earn a Certificate of Specialization

Content Week - Clarify: Empathy and Understanding

problem solving course for programming

  • An Introduction to Innovation
  • Clarify Through Observation
  • Insights and Problem Framing
  • The Right Enviroment for Creativity

Featured Exercises

Project week – clarify.

problem solving course for programming

  • Project Instructions

Content Week - Ideate, Part 1: Tools for Generating Ideas

problem solving course for programming

  • Establishing Focus with Design Principles
  • The Ideation Process: Getting Started with SIT
  • More SIT Tools for Ideation
  • Open-Ended Approaches to Generating Ideas
  • Review of Project Work

Content Week - Ideate, Part 2: User Values and Behaviors

problem solving course for programming

  • Design Heuristics for Generating and Refining Ideas
  • Designing for Behavior Change

Project Week - Ideate

problem solving course for programming

Content Week - Develop: An Experimentation Mindset

problem solving course for programming

  • Idea Selection and Evaluation
  • Defining and Refining Your Prototype Plan
  • Prototyping: From Exploration to Validation
  • Leading Concept Development

Content Week - Implement: Communication and Structure

problem solving course for programming

  • Overcoming Developer and User Bias
  • Strategies for Communicating Value
  • Managing an Innovation Culture

problem solving course for programming

So You Want to Be an Entrepreneur: How to Get Started

Our difference, about the professor.

problem solving course for programming

Srikant Datar Design Thinking and Innovation

Dates & eligibility.

No current course offerings for this selection.

All applicants must be at least 18 years of age, proficient in English, and committed to learning and engaging with fellow participants throughout the course.

Learn about bringing this course to your organization .

Learner Stories

problem solving course for programming

Design Thinking and Innovation FAQs

Could you tell me a little more about the ai course assistant chat bot.

You can think of the beta version of the Design Thinking and Innovation AI Course Assistant chat bot in two ways: like a virtual Teaching Assistant who can help you consolidate and confirm your understanding of course concepts, and as a virtual Learner Success Assistant who can help you stay on track with completing the coursework in a timely fashion. When you are finding a particular concept difficult to master, or would like additional examples of a theory, try asking the bot your question in the same way you would phrase it to a human TA. If you have a question pertaining to where or how to submit certain assignments, or one relating to deadlines or time estimates, you can also express those in a similar fashion. Please note that no preexisting familiarity or experience with generative AI is necessary or assumed to use the bot and, while we encourage you to engage with the bot and share your candid feedback on your experience, a lack of engagement with the bot will not adversely impact your eligibility for a certificate of completion.

What are the learning requirements in order to successfully complete the course, and how are grades assigned?

Participants in Design Thinking and Innovation are eligible for a Certificate of Completion from Harvard Business School Online.

Participants are expected to fully complete all coursework in a thoughtful and timely manner. This will mean meeting each week’s course module deadlines and fully answering questions posed therein. This helps ensure participants proceed through the course at a similar pace and can take full advantage of social learning opportunities. In addition to module and assignment completion, we expect you to offer feedback on others’ reflections and contribute to conversations on the platform. Participants who fail to complete the course requirements will not receive a certificate and will not be eligible to retake the course.

More detailed information on course requirements will be communicated at the start of the course. No grades are assigned for Design Thinking and Innovation. Participants will either be evaluated as complete or not complete.

What materials will I have access to after completing Design Thinking and Innovation?

You will have access to the materials in every prior module as you progress through the program. Access to course materials and the course platform ends 60 days after the final deadline in the program.

At the end of each course module, you will be able to download a PDF summary highlighting key concepts used throughout the course. At the end of the program, you will receive a PDF compilation of all of the module summary documents. We hope the module summary documents will serve as a helpful resource after you finish the course.

How should I list my certificate on my resume?

Once you've earned your Certificate of Completion, list it on your resume along with the date of completion:

Harvard Business School Online Certificate in Design Thinking and Innovation [Cohort Start Month and Year]

List your certificate on your LinkedIn profile under "Education" with the language from the Credential Verification page:

School: Harvard Business School Online Dates Attended: [The year you participated in the program] Degree: Other; Certificate in Design Thinking and Innovation Field of Study: Leave blank Grade: "Complete" Activities and Societies: Leave blank

Description: Design Thinking and Innovation is a 7-week, 40-hour online certificate program from Harvard Business School. Design Thinking and Innovation will teach you how to leverage fundamental design thinking principles and innovative problem-solving tools to address business challenges and build products, strategies, teams, and environments for optimal use and performance.

The program was developed by leading Harvard Business School faculty and is delivered in an active learning environment based on the HBS signature case-based learning model.

What is the project?

Beginning in Module 2 of Design Thinking and Innovation, you will apply the tools you learn in the course to an innovation problem that is important or interesting to you, or you can use a provided scenario. In subsequent modules, you will use your earlier responses to build on your innovation project and make each phase of design thinking relevant to your own work.

Do I need to collaborate with others to complete the project?

No, each individual submits their own work in Design Thinking and Innovation, and all project work can be submitted without sharing it with others in the course. You are encouraged to share with others and ask for feedback, but collaboration isn’t necessary to advance through the course.

Related Programs

problem solving course for programming

Negotiation Mastery

Secure maximum value for your organization through a mastery of negotiation techniques.

problem solving course for programming

Entrepreneurship Essentials

Master a proven framework for building and financing new ventures, and make your entrepreneurial dreams a reality.

problem solving course for programming

Disruptive Strategy

Strengthen your capacity to create winning strategies and bring innovations to market by discovering customer jobs to be done and aligning your business’s resources, processes, and profit formula.

Top Artificial Intelligence Courses Online

Master cutting-edge skills with our Artificial Intelligence courses. Learn the fundamentals of AI, machine learning, and advanced algorithms that will help you with real-world applications. Our collaboration with the world's top universities ensures you learn the latest advancements and industry-relevant skills.

  • Upskill yourself for a rewarding career in AI.
  • Learn at your own pace with flexible and personalized mentorship programs.
  • Get the best faculty and leading industry experts to guide your AI journey.

BW Education

E-Learning/Online Tutoring company of the Year- 2023

Mouthshut

Learn how you can increase your salary

Schedule a 1:1 career counselling session for FREE with our experts

Download Brochure

Check out the program and fee details in our brochure

Oops!! Something went wrong, Please try again.

By submitting this form, you consent to our Terms of Use & Privacy Policy and to be contacted by us via Email/Call/Whatsapp/SMS.

We are allocating a suitable domain expert to help you out with your queries. Expect to receive a call in the next 4 hours.

Not able to view the brochure?

Explore Artificial Intelligence Courses

Browse the best Artificial Intelligence courses that fit your specifications. Find the course that upskill and advances your career.

Artificial Intelligence Courses

University of Texas - McCombs

PG Program in Artificial Intelligence & Machine Learning

#1 Ranked AI Program

22,800+ learners

Artificial Intelligence PG Program for Leaders

Online with Live Virtual Classes

No Programming experience required

University of Arizona

MS in Information Science: Machine Learning

Save INR 55+ Lakhs

Upto 3 years STEM OPT Visa in the US

Microsoft Azure

Generative AI for Business with Microsoft Azure OpenAI Program

Get a Microsoft Applied Skill Badge

Prompt Engineering without and with code

MIT Professional Education Digital Plus Programs

No Code AI and Machine Learning: Building Data Science Solutions

Learn from MIT Faculty

Personalized Mentorship and Support

Walsh College

MS Artificial Intelligence and Machine Learning

No GRE/TOEFL/GMAT required

Upto 3 years STEM OPT VISA in the US

Study in USA without GRE/ TOEFL

Save INR 55+ Lakhs on a Master's Degree

Great Lakes Executive Learning

PG Program in Machine Learning

Award winning faculties

Form submitted successfully

We are allocating a suitable domain expert to help you out with program details. Expect to receive a call in the next 4 hours.

Successful Career Transitions

link icon

Poulami Das

linkedin icon

Artificial Intelligence & Machine Learning

Azure Big Data Engineer

Azure Data and AI Consultant

link icon

Jarupula Prem Kumar

Assistant System Engineer

Data Engineer

TVS Motors

Jatin Thakkar

Senior Consultant

EY Analytics (Asia-Pacific)

Principal Software Engineer - AI/ML

Dell Technologies

link icon

Vardaan Agarwal

ROC Engineer

SoftBank Energy

Data Scientist

link icon

Esha Savlani

Business Analyst

link icon

Anirban Datta

Data Scientist and Lead NPD

Senior Technology Consultant

link icon

Senior Software Consultant

Quale Infotech

Associate Consultant

Fractal Analytics

Fractal Analytics

Ekta Kumari

Sr. Cloud Support Associate

Amazon Development Center Pvt Ltd

Tech Mahindra

Tech Mahindra

Gaurav Bhuyan

R&D Lead

Nokia Networks

Senior Data Engineer

Tiger Analytics

Tiger Analytics

Vishal Verma

Business Intelligence Analyst

Everwell Health Solutions

Sr. Business Analyst

Tredence Analytics

Tredence Analytics

Venkatasalam Mpv

Data Analyst/BI Developer

Logesys Solutions

Associate - Data Science

TheMathCompany

link icon

Ajay Suresh Kini

Senior Engineer

Satven-Ford Motor Company

Deloitte Consulting

link icon

Kurian Just

FIDELITY INVESTMENTS

Associate Consultant- ML

link icon

Sumit Gupta

Great Learning

link icon

Chetan Pandey

Associate Analyst

Amazon

Senior Analyst

Associate Engineer

TEKSystems Global Services

TEKSystems Global Services

Learn More About Machine Learning and Artificial Intelligence Courses

Understanding ai and ml, learning and educational resources in ai and ml, career in ai and ml, ai, ml, and data science: differences and relations, applications and implementation of ai and ml, ai, ml, and the future.

What is Artificial Intelligence?

Artificial Intelligence (AI) represents a significant branch of computer science dedicated to designing intelligent machines to perform tasks that typically involve human intelligence. These tasks include recognizing speech, interpreting complex data, making decisions, and translating languages. AI aims to simulate human cognitive processes through algorithms and machine learning, enabling machines to execute tasks autonomously and learn from their experiences.

What is Machine Learning?

Machine Learning (ML), a core component of AI, builds algorithms and statistical models that enable computers to perform specific tasks without explicit code instructions. Instead, these systems learn and make predictions or decisions based on patterns and inferences from data. ML is pivotal in developing systems that can autonomously improve their functionality over time, making it a cornerstone technology in various applications like recommendation systems, natural language processing, and autonomous vehicles.

AI and ML in Academia and Debates

AI and ML courses have become fundamental in academic curriculums, offering insights from basic algorithms to complex neural networks. These courses cater to various levels, from beginners to advanced learners. While comparing AIML with data science, it's essential to note that they are complementary fields. Data science, which focuses on extracting insights from data, is integral to training AI and ML models, thus driving their effectiveness and applicability.

Best courses for Artificial Intelligence

Artificial Intelligence Post Graduate Certificate Courses by University of Texas - McCombs This 12-month online program is ranked as the #1 AI Program and has over 22,800 learners. It's ideal for those seeking a comprehensive understanding of AI and ML from a prestigious university.

Artificial Intelligence PG Program for Leaders by Great Lakes Executive Learning A 5-month online program with live virtual classes, curated for professionals and leaders. This course does not require prior programming experience, making it accessible to aspirants from various backgrounds.

Artificial Intelligence Certificate Programs by MIT IDSS The MIT Data Science and Machine Learning Program is a 12-week online course. It provides an opportunity to learn from MIT faculty and includes live mentorship, ideal for those seeking a short-term, intensive learning experience.

Post Graduate Diploma in Artificial Intelligence by IIIT Delhi A 12-month online program offered by IIIT-Delhi, ranked as the #4 university in India. This program includes dedicated career support designed for career-oriented professionals.

No Code AI and Machine Learning: Building Data Science Solutions by MIT  This 12-week online course focuses on building data science solutions without needing extensive coding and is taught by MIT faculty. It is designed for learners to understand AI and ML applications without deep programming knowledge.

MS Artificial Intelligence and Machine Learning by Walsh College A 2-year hybrid program that does not require GRE/TOEFL/GMAT for admission. It offers up to 3 years of STEM OPT VISA in the US, making it an ideal choice for graduates to work in the US post-graduation.

Best courses for Machine Learning

MS in Information Science: Machine Learning by University of Arizona This 2-year online/hybrid program offers significant savings (Save INR 55+ Lakhs) and up to 3 years of STEM OPT Visa in the US. It's a comprehensive choice for those aiming for an advanced degree in AI and ML.

PG Program in Machine Learning by Great Lakes Executive Learning This 7-month online program offers personalized mentorship and support and is taught by award-winning faculties. It's suitable for those looking to specialize in machine learning.

Learn AI and ML for free

Learning AI and ML is accessible through the Great Learning Academy. The platform offers a range of free courses in AI and ML. These courses cover various topics, from basic introductions to more advanced concepts. Websites like GitHub and Kaggle also provide practical resources and datasets for hands-on learning. In collaboration with world-class universities, Great Learning offers specialized post-graduate programs for those seeking structured learning paths and learning from comprehensive online and hybrid AI courses.

Career in Artificial Intelligence

Starting a career in AI requires a foundational understanding of computer science, mathematics, and statistics. Beginners should focus on building these foundational skills through academic courses or online learning platforms offering AI and ML courses. Gaining practical experience through projects, internships, or contributing to open-source projects is crucial. Networking with professionals in the field, attending workshops and conferences, and staying updated with the latest AI trends and research can also provide valuable insights and opportunities in this rapidly evolving field.

Who can learn AI and Machine Learning?

AI and machine learning are fields open to anyone interested in technology, problem-solving, and innovation. While a background in computer science, mathematics, or a related field can be beneficial, it is not a strict requirement. Many online courses and programs are curated to cater to beginners without prior experience. These courses often start with the basics before gradually moving to more complex topics. The key is a willingness to learn and a commitment to continually update skills in these dynamic and evolving fields.

Which is better in India, AI or AIML?

In India, AI (Artificial Intelligence) and AIML (Artificial Intelligence and Machine Learning) offer promising career prospects, but their choice depends on individual career goals. AI is a broader field encompassing various technologies, including ML, and offers diverse career paths. In contrast, ML is a specialized area within AI focused on algorithms and data. Professionals interested in research, development, and application of intelligent systems prefer AI, while those inclined towards data-driven technologies and analytics find ML more suitable.

AI ML and Data Science

AI and ML are integral components of data science. Data science is a broader field that involves extracting insights and knowledge from data, encompassing various techniques from statistics, data analysis, and informatics. AI and ML contribute to data science by providing the methodologies and tools to automate the analysis, interpretation, and decision-making processes based on data. They enable data scientists to create predictive models and algorithms to learn from and make data-based decisions.

The Purpose and Applications of AI and ML

The primary goal of AI is to augment human capabilities and automate tasks. This encompasses enhancing productivity, accuracy, and taking on complex or hazardous tasks. Similarly, machine learning leverages pattern recognition and data analysis to adapt and make informed decisions, finding applications in areas like image and speech recognition, medical diagnosis, financial trading, and language translation. Both AI and ML are pivotal in driving efficiency and innovation across various sectors.

Big Data and Artificial Intelligence 

Big Data and Artificial Intelligence are closely interlinked. Big Data refers to the vast volumes of data generated daily, which is too complex and large to be processed by traditional data-processing software. AI, particularly ML, plays a crucial role in analyzing and extracting valuable insights from this data. AI algorithms can process, analyze, and interpret large datasets to identify patterns, trends, and correlations that would be difficult for humans to discern manually. This synergy between Big Data and AI is fundamental in market analysis, healthcare, finance, etc.

AI Solutions

AI has the potential to solve a wide array of complex problems across various domains. In medicine and healthcare, AI can assist in diagnosing diseases, predicting patient outcomes, and personalizing treatment plans. In finance, it can enhance fraud detection, automate trading, and improve risk management. AI is also transforming industries like retail with personalized shopping experiences and transportation with the development of autonomous vehicles. AI addresses social challenges, such as climate change and resource management, by optimizing energy usage and predicting environmental changes.

Can AI match the human brain?

Despite significant advancements, AI has yet to reach the complexity and versatility of the human brain. The human brain is capable of general intelligence, consciousness, and emotional understanding, aspects that AI currently cannot replicate. AI excels in specific, well-defined tasks and can process huge data sets at incredible speeds, but it lacks the human brain's general problem-solving capabilities and adaptability. Developing AI that can match human cognitive abilities remains a long-term goal in the field.

Data Science and Machine Learning careers

Data science and machine learning are exponentially evolving technologies and continue to be highly promising career paths. The demand for skilled data science and machine learning professionals is growing as more industries recognize the value of data-driven decision-making and automation. Data science and ML offer diverse career opportunities, from developing sophisticated algorithms and predictive models to extracting and interpreting complex data insights. As businesses and organizations increasingly rely on data to drive operations and strategies, expertise in these areas will remain highly sought after.

Over 3300+ Hiring Companies

Participate in regularly organised career accelerated programs and placement drives Great Learning offers. Secure employment with leading companies across various industries.

tech mahindra

Things You Want To Know About Artificial Intelligence Courses

Neural networks & ensemble techniques, cv & nlp courses, foundations of ai & ml courses, time series forecasting courses, ensemble techniques courses, computer vision courses, clustering courses, convolutional neural networks courses, decision trees courses, reinforcement learning courses, chatgpt courses, ai for business courses, transfer learning courses, advanced machine learning courses, artificial intelligence course eligibility, artificial intelligence course fees, artificial intelligence course syllabus, artificial intelligence course with placement, artificial intelligence certificate course, our faculty.

Our top faculty in Artificial Intelligence will deliver you a top-notch learning experience.

Abbas Raftari

Abbas Raftari

Adjunct Instructor

Kurt Godden

Kurt Godden

Senior Analytics Scientist - Ford Motor

Dr. Abhinanda  Sarkar

Dr. Abhinanda Sarkar

Faculty Director, Great Learning

Javed Katibai

Javed Katibai

Chassis System Architect - General Motors

Javad Katibai

Javad Katibai

problem solving course for programming

Dr. Kumar Muthuraman

PHD (Stanford University)

Faculty Director, Centre for Research and Analytics

McCombs School of Business, University of Texas at Austin

Munther Dahleh

Program Faculty Director, MIT Institute for Data, Systems, and Society (IDSS)

Anubha Gupta

Anubha Gupta

Professor (ECE) PhD, IIT Delhi

problem solving course for programming

Dr.Steven Bethard

Associate Professor, School of Information

Connor Hagen

Connor Hagen

Lead Architect, Microsoft Azure OpenAI & AI Co-Innovation Labs

problem solving course for programming

Dr. Dave Schippers

VP and Academic Dean

problem solving course for programming

Michael Rinkus

DBA, Lawrence Technological University

Drew Smith

PhD, Pacifica Graduate Institute

problem solving course for programming

Dr. Pavankumar Gurazada

Faculty - Business and AI, Great Learning

James Gerrity

James Gerrity

PhD, Adjunct Associate Professor

problem solving course for programming

Ph.D. from Stanford University

comp-logo

John N. Tsitsiklis

Clarence J. Lebel Professor, Dept. of Electrical Engineering & Computer Science (EECS) at MIT

Jainendra Shukla

Jainendra Shukla

Assistant Professor (CSE, HCD) PhD, URV Spain

Stefanie Jegelka

Stefanie Jegelka

X-Consortium Career Development Associate Professor, EECS and IDSS, MIT

Dr. Christian Roman-Palacios

Dr. Christian Roman-Palacios

Assistant Professor of Practice, School of Information

Dr. P K Viswanathan

Dr. P K Viswanathan

MBA (FMS, Delhi)

Professor, Analytics & Operations

Great Lakes Institute of Management

Thomas Petz

CIO/COO, Assistant Professor of IT

problem solving course for programming

Vinicio DeSola

Senior Data Scientist, Aspen Capital

Aspen Capital

AI Research Scholar,Université de Montréal

Université de Montréal

Christopher Heiden

Program Lead at IT, Associate Professor of Business Information Technology

problem solving course for programming

Prof. Mukesh Rao

PGDBA (SIMS)

Director- Data Science

Great Learning

Akshit Raja

Head of Data Science & AI, Appyhigh

Appyhigh

Ankur Moitra

Rockwell International Career Development Associate Professor, Mathematics and IDSS, MIT

Ranjitha Prasad

Ranjitha Prasad

Assistant Professor (ECE) PhD, IISc Bangalore

Devavrat Shah

Devavrat Shah

Professor, EECS and IDSS, MIT

Dr. Hong Cui

Dr. Hong Cui

Professor, School of Information

Dr. Sutharshan Rajasegarar

Dr. Sutharshan Rajasegarar

Senior Lecturer in Computer Science Course Director Master of Data Science

problem solving course for programming

Davood Wadi

Artificial Intelligence Researcher, HEC Montréal

problem solving course for programming

Ph.D. from Stanford University, Ex-Faculty - MIT

Mr. Gurumoorthy  Pattabiraman

Mr. Gurumoorthy Pattabiraman

MSc (Madras School of Economics)

Faculty, Data Science & ML, Great Learning

comp-logo

Dr. D Narayana

PHD (Pierre & Marie Curie University, Paris)

Professor, Artificial Intelligence and Machine Learning, Great Learning

PhD (Pierre & Marie Curie University, Paris)

Mr. Mahesh Anand S

Founder & Chief Consultant, Scientific Computing Solutions

SCS

Mr. Sudarshan Deshmukh

Founder and CEO, deepintution.ai

Dr. Sunil Kumar

Dr. Sunil Kumar

PhD (Bhartiar University)

GM - Engineering Innovation

Fred  Premji

Fred Premji

Principal AI/ML Engineer, OPTMAL

problem solving course for programming

Dr. P. K. Viswanathan

Mr. Sayan Dey

Mr. Sayan Dey

Independent Consultant, AI and Deep Learning

Rajeev Kumar

Rajeev Kumar

Ex-DPE, Cognitive Automation, IBM

Great Lakes

Sridhar Srinivas

Director - Corporate Relations & Growth

CodeQuotient

Caroline Uhler

Henry L. & Grace Doherty Associate Professor, EECS and IDSS, MIT

Saket Anand

Saket Anand

Associate Professor (CSE, ECE) PhD, Rutgers University, USA

Dr. Bryan Heidorn

Dr. Bryan Heidorn

Professor, School of Information Director, Center for Digital Society and Data Studies.

Hassan  Saidinejad

Hassan Saidinejad

Data Scientist, Intact

problem solving course for programming

Mr. R Vivekanand

MBA (Monash University)

Operations Director

Wilson Consulting Private Limited

Prof. Dipayan Sarkar

Master in Economics (Karnatka University)

Consultant, Author, Visiting Faculty

great lakes logo

Prof. Raghavshyam Ramamurthy

MBA (Whitman School of Management)

Industry Expert in Visualization

comp-logo

David Gamarnik

Nanyang Technological University Professor of Operations Research, Sloan School of Management and IDSS, MIT

Syamantak Das

Syamantak Das

Assistant Professor (CSE) PhD, IIT Delhi

Dr. Meaghan Wetherell

Dr. Meaghan Wetherell

Prof. Dan Mitchell

Prof. Dan Mitchell

Phd (University of Maryland)

Clinical Assistant Professor

 The University of Texas at Austin

V. Raghava Mutharaju

Assistant Professor (CSE) PhD, Wright State University, USA

Dr. Peter Jansen

Dr. Peter Jansen

Assistant Professor, School of Information

Dr. Bappaditya Mukhopadhyay

Dr. Bappaditya Mukhopadhyay

Ph.D (Indian Statistical Institute)

Co-Director, Gurgaon, Professor - Analytics & Statistics, Great Lakes Institute of Management

problem solving course for programming

Guy Bresler

Associate Professor, EECS and IDSS, MIT

Vikram Goyal

Vikram Goyal

Head, Professor (CSE) PhD, IIT Delhi

Dr. Ye Zhu

Senior Lecturer, Computer Science

problem solving course for programming

Jonathan Kelner

Professor, Mathematics, MIT

Md. Shad Akhtar

Md. Shad Akhtar

Assistant Professor (CSE) PhD, IIT Patna

Kalyan Veeramachaneni

Kalyan Veeramachaneni

Principal Research Scientist at the Laboratory for Information and Decision Systems, MIT.

Dr. Bahareh Nakisa

Dr. Bahareh Nakisa

Senior Lecturer, Applied Artificial Intelligence

problem solving course for programming

Philippe Rigollet

Professor, Mathematics and IDSS, MIT

Dr. Amit Sethi

Dr. Amit Sethi

PHD (University of Illinois at Urbana-Champaign)

Faculty, IIT Bombay

B.Tech (IIT Delhi), M.S and PH.D (University of Illinois at Urbana-Champaign)

Dr. Asef Nazari

Senior Lecturer in Mathematics for Artificial Intelligence

problem solving course for programming

Tamara Broderick

Associate Professor, EECS and IDSS, MIT.

Victor Chernozhukov

Victor Chernozhukov

Professor, Economics and IDSS, MIT

Gang Li

Professor,School of Info Technology

problem solving course for programming

Dr. Srabashi Basu

Professor, PhD Statistics

Penn State University

Dr. Marek Gagolewski

problem solving course for programming

Maia Angelova Turkedjieva

Professor, Real-World Analytics

problem solving course for programming

Dr. Dan Mitchell

Assistant Professor, McCombs School of Business

PhD from UT Austin

Our Industry Mentors

Learn from our skilled industry practitioners from the most reputable organizations.

Mr. Bradford Tuckfield

Mr. Bradford Tuckfield

Kmbara

Mr. Survesh Chauhan

comp-logo

Vaibhav Verdhan

AstraZeneca

Mr. Krishnav Dave

Senior Data Scientist

Mr. Suvajit Mukhopadhyay

Mr. Suvajit Mukhopadhyay

Deputy VP - IT Strategy and Enterprise Architecture

Bandhan Bank

Mr. Amit Jain

Mr. Amit Jain

Technical Architect

Ms. Mayan Murray

Ms. Mayan Murray

IBM

Mr. Rohit Raj

comp-logo

Mr. Akshay Kulkarni

Publicis Sapient

Mr. Rajneesh Tiwari

Mr. Rajneesh Tiwari

Mr. Sahil Matoo

Mr. Sahil Matoo

DXC Technologies

Mr. Vineet Berlia

Mr. Vineet Berlia

Data Scientist and Automation Lead - Applied Data Science Center

Mr. Pradeep Prajapati

Mr. Pradeep Prajapati

Technical Specialist

ThyssenKrupp Industries India

Mr. Ashish Vyas

Mr. Ashish Vyas

Program Manager

Capgemini Technologies

Mr. Sumit Kumar

Mr. Sumit Kumar

Senior Data Analyst

Wolter Kluwer - Financial Services Solutions

Mr. Sanjoy Gosh

Mr. Sanjoy Gosh

Business Analyst Project Management

Mr. Soharab Hussain Shaikh

Mr. Soharab Hussain Shaikh

Assistant Professor - Department of Computer Science and Engineering

BML Munjal University

Mr. Arun K

Mr. Vibhor Kaushik

Amazon

Mr. Amit Agarwal

Oracle

Mr. Akshay Kumar

comp-logo

Mr. Kemal Yilmaz

Walmart Connect

Mr. Shelton Maharesh Sundersingh

comp-logo

Mr. Abdul Manaf C B

comp-logo

Ms. Xiaojun Su

Unilever

Mr. Juan Castillo

SEPHORA

Mr. Nitin Khandelwal

comp-logo

Mr. Sai Vignan Malyala

comp-logo

Mr. Andrew Marlatt

Shopify

Dr. Sandeep Raghuwanshi

comp-logo

Mr. Rohit Dixit

Siemens Healthineers

Mr. Naga Pavan Kumar Kalepu

comp-logo

Mr. Srikanth Pyaraka

Verizon

Mr. Angel Das

IQVIA Asia Pacific

Mrs. Supriya Seetharam

comp-logo

Mr. Murali Balasubramanian

comp-logo

Mr. Shirish Gupta

Novartis

Mr. Dipanshu Haldar

comp-logo

Mr. Vanessa Afolabi

Loblaw Companies Limited

Mr. Thinesh Pathmanathan

TD

Mr. Grivine Ochieng

Xetova

Successful Projects by Our Learners

Our enthusiastic learners have completed these ambitious projects, showcasing their newly acquired skills. You can go through these projects to take inspiration for your goals.

Classifying silhouettes of vehicles

Analyze health information to make decisions for insurance business.

EDA, Visualization, BFSI

Identifying potential customers to target for a marketing campaign

Cement manufacturing

Predicting the Strength of high-performance concrete

Identifying potential customers for loans.

Classification, Healthcare

Diagnosing Parkinson's disease using Classification algorithm

Web scraping, Sentiment analysis, NLP, E-commerce

Build a sentiment analysis model for a E-commerce product

Product recommendation system, diagnosing parkinson's disease using random forests.

Applications of AI, POC, & Market analysis

Ideating steps involved in conceptualizing an AI product

Object recognition

Detecting digits on vehicle number plates

Object detection

Face mask segmentation

Computer Vision

Face Recognition

Entertainment

Sentiment Analysis using LSTM

Sarcasm detection, testimonials from learners.

Check out the words of our learners as they share their experience of completing AI course offered by Great Learning.

user image

Deepa Chandrasekaran

Post Graduate Program in Artificial Intelligence and Machine Learning

user image

Tauhid Abddul Jalil

PGP - Artificial Intelligence for Leaders

user image

Afshan Parkar

user image

Dimitris Zografos

user image

Everth Hernandez

user image

Frank Mokgoloboto

user image

Stephanie Nicole Baker

user image

Shadab Syed

user image

Usha Boddapu

Webinar on artificial intelligence.

We provide webinars on AI and ML topics to help you better understand them. Join our webinars and interact with leading experts in Artificial Intelligence to gain insights into the field.

[Live Workshop] Using deep learning for e-Commerce product catalog management

15 november 2022 | 10:30pm ist, bhaskarjit samah sarmah.

Data Scientist, Black Rock

VIEW RECORDING

Learner reviews for artificial intelligence courses.

Program : Post Graduate Program in Artificial Intelligence and Machine Learning

Program : MS in Information Science: Machine Learning

Program : Data Science and Machine Learning: Making Data-Driven Decisions

Find Your Program To Upskill

Data science courses, software development courses, management courses, cloud computing courses, design courses, cyber security courses, digital marketing courses, post graduation courses, professional certificate courses, study abroad programs, study in usa, study in germany, artificial intelligence blogs.

Enhance your Artificial Intelligence knowledge through our informative blogs. These blogs will help you understand the domain comprehensively and become a successful AIML professional.

Basics of building an Artificial Intelligence Chatbot - 2024

Learn More >

Top 6 Artificial Intelligence Documentaries

Top 20 Artificial Intelligence Books 2024

Prerequisites for Machine Learning

Deep Learning vs Machine Learning

Deep Learning Applications

Free Artificial Intelligence Courses

Learn the most in-demand tools, technologies, and skills for free with Great Learning Academy. We provide this platform for you to start learning AIML from scratch for free and give a push to your career goals.

course level

OpenAI ChatGPT Predictions: Integrations, Competitors, and Impacts

course level

Multilayer Perceptron

Convolutional Neural Networks

Robotics and AI

NLP Language Detection

Computer Vision Essentials

Natural Language Processing Projects

Machine Translation

Image Processing Projects

ChatGPT for NLP

Learn about a career in Artificial Intelligence with our program advisor

Comprehensive Programs to Advance Careers in AIML Artificial Intelligence (AI) and Machine Learning (ML) are rapidly evolving landscapes of technology and have emerged as pivotal forces driving innovation across industries. Integrating AI into business processes is a trend and a strategic imperative for organizations aiming to maintain competitive advantage and foster innovation. Recognizing this shift, Great Learning, in collaboration with prestigious educational institutions and renowned universities such as the University of Arizona, IIIT-Delhi, Walsh, MIT Professional Education, and the University of Texas at Austin, has developed comprehensive Artificial Intelligence courses curated to equip professionals with the skills to simplify and navigate the complexities of AI and ML and leverage these technologies for business success.

Transformative Education in AI and ML The suite of courses offered, including the MS in Artificial Intelligence and Machine Learning, No Code AI, Post Graduate Diploma in Artificial Intelligence, MS in Machine Learning, Generative AI for Business, and the PG Program in AI for Leaders from the UT Austin, IIIT-Delhi, MIT Professional Education, Walsh, Microsoft and the University of Texas at Austin, underscores the multifaceted approach to AI education. From data science basics to neural networks and Generative AI, the curriculum is designed for professionals, from those with technical backgrounds seeking to deepen their expertise in AI and ML technologies to business leaders and non-tech professionals aiming to harness AI's power for strategic decision-making. With online lectures, hands-on projects, and industry expert sessions, these programs equip learners with the skills to apply AI and ML in solving real-world business problems, bridging the industry's skills gap.

Bridging the Skills Gap The demand for skilled AI professionals outstrips the current supply, creating a significant skills gap in the industry. This gap is in technical roles and leadership positions where understanding AI's capabilities and limitations is crucial for driving business innovation. The online and hybrid Artificial Intelligence and Machine Learning courses aim to bridge this gap by combining theoretical knowledge, practical skills, and real-world applications. They are structured to provide flexibility through online formats, mentored learning sessions, and hands-on projects, making them accessible to working professionals without disrupting their careers.

Curriculum Highlights The curriculum across these online and hybrid courses is meticulously designed to teach the breadth and depth of AI and ML. From foundational concepts in data science and statistics to advanced topics in neural networks, deep learning, computer vision, and natural language processing, the programs offer a comprehensive learning experience. Importantly, they emphasize practical applications through case studies, projects, and capstone projects, ensuring learners can apply their knowledge to real-world business problems.

Industry-Relevant Learning A unique aspect of these Artificial Intelligence courses is the focus on industry relevance. The curriculum includes sessions with industry experts, providing insights into how AI and ML are applied across sectors. AIML projects are designed to simulate real-world scenarios, allowing learners to develop solutions to actual business challenges. This practical focus ensures that graduates are proficient in AI and ML technologies and understand how to apply these technologies to drive business value.

Empowering Leaders with AI Knowledge Recognizing the importance of leadership in driving AI initiatives, the PG Program in AI for Leaders is particularly designed for business leaders and professionals. This program focuses on developing an intuitive understanding of AI and ML, enabling leaders to make informed strategic decisions, manage technical teams effectively, and lead AI-driven transformation projects. Including modules on ChatGPT and Generative AI further ensures that the curriculum remains at the forefront of AI innovation.

Artificial Intelligence continues to reshape industries, and the need for AI-skilled professionals who can navigate the complexities of these technologies and leverage them for business success has never been greater. The collaborative AI courses offered by Great Learning, in partnership with leading universities, represent a significant step forward in meeting this need. By providing a comprehensive, flexible, and practical learning experience, these programs are equipping a new generation of professionals and leaders with the skills to lead in the age of AI.

Why Learn from Great Learning? Great Learning is a leader in professional education, offering cutting-edge AI and Machine Learning courses in collaboration with top global universities. It combines rigorous academic content with practical experience that is globally relevant, guided by industry experts and renowned academicians. This approach ensures learners gain theoretical knowledge and real-world skills, supported by a robust mentorship and career assistance network, making Great Learning the go-to platform for advancing careers through AIML courses.

Hey there! Welcome back.

You are already registered. please login instead., forgot your password no problem., forgot password.

Enter your registered email and we'll send you a link to change your password.

Build confidence. Get the job.

Explore careers and prepare for the job with hundreds of free job simulations designed by the world's top employers.

Walmart logo

Explore our free job simulations

Header for Investment Banking

Forage is the bridge between education and career success

Our job simulations build real-life skills for real-life roles, offering a window into the company and a preview of their day-to-day. Job sims are 100% free, open access and self-paced.

  • Register for Forage and tell us a little about yourself.
  • Enroll in a job sim and complete tasks that replicate real work.
  • Compare your work with model answers and earn a certificate.
  • Access curated resources and a chance to connect with recruiters.

2.6x more likely

to land a job after completing a job simulation

Over 300 job simulations and 125+ employers

across diverse industries and careers

4M+ students

have signed up to Forage

Student smiling

Employers who are going beyond the resume

Walmart

See Programs

lululemon

Too good to be true? Hear from real students.

Nana Kessie

"You can't have a say at the table if you don’t have a seat at the table. So these programs and these opportunities for people who look like me, act like me and think like me, are an opportunity to have a seat at the table so we can have a better future for the people behind us."

Nana Kessie

Landed a job at White & Case

Neissa Dorinsville

"I started a project at Forage and look at me now. If it wasn't for that one feeling to just apply… I wouldn't have all these experiences."

Neissa Dorinsville

Landed a job at JP Morgan Chase

Alvin Fan

"This program on Forage is like having binoculars - you aren’t experiencing the entire environment yet, but you get to peer across and see what it’s like - piecing together what you have read about."

Landed a job at Citi

Are you an employer interested in highly motivated candidates ready on Day One?

We want to build a world where candidates are considered equally on their merits..

We're here to ensure that your skills, grit, and drive are recognized and rewarded.

  • Editorial Guidelines
  • Privacy Notice
  • Cookie Notice
  • Cookie Settings
  • Terms of Use
  • All Job Simulations
  • Software Engineering Job Sims
  • Consulting Job Sims
  • Banking & Financial Services Job Sims
  • Law Job Sims
  • Data Job Sims
  • Security Job Sims
  • Student Blog
  • Employer Resources
  • Request a Demo
  • Educator Resources
  • Register as an Educator

What is AI (artificial intelligence)?

3D robotics hand

Humans and machines: a match made in productivity  heaven. Our species wouldn’t have gotten very far without our mechanized workhorses. From the wheel that revolutionized agriculture to the screw that held together increasingly complex construction projects to the robot-enabled assembly lines of today, machines have made life as we know it possible. And yet, despite their seemingly endless utility, humans have long feared machines—more specifically, the possibility that machines might someday acquire human intelligence  and strike out on their own.

Get to know and directly engage with senior McKinsey experts on AI

Sven Blumberg is a senior partner in McKinsey’s Düsseldorf office; Michael Chui is a partner at the McKinsey Global Institute and is based in the Bay Area office, where Lareina Yee is a senior partner; Kia Javanmardian is a senior partner in the Chicago office, where Alex Singla , the global leader of QuantumBlack, AI by McKinsey, is also a senior partner; Kate Smaje and Alex Sukharevsky are senior partners in the London office.

But we tend to view the possibility of sentient machines with fascination as well as fear. This curiosity has helped turn science fiction into actual science. Twentieth-century theoreticians, like computer scientist and mathematician Alan Turing, envisioned a future where machines could perform functions faster than humans. The work of Turing and others soon made this a reality. Personal calculators became widely available in the 1970s, and by 2016, the US census showed that 89 percent of American households had a computer. Machines— smart machines at that—are now just an ordinary part of our lives and culture.

Those smart machines are also getting faster and more complex. Some computers have now crossed the exascale threshold, meaning they can perform as many calculations in a single second as an individual could in 31,688,765,000 years . And beyond computation, which machines have long been faster at than we have, computers and other devices are now acquiring skills and perception that were once unique to humans and a few other species.

About QuantumBlack, AI by McKinsey

QuantumBlack, McKinsey’s AI arm, helps companies transform using the power of technology, technical expertise, and industry experts. With thousands of practitioners at QuantumBlack (data engineers, data scientists, product managers, designers, and software engineers) and McKinsey (industry and domain experts), we are working to solve the world’s most important AI challenges. QuantumBlack Labs is our center of technology development and client innovation, which has been driving cutting-edge advancements and developments in AI through locations across the globe.

AI is a machine’s ability to perform the cognitive functions we associate with human minds, such as perceiving, reasoning, learning, interacting with the environment, problem-solving, and even exercising creativity. You’ve probably interacted with AI even if you don’t realize it—voice assistants like Siri and Alexa are founded on AI technology, as are some customer service chatbots that pop up to help you navigate websites.

Applied AI —simply, artificial intelligence applied to real-world problems—has serious implications for the business world. By using artificial intelligence, companies have the potential to make business more efficient and profitable. But ultimately, the value of AI isn’t in the systems themselves. Rather, it’s in how companies use these systems to assist humans—and their ability to explain to shareholders and the public what these systems do—in a way that builds trust and confidence.

For more about AI, its history, its future, and how to apply it in business, read on.

Learn more about QuantumBlack, AI by McKinsey .

Circular, white maze filled with white semicircles.

Introducing McKinsey Explainers : Direct answers to complex questions

What is machine learning.

Machine learning is a form of artificial intelligence that can adapt to a wide range of inputs, including large sets of historical data, synthesized data, or human inputs. (Some machine learning algorithms are specialized in training themselves to detect patterns; this is called deep learning. See Exhibit 1.) These algorithms can detect patterns and learn how to make predictions and recommendations by processing data, rather than by receiving explicit programming instruction. Some algorithms can also adapt in response to new data and experiences to improve over time.

The volume and complexity of data that is now being generated, too vast for humans to process and apply efficiently, has increased the potential of machine learning, as well as the need for it. In the years since its widespread deployment, which began in the 1970s, machine learning has had an impact on a number of industries, including achievements in medical-imaging analysis  and high-resolution weather forecasting.

The volume and complexity of data that is now being generated, too vast for humans to process and apply efficiently, has increased the potential of machine learning, as well as the need for it.

What is deep learning?

Deep learning is a more advanced version of machine learning that is particularly adept at processing a wider range of data resources (text as well as unstructured data including images), requires even less human intervention, and can often produce more accurate results than traditional machine learning. Deep learning uses neural networks—based on the ways neurons interact in the human brain —to ingest data and process it through multiple neuron layers that recognize increasingly complex features of the data. For example, an early layer might recognize something as being in a specific shape; building on this knowledge, a later layer might be able to identify the shape as a stop sign. Similar to machine learning, deep learning uses iteration to self-correct and improve its prediction capabilities. For example, once it “learns” what a stop sign looks like, it can recognize a stop sign in a new image.

What is generative AI?

Case study: vistra and the martin lake power plant.

Vistra is a large power producer in the United States, operating plants in 12 states with a capacity to power nearly 20 million homes. Vistra has committed to achieving net-zero emissions by 2050. In support of this goal, as well as to improve overall efficiency, QuantumBlack, AI by McKinsey worked with Vistra to build and deploy an AI-powered heat rate optimizer (HRO) at one of its plants.

“Heat rate” is a measure of the thermal efficiency of the plant; in other words, it’s the amount of fuel required to produce each unit of electricity. To reach the optimal heat rate, plant operators continuously monitor and tune hundreds of variables, such as steam temperatures, pressures, oxygen levels, and fan speeds.

Vistra and a McKinsey team, including data scientists and machine learning engineers, built a multilayered neural network model. The model combed through two years’ worth of data at the plant and learned which combination of factors would attain the most efficient heat rate at any point in time. When the models were accurate to 99 percent or higher and run through a rigorous set of real-world tests, the team converted them into an AI-powered engine that generates recommendations every 30 minutes for operators to improve the plant’s heat rate efficiency. One seasoned operations manager at the company’s plant in Odessa, Texas, said, “There are things that took me 20 years to learn about these power plants. This model learned them in an afternoon.”

Overall, the AI-powered HRO helped Vistra achieve the following:

  • approximately 1.6 million metric tons of carbon abated annually
  • 67 power generators optimized
  • $60 million saved in about a year

Read more about the Vistra story here .

Generative AI (gen AI) is an AI model that generates content in response to a prompt. It’s clear that generative AI tools like ChatGPT and DALL-E (a tool for AI-generated art) have the potential to change how a range of jobs  are performed. Much is still unknown about gen AI’s potential, but there are some questions we can answer—like how gen AI models are built, what kinds of problems they are best suited to solve, and how they fit into the broader category of AI and machine learning.

For more on generative AI and how it stands to affect business and society, check out our Explainer “ What is generative AI? ”

What is the history of AI?

The term “artificial intelligence” was coined in 1956  by computer scientist John McCarthy for a workshop at Dartmouth. But he wasn’t the first to write about the concepts we now describe as AI. Alan Turing introduced the concept of the “ imitation game ” in a 1950 paper. That’s the test of a machine’s ability to exhibit intelligent behavior, now known as the “Turing test.” He believed researchers should focus on areas that don’t require too much sensing and action, things like games and language translation. Research communities dedicated to concepts like computer vision, natural language understanding, and neural networks are, in many cases, several decades old.

MIT physicist Rodney Brooks shared details on the four previous stages of AI:

Symbolic AI (1956). Symbolic AI is also known as classical AI, or even GOFAI (good old-fashioned AI). The key concept here is the use of symbols and logical reasoning to solve problems. For example, we know a German shepherd is a dog , which is a mammal; all mammals are warm-blooded; therefore, a German shepherd should be warm-blooded.

The main problem with symbolic AI is that humans still need to manually encode their knowledge of the world into the symbolic AI system, rather than allowing it to observe and encode relationships on its own. As a result, symbolic AI systems struggle with situations involving real-world complexity. They also lack the ability to learn from large amounts of data.

Symbolic AI was the dominant paradigm of AI research until the late 1980s.

Neural networks (1954, 1969, 1986, 2012). Neural networks are the technology behind the recent explosive growth of gen AI. Loosely modeling the ways neurons interact in the human brain , neural networks ingest data and process it through multiple iterations that learn increasingly complex features of the data. The neural network can then make determinations about the data, learn whether a determination is correct, and use what it has learned to make determinations about new data. For example, once it “learns” what an object looks like, it can recognize the object in a new image.

Neural networks were first proposed in 1943 in an academic paper by neurophysiologist Warren McCulloch and logician Walter Pitts. Decades later, in 1969, two MIT researchers mathematically demonstrated that neural networks could perform only very basic tasks. In 1986, there was another reversal, when computer scientist and cognitive psychologist Geoffrey Hinton and colleagues solved the neural network problem presented by the MIT researchers. In the 1990s, computer scientist Yann LeCun made major advancements in neural networks’ use in computer vision, while Jürgen Schmidhuber advanced the application of recurrent neural networks as used in language processing.

In 2012, Hinton and two of his students highlighted the power of deep learning. They applied Hinton’s algorithm to neural networks with many more layers than was typical, sparking a new focus on deep neural networks. These have been the main AI approaches of recent years.

Traditional robotics (1968). During the first few decades of AI, researchers built robots to advance research. Some robots were mobile, moving around on wheels, while others were fixed, with articulated arms. Robots used the earliest attempts at computer vision to identify and navigate through their environments or to understand the geometry of objects and maneuver them. This could include moving around blocks of various shapes and colors. Most of these robots, just like the ones that have been used in factories for decades, rely on highly controlled environments with thoroughly scripted behaviors that they perform repeatedly. They have not contributed significantly to the advancement of AI itself.

But traditional robotics did have significant impact in one area, through a process called “simultaneous localization and mapping” (SLAM). SLAM algorithms helped contribute to self-driving cars and are used in consumer products like vacuum cleaning robots and quadcopter drones. Today, this work has evolved into behavior-based robotics, also referred to as haptic technology because it responds to human touch.

  • Behavior-based robotics (1985). In the real world, there aren’t always clear instructions for navigation, decision making, or problem-solving. Insects, researchers observed, navigate very well (and are evolutionarily very successful) with few neurons. Behavior-based robotics researchers took inspiration from this, looking for ways robots could solve problems with partial knowledge and conflicting instructions. These behavior-based robots are embedded with neural networks.

Learn more about  QuantumBlack, AI by McKinsey .

What is artificial general intelligence?

The term “artificial general intelligence” (AGI) was coined to describe AI systems that possess capabilities comparable to those of a human . In theory, AGI could someday replicate human-like cognitive abilities including reasoning, problem-solving, perception, learning, and language comprehension. But let’s not get ahead of ourselves: the key word here is “someday.” Most researchers and academics believe we are decades away from realizing AGI; some even predict we won’t see AGI this century, or ever. Rodney Brooks, an MIT roboticist and cofounder of iRobot, doesn’t believe AGI will arrive until the year 2300 .

The timing of AGI’s emergence may be uncertain. But when it does emerge—and it likely will—it’s going to be a very big deal, in every aspect of our lives. Executives should begin working to understand the path to machines achieving human-level intelligence now and making the transition to a more automated world.

For more on AGI, including the four previous attempts at AGI, read our Explainer .

What is narrow AI?

Narrow AI is the application of AI techniques to a specific and well-defined problem, such as chatbots like ChatGPT, algorithms that spot fraud in credit card transactions, and natural-language-processing engines that quickly process thousands of legal documents. Most current AI applications fall into the category of narrow AI. AGI is, by contrast, AI that’s intelligent enough to perform a broad range of tasks.

How is the use of AI expanding?

AI is a big story for all kinds of businesses, but some companies are clearly moving ahead of the pack . Our state of AI in 2022 survey showed that adoption of AI models has more than doubled since 2017—and investment has increased apace. What’s more, the specific areas in which companies see value from AI have evolved, from manufacturing and risk to the following:

  • marketing and sales
  • product and service development
  • strategy and corporate finance

One group of companies is pulling ahead of its competitors. Leaders of these organizations consistently make larger investments in AI, level up their practices to scale faster, and hire and upskill the best AI talent. More specifically, they link AI strategy to business outcomes and “ industrialize ” AI operations by designing modular data architecture that can quickly accommodate new applications.

What are the limitations of AI models? How can these potentially be overcome?

We have yet to see the longtail effect of gen AI models. This means there are some inherent risks involved in using them—both known and unknown.

The outputs gen AI models produce may often sound extremely convincing. This is by design. But sometimes the information they generate is just plain wrong. Worse, sometimes it’s biased (because it’s built on the gender, racial, and other biases of the internet and society more generally).

It can also be manipulated to enable unethical or criminal activity. Since gen AI models burst onto the scene, organizations have become aware of users trying to “jailbreak” the models—that means trying to get them to break their own rules and deliver biased, harmful, misleading, or even illegal content. Gen AI organizations are responding to this threat in two ways: for one thing, they’re collecting feedback from users on inappropriate content. They’re also combing through their databases, identifying prompts that led to inappropriate content, and training the model against these types of generations.

But awareness and even action don’t guarantee that harmful content won’t slip the dragnet. Organizations that rely on gen AI models should be aware of the reputational and legal risks involved in unintentionally publishing biased, offensive, or copyrighted content.

These risks can be mitigated, however, in a few ways. “Whenever you use a model,” says McKinsey partner Marie El Hoyek, “you need to be able to counter biases  and instruct it not to use inappropriate or flawed sources, or things you don’t trust.” How? For one thing, it’s crucial to carefully select the initial data used to train these models to avoid including toxic or biased content. Next, rather than employing an off-the-shelf gen AI model, organizations could consider using smaller, specialized models. Organizations with more resources could also customize a general model based on their own data to fit their needs and minimize biases.

It’s also important to keep a human in the loop (that is, to make sure a real human checks the output of a gen AI model before it is published or used) and avoid using gen AI models for critical decisions, such as those involving significant resources or human welfare.

It can’t be emphasized enough that this is a new field. The landscape of risks and opportunities is likely to continue to change rapidly in the coming years. As gen AI becomes increasingly incorporated into business, society, and our personal lives, we can also expect a new regulatory climate to take shape. As organizations experiment—and create value—with these tools, leaders will do well to keep a finger on the pulse of regulation and risk.

What is the AI Bill of Rights?

The Blueprint for an AI Bill of Rights, prepared by the US government in 2022, provides a framework for how government, technology companies, and citizens can collectively ensure more accountable AI. As AI has become more ubiquitous, concerns have surfaced  about a potential lack of transparency surrounding the functioning of gen AI systems, the data used to train them, issues of bias and fairness, potential intellectual property infringements, privacy violations, and more. The Blueprint comprises five principles that the White House says should “guide the design, use, and deployment of automated systems to protect [users] in the age of artificial intelligence.” They are as follows:

  • The right to safe and effective systems. Systems should undergo predeployment testing, risk identification and mitigation, and ongoing monitoring to demonstrate that they are adhering to their intended use.
  • Protections against discrimination by algorithms. Algorithmic discrimination is when automated systems contribute to unjustified different treatment of people based on their race, color, ethnicity, sex, religion, age, and more.
  • Protections against abusive data practices, via built-in safeguards. Users should also have agency over how their data is used.
  • The right to know that an automated system is being used, and a clear explanation of how and why it contributes to outcomes that affect the user.
  • The right to opt out, and access to a human who can quickly consider and fix problems.

At present, more than 60 countries or blocs have national strategies governing the responsible use of AI (Exhibit 2). These include Brazil, China, the European Union, Singapore, South Korea, and the United States. The approaches taken vary from guidelines-based approaches, such as the Blueprint for an AI Bill of Rights in the United States, to comprehensive AI regulations that align with existing data protection and cybersecurity regulations, such as the EU’s AI Act, due in 2024.

There are also collaborative efforts between countries to set out standards for AI use. The US–EU Trade and Technology Council is working toward greater alignment between Europe and the United States. The Global Partnership on Artificial Intelligence, formed in 2020, has 29 members including Brazil, Canada, Japan, the United States, and several European countries.

Even though AI regulations are still being developed, organizations should act now to avoid legal, reputational, organizational, and financial risks. In an environment of public concern, a misstep could be costly. Here are four no-regrets, preemptive actions organizations can implement today:

  • Transparency. Create an inventory of models, classifying them in accordance with regulation, and record all usage across the organization that is clear to those inside and outside the organization.
  • Governance. Implement a governance structure for AI and gen AI that ensures sufficient oversight, authority, and accountability both within the organization and with third parties and regulators.
  • Data management. Proper data management includes awareness of data sources, data classification, data quality and lineage, intellectual property, and privacy management.
  • Model management. Organizations should establish principles and guardrails for AI development and use them to ensure all AI models uphold fairness and bias controls.
  • Cybersecurity and technology management. Establish strong cybersecurity and technology to ensure a secure environment where unauthorized access or misuse is prevented.
  • Individual rights. Make users aware when they are interacting with an AI system, and provide clear instructions for use.

How can organizations scale up their AI efforts from ad hoc projects to full integration?

Most organizations are dipping a toe into the AI pool—not cannonballing. Slow progress toward widespread adoption is likely due to cultural and organizational barriers. But leaders who effectively break down these barriers will be best placed to capture the opportunities of the AI era. And—crucially—companies that can’t take full advantage of AI are already being sidelined by those that can, in industries like auto manufacturing and financial services.

To scale up AI, organizations can make three major shifts :

  • Move from siloed work to interdisciplinary collaboration. AI projects shouldn’t be limited to discrete pockets of organizations. Rather, AI has the biggest impact when it’s employed by cross-functional teams with a mix of skills and perspectives, enabling AI to address broad business priorities.
  • Empower frontline data-based decision making . AI has the potential to enable faster, better decisions at all levels of an organization. But for this to work, people at all levels need to trust the algorithms’ suggestions and feel empowered to make decisions. (Equally, people should be able to override the algorithm or make suggestions for improvement when necessary.)
  • Adopt and bolster an agile mindset. The agile test-and-learn mindset will help reframe mistakes as sources of discovery, allaying the fear of failure and speeding up development.

Learn more about QuantumBlack, AI by McKinsey , and check out AI-related job opportunities if you’re interested in working at McKinsey.

Articles referenced:

  • “ As gen AI advances, regulators—and risk functions—rush to keep pace ,” December 21, 2023, Andreas Kremer, Angela Luget , Daniel Mikkelsen , Henning Soller , Malin Strandell-Jansson, and Sheila Zingg
  • “ What is generative AI? ,” January 19, 2023
  • “ Tech highlights from 2022—in eight charts ,” December 22, 2022
  • “ Generative AI is here: How tools like ChatGPT could change your business ,” December 20, 2022, Michael Chui , Roger Roberts , and Lareina Yee  
  • “ The state of AI in 2022—and a half decade in review ,” December 6, 2022, Michael Chui , Bryce Hall , Helen Mayhew , Alex Singla , and Alex Sukharevsky  
  • “ Why businesses need explainable AI—and how to deliver it ,” September 29, 2022, Liz Grennan , Andreas Kremer, Alex Singla , and Peter Zipparo
  • “ Why digital trust truly matters ,” September 12, 2022, Jim Boehm , Liz Grennan , Alex Singla , and Kate Smaje
  • “ McKinsey Technology Trends Outlook 2023 ,” July 20, 2023, Michael Chui , Mena Issler, Roger Roberts , and Lareina Yee  
  • “ An AI power play: Fueling the next wave of innovation in the energy sector ,” May 12, 2022, Barry Boswell, Sean Buckley, Ben Elliott, Matias Melero , and Micah Smith  
  • “ Scaling AI like a tech native: The CEO’s role ,” October 13, 2021, Jacomo Corbo, David Harvey, Nicolas Hohn, Kia Javanmardian , and Nayur Khan
  • “ What the draft European Union AI regulations mean for business ,” August 10, 2021, Misha Benjamin, Kevin Buehler , Rachel Dooley, and Peter Zipparo
  • “ Winning with AI is a state of mind ,” April 30, 2021, Thomas Meakin , Jeremy Palmer, Valentina Sartori , and Jamie Vickers
  • “ Breaking through data-architecture gridlock to scale AI ,” January 26, 2021, Sven Blumberg , Jorge Machado , Henning Soller , and Asin Tavakoli  
  • “ An executive’s guide to AI ,” November 17, 2020, Michael Chui , Brian McCarthy, and Vishnu Kamalnath
  • “ Executive’s guide to developing AI at scale ,” October 28, 2020, Nayur Khan , Brian McCarthy, and Adi Pradhan
  • “ An executive primer on artificial general intelligence ,” April 29, 2020, Federico Berruti , Pieter Nel, and Rob Whiteman
  • “ The analytics academy: Bridging the gap between human and artificial intelligence ,” McKinsey Quarterly , September 25, 2019, Solly Brown, Darshit Gandhi, Louise Herring , and Ankur Puri  

This article was updated in April 2024; it was originally published in April 2023.

3D robotics hand

Want to know more about AI?

Related articles.

Abstract light explosion render. Beams of light shooting free from center of mass. - stock photo

Ten unsung digital and AI ideas shaping business

Complex Digital Structure Growing Endlessly - Intricate Connection Lines Symbolizing Innovative Artificial Intelligence Or Big Data Models

Driving innovation with generative AI

Video of colorful hexagons overlapping with shifting light.

As gen AI advances, regulators—and risk functions—rush to keep pace

problem solving course for programming

  • Google Classroom
  • Google Workspace Admin
  • Google Cloud

Happy Teacher Appreciation Week ♥️ Visit our blog here.

Happy teacher appreciation week ♥️, learning never stops. explore free of charge technology training and resources for educators..

A close up of an educator with glasses leans over to review something on a student’s screen.

Start your journey with training courses

Learn basic and advanced skills across Google tools with free of charge online training courses designed for educators of all levels.

Google circle G logo inside an illustrated yellow ribbon.

Tips for Google products

Looking for help with a specific Google app? Use these tips, tricks, and lessons for educators.

An illustrated certificate with the circle G logo inside of it.

Certifications

Distinguish yourself as an educator and demonstrate mastery in Google tools with certifications.

An illustrated compass with the Google colors.

Professional development programs

Take your expertise to the next level with professional development programs from Google.

A male teacher in a checkered black and white shirt helping a student at their desk.

This training helped me feel comfortable using Google tools, which helps me to prepare and train my students.

Michael Fricano II , Technology Integration Specialist, AIEA, Hawaii

Get started using Google for Education tools with tips, tricks, lessons, and more

Classroom

Engage your students with free of charge lesson plans, curricula, and more

Three female educators smiling in front of their laptops.

Access mentorship and collaboration from certified Champions around the world

Explore free of charge classroom resources.

Discover a wealth of resources to support education in the classroom including courses, lesson plans, videos, and more.

Dive into the world of Google for Education

You're now viewing content for united states..

For content more relevant to your region, choose a different location:

IMAGES

  1. Problem Solving In Programming

    problem solving course for programming

  2. Programming of Problem Solving [RTU]

    problem solving course for programming

  3. Six Steps to Solving a Programming Problem Infographic

    problem solving course for programming

  4. 6 Ways to Improve Your Programming Problem Solving

    problem solving course for programming

  5. Programming & Problem Solving for SPPU 19 Course (FE

    problem solving course for programming

  6. O Level Made Simple Programming & Problem Solving Through 'PYTHON

    problem solving course for programming

VIDEO

  1. C++ & Problem Solving Course

  2. C++ & Problem Solving Course

  3. C++ & Problem Solving Course

  4. C++ & Problem Solving Course

  5. C++ & Problem Solving Course

  6. Problem solving Part 1 Course introduction

COMMENTS

  1. Computational Thinking for Problem Solving

    Computational thinking is a problem-solving process in which the last step is expressing the solution so that it can be executed on a computer. However, before we are able to write a program to implement an algorithm, we must understand what the computer is capable of doing -- in particular, how it executes instructions and how it uses data.

  2. Brilliant

    Guided interactive problem solving that's effective and fun. Master concepts in 15 minutes a day. Get Started. Math. 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. Trustpilot. ... Guided courses for every ...

  3. Introduction to Programming with Python

    Introduction to Programming with Python. A first course in computer programming using the Python programming language. This course covers basic programming concepts such as variables, data types, iteration, flow of control, input/output, and functions. 12 lessons. Diagnostics.

  4. Problem Solving with Programming

    Problem Solving with Programming. This path is all about solving problems with programming. It starts with Python and then teaches core algorithms and data structures. Back to all courses.

  5. CS50: Introduction to Computer Science

    An entry-level course taught by David J. Malan, CS50x teaches students how to think algorithmically and solve problems efficiently. Topics include abstraction, algorithms, data structures, encapsulation, resource management, security, software engineering, and web development. Languages include C, Python, SQL, and JavaScript plus CSS and HTML.

  6. Free Course: Programming Fundamentals from Duke University

    Introduction. This module introduces a powerful process for solving any programming problem—the Seven Steps. You will learn how to approach a programming problem methodically, so you can formulate an algorithm that is specific and correct. You will work through examples with sequences of numbers and graphical patterns to develop the skill of ...

  7. Programming Fundamentals Online Course Duke University

    This course will introduce you to a powerful problem-solving process—the Seven Steps—which you can use to solve any programming problem. In this course, you will learn how to develop an algorithm, then progress to reading code and understanding how programming concepts relate to algorithms. This course is for learners who have an interest ...

  8. Problem Solving

    The programming languages and tools they use are secondary to this fundamental skill. From his book, "Think Like a Programmer", V. Anton Spraul defines problem solving in programming as: Problem solving is writing an original program that performs a particular set of tasks and meets all stated constraints.

  9. How to think like a programmer

    Simplest means you know the answer (or are closer to that answer). After that, simplest means this sub-problem being solved doesn't depend on others being solved. Once you solved every sub-problem, connect the dots. Connecting all your "sub-solutions" will give you the solution to the original problem. Congratulations!

  10. Intermediate Programming with Python

    This course assumes that students have prior experience programming in Python. Specifically, students taking this course should be familiar with Python's built-in data types (including lists, tuples, and dictionaries), Python's conditional and flow-of-control structures (including if/elif/else, for, and while), and Python's input/output ...

  11. Programming and Problem Solving

    COMPSCI 94FS. Programming and problem solving in a specific domain such as designing and implementing games, robotics, virtual worlds, web programming, biology, genomics, or computer science. Students learn the basics of programming by studying problems in one application area.

  12. Lecture 3: Problem Solving

    MIT OpenCourseWare is a web based publication of virtually all MIT course content. OCW is open and available to the world and is a permanent MIT activity Lecture 3: Problem Solving | Introduction to Computer Science and Programming | Electrical Engineering and Computer Science | MIT OpenCourseWare

  13. Problem Solving Through Programming In C

    Learners enrolled: 29073. ABOUT THE COURSE : This course is aimed at enabling the students to. Formulate simple algorithms for arithmetic and logical problems. Translate the algorithms to programs (in C language) Test and execute the programs and correct syntax and logical errors. Implement conditional branching, iteration and recursion.

  14. How do I become a better problem solver/programmer in general?

    Write out pseudocode or a logical flowchart. This is an exercise I try to get all juniors I work with doing. I do it in my head as a matter of habit usually, but it helps. High level steps for what you want the program/algorithm to do. This will generate a to-do list you can act on. Pseudocode Examples. Reply.

  15. Top Problem Solving Courses Online

    Build and Expand your Creativity , become a Master Problem Solver and a Great Decision Maker with this 3 in 1 Course.Rating: 4.5 out of 53278 reviews5.5 total hours40 lecturesAll LevelsCurrent price: $74.99. Dr. Mathew Thomas. 4.5 (3,278) $74.99. Bestseller.

  16. How to Develop Problem Solving Skills in Programming

    The way to approach problems is the key to improving the skills. To find a solution, a positive mindset helps to solve problems quickly. If you think something is impossible, then it is hard to achieve. When you feel free and focus with a positive attitude, even complex problems will have a perfect solution.

  17. Enhancing problem‐solving skills of novice programmers in an

    The PAAM model focuses on different skills such as problem solving, program design, and problem statement requirements for novice programmers. A web-based application was developed to offer the model in the course. Figure 1 depicts the flow diagram of the PAAM-based application.

  18. Problems

    Our platform offers a range of essential problems for practice, as well as the latest questions being asked by top-tier companies. ... Interview. Store Study Plan. See all. Array 1653. String 700. Hash Table 599. Dynamic Programming 501. Math 499. Sorting 400. Greedy 362. Depth-First Search 287. Database 269. Binary Search 267. Tree 229 ...

  19. Design Thinking Course

    4 weeks, 6-8 hrs/week. Apply by July 8 $1,850 Certificate. Strengthen your capacity to create winning strategies and bring innovations to market by discovering customer jobs to be done and aligning your business's resources, processes, and profit formula. 6 weeks, 5 hrs/week.

  20. Online AI & Machine Learning Courses & Certificates 2024

    The MIT Data Science and Machine Learning Program is a 12-week online course. It provides an opportunity to learn from MIT faculty and includes live mentorship, ideal for those seeking a short-term, intensive learning experience. ... but it lacks the human brain's general problem-solving capabilities and adaptability. Developing AI that can ...

  21. Algebra 1

    The Algebra 1 course, often taught in the 9th grade, covers Linear equations, inequalities, functions, and graphs; Systems of equations and inequalities; Extension of the concept of a function; Exponential models; and Quadratic equations, functions, and graphs. Khan Academy's Algebra 1 course is built to deliver a comprehensive, illuminating, engaging, and Common Core aligned experience!

  22. Free Virtual Work Experience Programs from Top Companies

    Job sims are 100% free, open access and self-paced. Register for Forage and tell us a little about yourself. Enroll in a job sim and complete tasks that replicate real work. Compare your work with model answers and earn a certificate. Access curated resources and a chance to connect with recruiters. How Forage Works →.

  23. What is AI (artificial intelligence)?

    The term "artificial general intelligence" (AGI) was coined to describe AI systems that possess capabilities comparable to those of a human. In theory, AGI could someday replicate human-like cognitive abilities including reasoning, problem-solving, perception, learning, and language comprehension.

  24. Educator Resources & Technology Training

    Dive into the world of Google for Education. Go to Google for Education. Sign up for updates, insights, resources, and more. Discover numerous educator resources including technology training for teachers, courses, certifications and professional development for educators.