Oregon State University|blogs.oregonstate.edu

To AI or Not To AI? That Is [Not Necessarily] the [Right] Question  May 18th, 2023

My journey learning to program began a little over a decade ago at this point — I used resources like Coursera and Codecademy to learn Python for the first time. I really liked learning from tools like this because it broke Python down into manageable pieces and walked me through how to use everything. ChatGPT was far from existing at that point, and having tools that would auto-generate solutions was not something that was accessible to me at that point. Looking back, I’m really glad that ChatGPT wasn’t an option for me back then because I don’t view it as a very good learning tool for beginners.

I frequently have friends in other computer science programs at other schools ask me for help with their homework because they’re struggling to understand the concepts, and one commonality I’ve noticed is that they have begun learning to code with a reliance on ChatGPT. What has ended up happening is they come across a problem they don’t know how to solve, and they also haven’t been taught how to locate the resources that would teach them how to solve that problem. Instead, they ask ChatGPT for help with it and ChatGPT returns an answer that doesn’t fully work because ChatGPT doesn’t actually know how to program. And the biggest issue with this strategy is that the people who are learning to code for the first time don’t yet know how to identify why ChatGPT’s solution isn’t working — they don’t know how they are supposed to implement what they are trying to implement because they haven’t mastered the basics yet, and without these basic foundations they are unable to identify why ChatGPT’s attempt isn’t working. Having ChatGPT as easily accessible as it is teaches new programmers to try to “shortcut” their learning by leaning on it, which causes them more problems in the long run because they’re not actually absorbing what it is they’re supposed to be learning.

Having said all that, I don’t think that AI necessarily shouldn’t be used as a learning tool — the circumstances under which it should be used need to be more specific. For example, in my work Slack we have an AI bot (his name is Claude) who can help us answer questions, and one of my colleagues asked Claude how to implement a specific technology with TypeScript. Claude returned an answer walking through how to implement what was asked for, and it was a useful tutorial for getting started with that technology. This is something that works because my colleague already knows how to program in TypeScript and he is not struggling to understand the foundations of the language. He has enough knowledge and experience to try what ChatGPT suggested to him, and then to read through the code and understand why it isn’t working, if it isn’t working. This is something that a brand new programmer doesn’t know how to do yet, and the brand new programmer also hasn’t yet learned just how important it is to know how to do this. Programming isn’t necessarily about coming up with the right answer; it’s about understanding the process of how to get to a correct answer.

Because of all this, I do tend to stay away from AI when I am learning technologies that are brand new to me. Once I have a solid understanding of what I am doing asking AI can be both less detrimental and more useful; in the meantime, I prefer finding walkthrough tutorials, both in text and in video form, depending on what I am trying to learn. Resources that are actually for beginners are what beginners should be using; AI should be utilized after that beginners phase has been moved on from.


New Experiences: Using Unity for the First Time!  April 21st, 2023

As my team’s project is a mobile AR version of the classic arcade game Snake, we needed to choose a framework that would allow us to utilize AR while building an app. Our decision also needed to take into account different mobile operating systems; because two of our group members use iOS devices and one of our group members uses an Android device, we needed to choose a framework that would allow us to make an app compatible with both kinds of devices. This ultimately led to us choosing Unity AR Foundation as our framework; Unity makes cross-platform development very easy, while other options we looked at, such as Google’s ARCore and Apple’s ARKit, are platform-specific. Using our other options would require a significant amount of duplicate work to create an app that works on both platforms, which would not be ideal.

I’m really excited to build a project with Unity! I have a little game development experience, but nothing extensive; while working on my first degree at the University of Oregon I took an English class on Game Theory, and as part of the coursework I worked in a group to make a Flash game. We were using a drag-and-drop engine (similar to Scratch, but I don’t think it actually was Scratch and I’m having difficulty finding exactly what it was), and I was in charge of the bulk of the programming (other team members worked on writing, assets, and statistics-tracking systems). It was a neat project — the plot of the game is that you are a graduate student who is nearing graduation, but you lose the flash drive that has the only copy of your thesis on it and your thesis is due in 48 hours, so you have to race against the clock to recreate your entire thesis. The health bar runs on caffeine so you have to continuously drink coffee to keep yourself awake, and you have to fight bosses such as the terrifying librarian, your rather-intoxicated thesis advisor, and the headmaster of the school who also happens to be a wizard. While the game engine wasn’t the most sophisticated tool, the game itself was really fun and had a lot of charm to it.

I’m a little nervous about working with AR when I haven’t made any non-AR projects with Unity yet, but I’m excited for the challenge! We found a really good AR Foundations Demo App, which I have installed on my phone to play with. Cloning and installing the demo wasn’t too difficult, and I can see examples of many different AR implementations like surface identifying, facial recognition and tracking, and object identification play out in real time. The sample code will be really helpful when it comes to utilizing AR for our own application, and it’s nice to know that there are solid resources and documentation out there to guide us through our project as we figure out how to complete it.

While game development isn’t something that I necessarily want to go into for a full-time career, it is something that I want to do in my spare time for side projects. As someone who already has a job doing full-stack development, my goal with my capstone project was to branch out into an area where I don’t have direct work experience so that I can expand other skills that I’m interested in and care about. It’s important to me to develop my skill set in a variety of areas, not just the ones that I work with on a day-to-day level, because it increases my capacity to think outside the box when solving problems and makes me a more well-rounded computer scientist. Learning to use Unity and AR frameworks to create games is new and intimidating, but to me that’s the point of doing it. I don’t want to do something I already know how to do because while that would showcase the skills I’ve already developed, it doesn’t push me to learn new skills. I really hope that learning to use these new tools will be beneficial to me on all levels — and that I’ll have fun while figuring them out, too.


A Former Librarian Moves Into a New Field  April 7th, 2023

My name is Benni Taylor, I’m 28 years old, and I am from Springfield, Oregon, and live in College Park, Maryland. I was an English major for my first college degree. I loved my first degree — I focused largely on studying comics, and I found a wonderful community and felt like I’d gotten a lot out of what I’d chosen to study. My philosophy for college has been to never take classes I wasn’t genuinely interested in, and it has paid off for me greatly. College has never been this insurmountable drag for me; it’s been there as something to continue fostering my curiosity and love of learning. I’ve spent only two years of my adult life without being in the middle of college classes, and even during that brief break I still never wanted to stop learning.

My English degree led me directly into my master’s degree; I spent the two years afterwards studying Library and Information Science. I worked in classroom technology support during both degrees, something I both loved doing and was also very good at, and I spent my master’s program finding the intersections between literature and technology. I took some programming classes as part of my program, and found that the technology side of library science was something I loved, too.

I graduated with my master’s in 2018 — I had about two years of work experience in libraries before the pandemic hit. I was about to change jobs and move across the country in March 2020, but my new job was put on a hiring freeze just as I’d resigned from my current job, and I spent from March 2020 to November 2020 alone in my apartment with no sign of a job coming anytime soon.

That July was when I’d decided to apply to the Computer Science postbacc program. I’d actually been looking at the program since before I’d even graduated with my first bachelor’s degree; it was always a “maybe someday” option for me, something I didn’t think I’d actually ever do because I wouldn’t have the justification for it. But after spending several months by myself with no end to the isolation in sight, I’d finally decided that I wanted to do something about it. This program felt like an opportunity to take control of my life in a time where I had very little control, and so I jumped into making preparations for going back to college for a third time.

This turned out to be a great decision for me, as working in libraries in pandemic times turned out to be detrimental to my mental health. I will always love libraries and maybe someday I will feel safe enough to go back to them, but as of now the lack of regard that library administration had for staff health and safety mid-pandemic has shown to be too much for my anxious brain to handle. I have spent the last year and a half working from home in a computer science position, and I not only feel safer at work, but I am also much happier in general. I never would have gotten to this point without studying computer science, and I’m grateful for having the foresight to take control of my education and my career the way I did during a time where it felt like there wasn’t anything I could do.

I have no regrets about my first two degrees. Had I started with a computer science degree from the start, I may have been farther along on my current career path, but I don’t think I would have been as happy or as well-rounded as I am. I firmly believe that studying across disciplines is important to education because everything in the world is connected, and we learn to understand the world by making those connections. There is no “studying literature and art is useless because I’m a science major” because science and literature and art are interconnected. Ignoring those connections is a detriment to education. My first two degrees got me to where I am now; my current degree’s job is to take me to where I need to go next.


Hello world!  March 28th, 2023

Welcome to blogs.oregonstate.edu. This is your first post. Edit or delete it, then start blogging!