Using AI

What an AI thinks an AI is
What an AI thinks an AI is

AI is totes amaze-balls. I'm talking about generative AI, like Gemini and ChatGeppetto. There's other types, like AI for controlling NPCs in games (I write code to do that, too), but let's talk about the generatives.

When you decide how to use AI, make the best choice for you. What's the best choice? Well, what life do you want for yourself? For your family?

Let's talk about...

The future

AI is changing the work world, fast. We don't know what data analytics, IT security, and other brain-based jobs will look like in a few years.

We know things will be different. There will still be jobs. Hopefully. Though we don't know how many, or what skills they'll require.

If I was young and just starting out (I'm not, I'm old, I'll be dead soon, hopefully I'll die before finals and can skip the grading, my ghost will be really pissed if I die just after finishing the grading), what would I do? I'd hope I'd say to myself,

"Self, you don't know what's going to happen. If you learn skills, they might not be needed in the future. But if you don't learn skills, you're definitely screwed."

To be honest, I wasn't thoughtful when I was younger. I went along, made choices I regret. I hope I would listen to my now-old self, though.

OK, I probably wouldn't have, but maybe you're wiser now than I was then.

Learning

AI can help or harm your learning, depending on how you use it. Learning research says:

The one who does the thinking does the learning.

OK, sounds obvious. If you don't practice, you won't learn. If you get an AI to do your work, you won't learn.

Here's something you need to decide:

Do you want to have skills or just pretend you have skills?

If you pretend, you're just like millions of other people. Nothing to make you worth paying well.

Having good grades won't matter if you don't have the skills. In a world of easy cheating, getting good grades will be easy, and everyone will know it.

More on that later.

People will know

Don't think others won't figure out you didn't learn. They will, and they will judge you. Humans are automated judgement machines. You judge others, by how they speak, dress, what they can do, how nice they are. It works both ways.

For example, people in a later course, when you're on a group project. You got a good grade in Python, so you must know it, right? But when you sit down with Joe and Sarah to do something...

They'll know.

Will they want to work with you?

Trust you?

Will they keep your ignorance a secret?

Why would they?

If a friend of theirs asks about you, would they say Good Things? They owe their friend honesty. They owe you nothing, especially if you let them down.

How many Good Things might have happened if they'd thought well of you? How many job interviews, dates with good people? You will never know. There's no way you can know.

Future courses

This course helps you learn skills you'll need in other business analytics courses. They build on what you learn here.

If you don't learn in this course, you'll continue not learning. It'll be too hard. Your knowledge gap will be too great.

You'll get more and more desperate, chasing that A. What will you do? How far will you go?

Or you could actually learn how to do something.

Even if you don't end up doing exactly that thing in your job, it can help you with related things. For example, being a project manager is easier if you understand what the people you're managing are doing. They'll respect you more and listen to you.

Cheating is easy right now

AI makes cheating easy. You know it. I know it. Employers know it. Some have stopped doing online interviews with programming tests. They make you show up physically, and test you in a secure room.

OU will figure out ways to make AI cheating harder. Maybe. It's not clear.

But you're here right now. Right now, many people don't trust grades. Even if you didn't cheat, interviewers will suspect you of it.

"But I have to cheat! I'm working a full-time job and don't have time to study!"

I hear you. You're getting a raw deal. Tuition is high. AI is taking jobs.

It isn't fair.

You're right.

I had an easier time when I was younger. Computer skills were uncommon. Learn to code, and you could get a job.

Those days are gone.

Choose. Skill up now, or don't.

One thing about the future. It will happen. You will reap what you sow.

This course

This course takes about 120 - 150 hours over the semester. That's 8 hours per week, roughly.

It's also designed so an average person who has never programmed before can do well. If you do what I ask - read stuff, do exercises - the chances of your getting an A or B are high, like 80-90%.

How can I make that promise? First, the course applies results from learning research. We know how to build effective courses. It's not necessarily easy, but we know how. If you're interested, there's a list of some useful books on the subject.

Second, I've been using this format for years, for this and other courses. This is the third version of the lesson/exercise/feedback system. It's worked reliably for a decade. Hundreds of people like you have succeeded. You can too.

You're not alone. Remember, if you have trouble, I'm here to help. I mean it. I want you to succeed.

You can learn, and you can get a good grade. You can do both, but you have to do the work. It's up to you.

Using AI in this course

AI can still help. Don't let it do the work for you, but it can help when you get stuck.

Here are two ways.

Explanations

This textbook-like-thing explains stuff better than most textbooks, with simple language and many examples. Still, the explanations don't work all the time for everyone.

One way to use AI is to ask for explanations. As you read, you'll see suggestions for prompts you can copy-and-paste into your fave AI beast. You'll have to change the prompts sometimes, but they'll get you started.

Here's an example you can paste into your fave AI beast.


AI prompt

Please explain why this code doesn't check that age is less than 50.

  • age = float(input('How old are you? '))
  • if age >= 21:
  •     print('Welcome! Bring your money inside.')
  •     if age >= 50:
  •         print("There's prune juice in a quiet room in the back.")
  • else:
  •     print("Sorry, you're not allowed in yet.")

I use AIs to explain things to me, but only when I already know a topic well. E.g., I use the language C# frequently, but there are always wrinkles I don't understand, things I don't use every day. I'll ask an AI about them.

An AI's explanation can be meh, and that's often OK for me, since I can piece together what it's saying from what I already know. I have a lot of context in my head meat for C# explanations, and can deal with meh.

Another thing: I know enough to spot when an AI is wrong. For example, I use AI code completion in Rider, my C# IDE. Like Spyder, but for C#. The AI is wrong about a third of the time. Not a surprise; it doesn't always guess right about what I want a bit o' code to do.

That's not good for beginners, though. AIs will throw in terms you don't know, and comparisons that make no sense to you. AIs are not smart enough to craft explanations more simply, building on common human experience. For example, there's a tip calculator early in this course. You already know what tips are and how to work them out; we all do. It's a good place to start for simple explanations of calculating, since you can hook Python concepts to your existing task knowledge.

Another way to say it: when I write lessons, I have a mental model of typical students based on your existing knowledge base in our culture, your emotions (hence the pets and humor), and your cognitive limits. I shape explanations for that mental model of you.

BTW, if you come to me for help and I ask you questions, I'm probably trying to work out what your mental models of coding are, so I can fit my help to what you need. So, don't expect to remain quite. That's not an efficient use of help time.

AIs don't build mental models of learners. That limits the quality of their explanations.

Please remember this: if you don't understand an AI's explanation, don't assume it's your fault. AIs sometimes suck at explaining things because they can't know what it's like to be you, a regular human, and how your brain works.

Remember, I'm online a lot. That's why I'm there. The schedule is on Moodle.

BTW, if you work out useful AI prompts, please share them in the Moodle forum.

Debugging

Be very careful here.

You can paste code that isn't working into an AI beast and say "fix it." The problem is squishing bugs helps you learn, more than most other things. If you have an AI do it, you won't get the benefit.

Brains learn by accretion (jamming right and wrong beliefs into memory), but also by tuning and restructuring what is already in memory. The last two are where skill learning really happens.

For example, you're writing a looping program and it doesn't work as you expect, given how your brain interpreted what you read about loops. You have a misbelief. You use the Python debugger, and see how the loop actually works. You tune your knowledge of loops to be more accurate, correcting your misbelief. A learning win! Winner, winner, chicken dinner.

Another way to do it: you write the code, and it doesn't work as you expect. Instead of finding the problem yourself, you paste the code into ChatGeppetto and say "fix it." CG does. Done, code runs, submit the solution.

Since an AI is fixed your code, you won't notice your misbelief about loops. It will lurk there undiscovered. Until you write a loop in your next class or first data analyst job. Then your misbelief will jump out and make you cry or scream.

A suggestion. (This is just an educated guess on my part, but it might help.) If your code doesn't work, start a 30-minute timer. Try to work it out yourself. You'll fix most problems in that time. After that, you can ask an AI.

Really try. Don't just read the code through again. And again. Stare at it some more. Read it through again. And again.

Read code through once before you run it, yes, that will help you spot many errors, save you time. After that, go proactive. Do things that help you work out where the error is, like checking the values of variables as the program runs, comparing the values that are actually there with what you think they should be. That's debugging. You'll learn how to do that later in the course. Spyder makes it easy.

Be careful. Use AI whenever you get stuck, and you'll sabotage your own learning.

Remember, I'm online a lot. If you get stuck, or you don't understand something in the textbook, please ask.

When grades don't matter (as much)

So, employers will suspect you of cheating, even if you didn't. That's unfair. Agreed. Still happens, though.

What can you do? One option is to make a portfolio. Make a website, showcasing half-a-dozen cool things you've done. By cool, not just "I analyzed housing prices using..." No, things that are about you. Maybe, "I like fly fishing. I used temperature data from the DNR on creeks and rivers in SE Michigan to work out how to make the best of each weekend. Here are my analysis results..."

See the difference?

Another option is to get an internship or three. Not doing grunt work, but helping make decisions, or design something.

Maybe work on a political campaign, using a database to identify likely undecided voters, making schedules for volunteers.

Perhaps do environmental work, helping gather and analyze data on river levels.

Use social media data scraped from X or Discord to work out the most effective influencers in some cultural niche, like extreme running into brick walls.

Work out which is the best dog. No, that's my buddy Burt. Don't waste your time. We already know the best dog.

Burt
My friend Burt

Things have changed

AI beasts are changing brain work, like learning and programming. You can't treat learning like you did before, relying on other people to put in all the checks and balances.

You are more responsible for your learning than ever. I can help, but not if you undermine yourself.

You can cheat and get good grades. Easy. Get an AI to do with work for you. Paste in an exercise, and tell ChatGeppetto to write the code. Just like so many other people who don't learn how to do useful things.

Will that lead to the life you want?