Categories
PerosnalThoughts

My Experience with AI Tools and How I Converted Them into Learning Tools in My Capstone Project

Image generated by DALL·E, OpenAI’s AI-driven art generator

Introduction

Today, I want to discuss my favorite AI tool that I’m using for my Capstone project, AI Coder. AI Coder is a unique project that focuses on how a student incorporates AI tools into a chosen project. My team decided to develop a Dating App for Pet Adoptions, a comprehensive CRUD App for managing user and pet data, which includes features for account creation and login, as well as admin capabilities to maintain the data. My team divided the work into three microservices: database, backend, and frontend.

I am charged with the frontend part and use React to create a single-page application. I’m a beginner in React, so I used AI tools in the learning process. I’ve tried ChatGPT 3.5 and 4, Google Bard, and Bing Chat. For learning purposes, they are all good, but GPT is the best; it gives you the most accurate and balanced responses.

Evaluating AI Tools

Bing Chat is like the minimalist among the four. Unlike GPT, it lacks the ability to store past conversation sessions, focusing instead on AI-powered search capabilities. Google Bard is good, but personally, it is verbose and gives me a broader range of responses. GPT’s responses are mostly balanced, not too detailed but not too simplified. The only downside is GPT4 is limited to 40 messages per 3 hours. I can easily go over 40 messages in 3 hours when I’m learning. Also, it takes time to generate responses, and when I used it last week, it had issues with service outages and frequent internal errors. GPT 3.5 is fast and reliable in most cases; the only downside is that it cannot answer with up-to-date information. While learning about the react-router-dom library, it initially provided examples for v5, not realizing I needed information on v6, leading to confusion. When I asked the same question to GPT 4, it instantly understood that I was asking about v6 and even mentioned what is different from v6 and v5 when I asked about , which is not used in v6 anymore. Until GPT mentioned it, I didn’t know there was a significant difference between v6 and v5.

Tips for Effective Uses of GPT

After trial and error with GPT as a learning tool, I found some effective ways to use it.

First, it’s important to focus on a single topic per conversation session. GPT operates on a stateless basis, meaning each conversation is influenced only by the user’s most recent prompt. It can appear to understand you and your previous discussions because it applies its advanced training and the feedback it receives within the same conversation session. However, if a user suddenly introduces an unrelated topic, GPT may provide inaccurate responses, as it depends heavily on the ongoing conversation’s context for cues. As an example, while working on my project plan, I instructed GPT to generate tasks for each feature I described, asking it to maintain this approach throughout our conversation. After a lengthy discussion, I forgot and changed topics abruptly, and GPT continued to generate tasks, misinterpreting my new topic as another feature explanation.

Second, be specific about what you are asking. Providing more details as if you are trying to explain it to someone else helps a lot. For example, clarifying the purpose or end goal you are looking for in this conversation generally helps GPT stick to the goal whenever it generates an answer throughout the whole conversation.
A minor inconvenience arises during prolonged conversation sessions with GPT. To refer back to a previous response, I need to scroll all the way up, which complicates matters when I have questions about earlier parts of the conversation. I have to mention it precisely to get an accurate response. If similar topics are discussed in the conversation, GPT might get confused and use the prompt instead of the one you meant to answer your question.

Finally, be patient. AI is a tool that requires multiple trials and errors to master. I didn’t know how to use it effectively until I researched many tips from others on how to utilize ChatGPT efficiently. Test these tips and try to mimic them, and you will learn how to customize your approach to learning with AI tools. Here are some references I used.

How do I use chat GPT effectively?
Why AI Is One of the Best Tools for Quickly Learning to Code

Conclusion

Overall, if you know how to use it well, focus on the topic without digressing, and always be specific, it will definitely improve your learning process and help you quickly start with any new technology in your development process.

Categories
PerosnalThoughts

From Beginning to Now: My Journey in OSU CS Post-bacc Program

Times goes by really fast, and I find myself at the final stage of the OSU computer science post-bacc program. I am writing to reflect how I started and ended up joining the program and challenges I faced during the program.

I began my journey while working as a program management staff in the automobile industry. Although my role was in program management, I lacked experience and wasn’t technically qualified the position. My responsibilities involved attending many meetings with engineering teams from both my company and customers.

Despite not having an engineering background, understanding technical discussions wasn’t crucial for my role at that time because my co-workers understand that I was new and learning. My main focus was on grasping how projects were progressing and learning any hindering factors at each stage. This limitation, however, was frustrating, as I felt left out of discussions that only those with technical knowledge could truly enjoy. Not only this, I also saw limited opportunities for growth. Frustrated with theses circumstances, I made the decision to transition into an engineering role. This was a very hard decision because all of my co-workers and my boss were nice, and the salary and the benefits provided by the company were better than what my position offered. I chose computer science, not mechanical engineering, because as a hobby, I had been learning Python.

The early stages of the program went smoothly, with the initial courses begin relatively easy. However, around halfway through the program, I found myself confounded when creating my first web application. Back then, the Web Development course used the XMLHttPRequest API. I am sure the course is revamped and utilize the Fetch API now. I even struggled to understand what Promises were and their purpose. Later, I finally grasp these concepts. One thing I learned from this was that I had a hard time understanding it because I tried to relate it to something that I learned in the past — simply put, I thought too much.

After the last course, I dedicated myself to backend development for the rest of the program. Finally, after I learned about programming the REST API and reviewing data structures and algorithms to prepare technical interviews, I decided my path. I am currently aiming to become a full-stack web application developer. Even thought my initial thought on the industry is naïve, as I continue to learn and dedicate my life to computer science, it keeps me engaged. Now, I find myself fond of this field more than I initially felt. I want to delve even deeper, and all I need now is to successfully complete the capstone project and begin my real-life journey in the industry.