 Hello, and welcome to CEC 411 Intro to Artificial Intelligence. My name is Dr. Adam Gawida. I'm an assistant teaching professor here at NC State University, and welcome to my course. So one of the things I'd like to at least do, especially in this first video, is introduce you to who I am because you're going to be seeing my bobbing head quite a lot. So it's kind of nice to know who I am a little bit. And then what to expect in this course, because obviously, again, this is for NC State University. So again, there's a grade attached to it and assignments attached to this. So kind of important to know what you're getting into. So again, if we're kind of looking at it, like I said, my name is Adam Gawida. So my research over the years has spanned a number of different sort of areas when we're looking at artificial intelligence. So if we kind of take a look at the top here, you know, this is me and my masters in the good old days when my hair, you know, the Bieber look was popular. Now it's whatever. But as you can sort of see, I've got a bunch of lines and there are little blue sort of dots sort of all over my face. And well, those dots are what we called landmark points. And the entire idea is if I had say 100 or 200 of those landmark points, I could draw out a mapping of the human face. And well, you know, again, I'm just one person, but we could build a statistical model off of sort of people sharing my demographic. So if we found a bunch of other 20 something white males, well, we could get them together and say, oh, well, you know, this is what the average Caucasian 20 year old male is going to look like. And we could do the same thing with, you know, African American males or Asian females, all these different kind of groups, but specifically in that idea of also different age ranges as well. Again, I was in my 20s in this picture. But if we did it, say, for example, with people in their 30s, 40s, 50s, 60s, 70s and 80s. As you can see, we can produce sort of average models of that face across now time. I could take, say, for example, my 20 something year old face and then say, well, based on how you look and based on your demographics, if we make some artificial intelligence, we can make estimations of what you're going to look like in your 80s. Now I look like Avatar either way, you know, is this true? Maybe I don't know. You know, I'm reaching my 40s now. So this is, you know, it's kind of right. Maybe I don't know. I've had a beard for a while. Either way, as you can see, sort of, you know, again, looking into artificial face aging for human trafficking or catching high value targets for the Department of Defense. After sort of my masters, I went into the startup life and I worked for a company known as E2 America. Unfortunately, the company as startup life happens, went under, but, you know, what we did was we focused on using statistical analysis to try and predict when quick service restaurant HVAC systems or fast food chain air conditioners for layman terms, based on how they perform and how quickly they can cool down a zone, well, can we look at that and then say, oh, you know, hey, your performance is declining because based on our model, you know, you're not cooling as fast as you used to and this might help before, you know, your system breaks and customers get mad and what refunds and things like that. But as you can clearly see, I'm here at NC State now. So my research actually now has focused in on sort of computer science education. I really like this world, especially since we have, again, a number of different practice exercises that we do in computer science to help learn this world. And as you can sort of see from sort of this wild and crazy graph here, one of the things I'm looking at is studying the relationship between all those different exercises. Because well, if you're struggling with, say, for example, the good old coding exercise, which we have seen students will struggle with them, typically through syntax errors and logic errors, whatever. Oh, well, you know, if you're struggling with that world, maybe one way to help teach it is to give you something like an outprediction, which has a little less problem solving aspects to there. You're still having to code trace, still having to work through the code, but you're not having to think up problems. Maybe this is something that will help kind of get you over that edge and then you're able to work on the coding problem. But what happens if you're still struggling there? Well, maybe what we can do is we can give you a typing exercise, something super low level. Here's a picture of code, retype it. Maybe that works. But one of the things that I'm looking at is again, how do these different activities relate to each other? And again, like I've said, a lot of times, you know, from what we've seen from students, you only pick one activity at a time. So can we say, for example, build a system that will build out a tailored training regimen for you, you know, do this activity, then this one, and then this, et cetera. That's sort of where my research kind of now is. But again, okay, my world of AI, you want to know about the course. Again, what is this course going to be about? So again, we're going to be focusing on Moodle. Again, this is a course at NC State. There's materials, there's assignments, there's all those lecture slides here, you know, all that will be hosted on Moodle. As you can clearly see from a bobbing head video on YouTube, I will be recording little 10 minute block videos about the topics we cover in class, uploading them to YouTube. But we also have sort of the lecture recordings. We're going to be working off a panopto for that, and again, you know, go access that. That is the actual lectures as they're happening in the classroom. There is going to be a live stream of that material as well. So make sure if you can't come to class for whatever reason, you know, you still have access to, again, the lectures. Finally, we're going to be working off of Piazza. There are two sections of this semester. And so you're both going to be running into the same problems. You know, you're going to be struggling when we get into like the A star algorithm. And so you may run into problems and I might be gone or not able to respond. There's other classmates who are also struggling. And so, you know, reach out, you know, use this as a Q&A forum that you can kind of have some insights on. We are going to have some office hours. We're going to do Monday, Wednesday from two to three via Zoom. There's a calendar to block out your appointments. Please use that. That's just going to help me, you know, make sure that enough people can work or have access to me at any given time. We are going to have an optional, optional textbook. So we're working off of the artificial intelligence, a modern approach textbook by Stuart Russell and Peter Norvig. Again, it's optional. If you do choose to purchase it, fourth edition is fine, third edition is fine, international edition is fine, finding something on the internet is fine. I didn't say that. The big thing is, again, we're not, you know, I'm not giving you assignments that are straight out of the textbook and, you know, go do this. But the algorithms haven't changed something like a neural network, right? That was invented in the 1960s. Edition isn't going to change how that algorithm was built, but it's still good to, you know, have these as a point of reference because, again, they are trying to help teach that stuff out. You know, pricing is its own little thing, find it on the internet. I didn't say anything. Moving on. So if we're looking at this again as a course, there is a grading breakdown. So, you know, at least to start from the bottom, obviously, there's going to be a final exam that's going to cover everything at the end of the semester, but we also have two midterms as well. So the first midterm will be in about four weeks. Again, it'll cover everything that we've talked about up to that point. Then we'll have another one about four weeks later, and then again, the final exam will be at the end of the semester, roughly four weeks later. So at least the important part and 50% of the grade kind of is coming down to these two activities. So if we think about what I said during my introduction, I'm really interested in lower level practice to help students learn computer science, and that's exactly what these lecture exercises are meant to do. The entire idea is these are going to be on Moodle and they're going to be just things that you can access. You can complete them literally as many times as you like. I don't care. The entire purpose of them is think of them like practice. You know, if you're into physical sports or maybe video games or music or something like that. Again, you don't just get better by doing something once. It's through the repetition that you start to build up that muscle memory and that becomes much more familiar to you. Same kind of things going on here. These lecture exercises are again meant to give you just a little bit of practice in those activities. And this is literally a sneak peek into your first lecture exercise. And the entire idea here is given a simple reflex agent. As you can see, you know, it's literally just a nested if statement. Given this logic, what does the agent do? Think through this because again, we're going to be working off of something known as time steps, which we'll talk about again. This helps frame your mind. Big thing here is pretty much once they're released, they are going to be due one week later unless otherwise noted before the first lecture. So if an activity is released literally the first day of class, it'll be due in a week right before that class starts. Again, these are just meant to give you practice. Again, you can complete them as many times as you want. But again, they are only 10% of that 50 we were looking at. Well, that's where obviously the problems, the problem sets there we are are going to be the big bulky kind of points of this semester. And we're going to be working off of two separate programming languages, Java, because again, here at NC State, we are a Java workhorse. But also we're going to explore the idea of using prologue. It's a little more, it's not as well represented in industry, but it is a great modeling language, especially when we get into natural language processing, or in our case, working off of knowledge representation. But one of the big things again as you can clearly see is you're going to be working off of giant projects and just to give you a sneak peek at one. So for example, this is literally problem set one. Build an agent that given some environment does an action. Literally build a simple reflex agent. And well, we'll have a video fully on this a little more to explain everything. You have a way to visualize this. And so if I run this, you're seeing it's crashing right now because again, the problem set that you are going to be doing is implement it. Have this agent clean the floor of dirt, a lot of dirt going on there. Right now it's again, just crashing because it, you know, you haven't implemented the algorithm and whatnot. But again, have fun. Last little part that we'll talk about is obviously the, you know, academic integrity violations. Don't cheat. You know, I'm a huge proponent of, and I will talk about it, but I'm a huge proponent of working and helping each other. But obviously do not copy someone's work. Go on the internet. Don't use chat GPT because again, you're trying to build these things. Don't have them build it for you. The mindset that I work off of is what if you choose to then go build life support software? I want to make sure you know how to work. I don't want you cheating your way through and then scrambling to figure that out because if I ever find myself on my support, I want to trust that you knew what you were doing. To kind of add a little bit more of a bite to this, it's not that you just get a zero, but if you do get caught, again, what we're going to be giving you is a negative 100 for that assignment and that exam, whatever you get caught cheating on. So don't, don't. Okay, well, I did sort of mention, I'm interested in you helping each other. So the way I look at this is again, we know that this is something called social learning theory. This is how we learn is by sharing. I've been doing this for decades, right? So I'm old, my jokes are bad. I don't know what TikTok is, right? You may have just figured this stuff out. You may understand something a little bit better or maybe able to explain it to your peer who is conveniently struggling with it and you may be able to help them. I'm perfectly fine with you working and helping each other out in that context. Can you look at their code? Yes, don't give them your code, don't tell them what you did and they do exactly that. But again, look at their code, help them out. The best way I like to think about it, if you're trying to figure out this weird gray area of am I cheating or not cheating? If you've already, you know, passed all of the test cases, you are confident that you're gonna be getting your 100 on a problem set, then be more than willing to help out with a student. If you're still struggling on your end, don't help a student again because you're still trying to figure it out on your end. Again, we're doing our best here, you know. The assignments are meant to be interesting so hopefully you're excited about them and you're not trying to find ways to cheat through them. I've seen my gradient, I know that you'll be okay. If you put into the work, yeah. If you put in the work, I assure you that you will understand the material and be able to solve these things without too much problem. So, again, welcome to CSE 411. My name's Adam Gowita and let's get started.