Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
Algorithmic Problem Solving
10 students

Algorithmic Problem Solving

Fundamentals of problem-solving in programming
Last updated 4/2024
English

What you'll learn

  • Understand algorithmic problem-solving approaches.
  • Develop skills in translating problem-solving strategies into code.
  • Gain proficiency in solving common programming challenges, including finding the maximum number in a list, reversing a string, identifying palindromes, and im
  • Learn techniques for enhancing code readability and addressing edge cases.
  • Apply problem-solving techniques to real-world coding scenarios.
  • Develop a solid foundation in problem-solving techniques applicable to various programming languages and domains.
  • Strengthen problem-solving skills for both beginners and experienced programmers.
  • Acquire practical experience in applying problem-solving strategies to diverse coding challenges.
  • Build confidence in tackling complex programming problems through structured problem-solving methodologies.
  • Develop a problem-solving toolkit that can be applied across different programming projects and domains.

Course content

1 section12 lectures4h 37m total length
  • Overview3:36
  • Approaching a Problem26:49

    Learn a four-step, algorithmic approach to problem solving: draw a picture, list what you know, determine what’s next, and change the problem to progress; illustrated with a paint example.

  • Find the Maximum: Planning26:16
  • Find the Maximum: Coding21:14
  • Reversing a String: Planning24:23
  • Reversing a String: Coding19:54
  • Detect Palindromes: Planning23:59
  • Detect Palindromes: Coding21:26
  • Creating a Title: Planning23:23
  • Creating a Title: Coding26:55

    Develop a Python title function that converts strings to title case by capitalizing each word, handling spaces and edge cases, and validating with tests.

  • Caesar Cipher: Planning33:19
  • Caesar Cipher: Coding26:02

Requirements

  • Basic understanding of programming concepts (e.g., variables, data types, control structures).
  • Familiarity with at least one programming language (e.g., Python, JavaScript, Java).
  • Eagerness to learn and apply problem-solving methodologies to programming challenges.
  • Willingness to engage in hands-on coding exercises and practice problem-solving techniques.

Description

When you first start programming, solving problems can be difficult. Since the entire impetus for learning programming is to solve a multitude of problems with a computer, the difficulties can lead to frustration. However, in this course, we are going to approach a problem with a method that can help alleviate those issues. Join us as we develop our problem-solving toolkit!

In this course, hosted by Justin and Vonne, we delve into the fundamentals of problem-solving in programming. Starting with algorithmic problem-solving approaches, we gradually progress to tackling specific coding challenges.

Episodes cover various problem-solving scenarios, such as finding the maximum number in a list, reversing a string, identifying palindromes, and implementing a Caesar Cipher. Through clear explanations and step-by-step demonstrations, Justin and Zach guide viewers through the process of conceptualizing solutions and translating them into code.

Moreover, Justin provides insights into enhancing code readability and addressing edge cases, ensuring robust and efficient solutions. By the end of the course, participants will have developed a solid foundation in problem-solving techniques and gained practical experience in applying them to real-world coding challenges. Whether you're a beginner or seeking to sharpen your problem-solving skills, this course equips you with valuable tools for success in programming.

Who this course is for:

  • Beginners who are new to programming and want to develop problem-solving skills.
  • Individuals looking to improve their problem-solving abilities in programming.
  • Programmers seeking to enhance their understanding of fundamental problem-solving concepts and techniques.