Why does using AI feel like cheating?

"An exploration into the usefulness of AI tools"

In the world of computer science and information systems, problem-solving is an everyday occurrence. Bugs, broken code and not quite understanding what this block of code is supposed to do is a daily occurrence to most developers. We do not spend our life looking at working code; instead we are constantly tasked with fixing bugs and adding new functionality. We desire tough challenges most of the time, but we also want to understand how to actually fix the problem instead of being stumped by it. As a developer or a programmer, finding the correct sequence of code to solve a problem can often be tricky, but thanks to technology, the process of finding solutions has become easier and more efficient… here’s where AI tools come in.

In the past, developers and programmers had to rely on online resources such as Stack Overflow, GeeksforGeeks, and countless others to help them find the answers they needed. These resources have been a great help to developers over the years, myself included, but they can be time-consuming to navigate. It can take a while to find the exact solution to a problem, and often the solutions provided may not be specific enough to the developer's needs.

AI-powered search engines like Bing AI or ChatGPT are revolutionizing the way we in which find the right solution. It has become faster and more accurate at leading us to the correct answer--not the answer that is tied to likes or half-witted comments in a post on Stack Overflow. Developers can now receive viable solutions within the first few responses which takes less time, less stumbling through countless how-to articles, and allows for a more efficient, targeted way of getting help. Even non-developers are getting into the action. Professionals we work with are also using this asset to understand more about what is happening on the development side.

The ability to be more specific in queries has been a game-changer for developers. With AI-powered search engines, developers can now ask more detailed and specific questions, which provide more accurate solutions. They can also input their existing code and any error messages they might be receiving. The AI-powered search engine will then analyze the code, identify the error message, and provide a solution.

This level of specificity and accuracy has taken out tons of guesswork from the problem-solving process, allowing developers to complete coding tasks faster. We no longer have to spend hours scrolling through pages of code, trying to find the exact solution to a problem. Now, we can depend on AI-powered search engines to provide us with the solution we need in a matter of minutes.

The benefits of AI-powered search engines for developers don't end with problem-solving. They also help to improve the overall quality of code by identifying issues and suggesting improvements. This helps developers to avoid making common mistakes, ensuring that their code is more efficient and effective.

I recently used Bing AI to help me modify a method I had written several months ago. The method is used to remove records from the dataset that don’t contain any usable location information. It worked by identifying the rows in a pandas dataframe that contained null values in the latitude or longitude columns. It looked like this:

def drop_records_without_location(df): 
  lat_hasnans = df['latitude'].hasnans # checking for NaNs in latitude column
  long_hasnans = df['longitude'].hasnans # checking for NaNs in longitude column
  if lat_hasnans | long_hasnans: # if NaNs are present in latitude or longitude columns
    df = df.dropna(subset=['latitude', 'longitude']) # drop all records with NaNs
    records_with_location = len(df)
  else:
    print("No records found without lat/long info.")
  return df

The problem with this approach is that it only dropped rows that had null values in the lat/long columns. It didn’t drop rows with other unusable data such as integer zeros or string zeros. I was tasked with modifying the method to also drop rows with these values in the lat/long columns, as well as the rows with null values. The problem was that the pandas method df.hasnans can only identify null values, and the df.dropna can only drop null values. The way the method was originally written was not flexible enough to check for other value types.

Up until this point, I had only used AI platforms for help with python coding a couple times, and usually as a last resort. However, Bing AI was the first place I turned to for help with this problem and I’m so glad I did! Here’s what Bing AI helped me come up with:

def drop_records_without_location(df):, 
  df = df[(df['latitude'].notnull()) & (df['longitude'].notnull()) 
          & (df['latitude'] != 0) & (df['longitude'] != 0) 
          & (df['latitude'] != '0') & (df['longitude'] != '0')] 
  return df

AI-powered search engines and tools have revolutionized the way developers, myself included, solve problems. They provide a faster, more accurate, and more specific way of finding solutions, taking out tons of guesswork from the problem-solving process. With AI-powered tools, we can complete coding tasks faster, improve the quality of our code, and take our programming skills to a new level.


Posted by Rebecca Beitel| 19 Apr 2023 |About Us
  1. Rebecca Beitel is a GIS Systems Engineer with an MBA in Location Analytics. Her disciplined and quality-focused approach has helped her excel in building end-to-end solutions. She thrives on learning new concepts and technologies. When she's not exploring the latest advancements in the field, she can be found hiking, reading, or trying out new recipes in the kitchen.


Join our mailing list!
Did you find what you need?

For more information or a product demonstration, please feel free to reach out.
Contact us

Recent Posts