Alla Bannikova

“Each step prepares you for the next one. The projects helped me to gain confidence and the community is very beneficial.”

Alla Bannikova

Data Analyst

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

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 your project portfolio

Build confidence with our in-depth projects, and show off your data skills.

Challenge yourself with exercises

Challenge yourself with exercises

Work with real data from day one with interactive lessons and hands-on exercises.

Showcase your path certification

Showcase your path certification

Share the evidence of your hard work with your network and potential employers.

The Dataquest guarantee

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.

Money

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

Free

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.

R Intermediate 8 steps
Free

Investigative Statistical Analysis – Analyzing Accuracy in Data Presentation

Practice statistical analysis in Python to investigate movie rating bias and determine if Fandango inflated ratings.

Python Intermediate 8 steps
Free

NYC Schools Perceptions

Practice data cleaning, analysis, and visualization in R to explore survey data and showcase your skills with R Notebooks.

R Beginner 3 steps
Free

Building Fast Queries on a CSV

Practice implementing an inventory system for a laptop store using Python classes, dictionaries, and binary search.

Python Intermediate 10 steps
Free

Garden Simulator Text Based Game

Practice using OOP, error handling, and randomness in Python to create an interactive gardening game simulator.

Python Beginner 11 steps
Free

Predicting Heart Disease

Practice building a K Nearest Neighbors classifier in Python to predict heart disease risk from patient data.

Python Intermediate 10 steps
Free

Word Raider

Practice using Python variables, lists, loops, conditionals, and file handling to build an interactive word-guessing game.

Python Beginner 11 steps
Free

Predicting Condominium Sale Prices

Practice using linear regression in R to predict condominium sale prices based on size and location in New York City.

R Intermediate 8 steps
Free

Kaggle Data Science Survey

Practice analyzing survey data in Python to uncover insights about data science careers and skills.

Python Beginner 8 steps

Grow your career with
Dataquest.

98%
of learners recommend
Dataquest for career advancement
4.85
Dataquest rating
SwitchUp Best Bootcamps
$30k
Average salary boost
for learners who complete a path
Aaron

Aaron Melton

Business Analyst at Aditi Consulting

“Dataquest starts at the most basic level, so a beginner can understand the concepts. I tried learning to code before, using Codecademy and Coursera. I struggled because I had no background in coding, and I was spending a lot of time Googling. Dataquest helped me actually learn.”

Jessi

Jessica Ko

Machine Learning Engineer at Twitter

“I liked the interactive environment on Dataquest. The material was clear and well organized. I spent more time practicing then watching videos and it made me want to keep learning.”

Victoria

Victoria E. Guzik

Associate Data Scientist at Callisto Media

“I really love learning on Dataquest. I looked into a couple of other options and I found that they were much too handhold-y and fill in the blank relative to Dataquest’s method. The projects on Dataquest were key to getting my job. I doubled my income!”

Join 1M+ data learners on
Dataquest.

1

Create a free account

2

Choose a learning path

3

Complete exercises and projects

4

Advance your career

Start learning today