START 2025 RIGHT – LEARN DATA & AI SKILLS + GET 60% LIFETIME ACCESS
Project overview
In this project, you’ll take on the role of a software developer tasked with creating an algorithm to evaluate complex numerical expressions input as strings. The challenge is that the expressions are in infix notation (operators between operands), which computer processors cannot innately handle. Your job is to enable evaluating these expressions.
You’ll use data structures like stacks and concepts like postfix notation (operators after operands) to solve this. The Shunting-yard algorithm will be implemented to convert expressions from infix to postfix notation. Then you’ll evaluate the postfix expressions using stacks. All of this will be implemented in Python.
Completing this project will grow your skills in working with stacks, implementing complex algorithms, converting between infix and postfix notation, and evaluating expressions. You’ll gain valuable experience for software development roles and enhance your portfolio.
Objective: Implement an algorithm using stacks in Python to evaluate complex numerical expressions input as strings.
Key skill required
To complete this project, it's recommended to build these foundational skills in Python
- Implementing linked lists, queues, and stacks in Python
- Differentiating between FIFO and LIFO data structures
- Applying data structures to develop algorithmic solutions to computational problems
- Recognizing how computers parse and evaluate numerical expressions
Projects steps
Step 1: Introduction
Step 2: Infix and Postfix Notation
Step 3: Processing an Operator
Step 4: Evaluating Postfix Expressions
Step 5: Operator Precedence in Infix Notation
Step 6: From Infix to Postfix
Step 7: Handling Closing Parenthesis
Step 8: Handling Operators
Step 9: Handling Numbers
Step 10: Implementing the Shunting-yard Algorithm
Step 11: Evaluating Infix expressions
Step 12: Next Steps
Master skills faster with Dataquest
Go from zero to job-ready
Learn exactly what you need to achieve your goal. Don’t waste time on unrelated lessons.
Build your project portfolio
Build confidence with our in-depth projects, and show off your data skills.
Challenge yourself with exercises
Work with real data from day one with interactive lessons and hands-on exercises.
Showcase your path certification
Share the evidence of your hard work with your network and potential employers.
The Dataquest guarantee
Dataquest has helped thousands of people start new careers in data. If you put in the work and follow our path, you’ll master data skills and grow your career.
We believe so strongly in our paths that we offer a full satisfaction guarantee. If you complete a career path on Dataquest and aren’t satisfied with your outcome, we’ll give you a refund.
Recommended projects
Investigating Fandango Movie Ratings
Practice using R to analyze movie ratings data, compare 2015 vs 2016 ratings, and apply sampling and distributions to investigate bias.
Investigative Statistical Analysis – Analyzing Accuracy in Data Presentation
Practice statistical analysis in Python to investigate movie rating bias and determine if Fandango inflated ratings.
NYC Schools Perceptions
Practice data cleaning, analysis, and visualization in R to explore survey data and showcase your skills with R Notebooks.
Building Fast Queries on a CSV
Practice implementing an inventory system for a laptop store using Python classes, dictionaries, and binary search.
Garden Simulator Text Based Game
Practice using OOP, error handling, and randomness in Python to create an interactive gardening game simulator.
Predicting Heart Disease
Practice building a K Nearest Neighbors classifier in Python to predict heart disease risk from patient data.
Word Raider
Practice using Python variables, lists, loops, conditionals, and file handling to build an interactive word-guessing game.
Predicting Condominium Sale Prices
Practice using linear regression in R to predict condominium sale prices based on size and location in New York City.
Kaggle Data Science Survey
Practice analyzing survey data in Python to uncover insights about data science careers and skills.