Posts

Learning Journal CST338 - Final Week

 Learning Journal — End of Semester 1. Reading my own Project 1 code now Opening Project 1 again, the first thing I noticed is that the code actually reads like something I designed on purpose. When I was writing it, each file felt like its own fire to put out. Rereading it now, I can see the shape of the whole thing: four pile classes implementing one Pile interface, a Game class that orchestrates them, and a Code enum that lets every method report success or failure in a structured way. The class I'd rewrite first is Game.java. Right now it's a fat controller that holds every pile, every flag, and every method for moving cards. It works, but the UI has no way to know when state changes unless something explicitly asks. If I wrote it today I'd apply the Observer pattern: Game would maintain a list of listeners and fire an event after every successful move, and the UI would subscribe instead of polling. That's a real separation of concerns, and it would make the mode...

Week 14 - Learning Journal (CST338)

1. Who did you work with on this review, and how did the collaboration actually go? I worked with David Renteria. The collaboration went well, but it was not constant. We checked in at different points to compare ideas and make sure our logic aligned. If your team was hard to reach, how did you handle it — and what would you do differently next time? There were times he was hard to reach. I kept working instead of waiting and saved questions for later. Next time, I would set clear checkpoints so we stay aligned. 2. Walk through how you approached the Markov assignment from the moment you first read it. What did you do before you wrote your first line of code? I focused on understanding the problem first. I saw it as mapping each word to possible next words. I planned to use a HashMap and thought about handling sentence starts and punctuation before coding. Looking back, at what point did you feel most lost or stuck — and what got you moving again? I got stuck on handling sentence e...

Week 13 - Learning Journal.

1. Your Approach and What It Revealed I started with the card class first since deck depends on it. I didn’t really plan ahead - I opened the file and built everything from scratch. My usual approach is to figure things out as I go and adjust based on errors or what breaks. For this project, that worked fine because card is mostly self-contained, so everything flowed naturally into Deck . That said, for more complex systems, I’d probably spend a bit more time planning how classes interact upfront instead of relying purely on trial and error. 2. The Peer Review: What You Saw and What You Learned I worked with Eric during the review. One difference I noticed was how we handled checking opposite colors. He wrote the logic directly in the card class, while I called a method from the Suit enum. I think my approach is better because it avoids duplicating logic. If the color rules ever change, my version only needs to be updated in one place, while his would require c...

Week 11 - Learning Journal

 Week 11 - CST338 This past week introduced me to IntelliJ and Java, which was a noticeable shift coming from languages like Python, JS, and Go. I'd say the biggest challenge was getting comfortable with IntelliJ itself. It's VERY similar to VSCode; however, there're just some things and extensions that I'm not used to. I personally don't autofill my code often. Java is also very strict with capitalization as well, which autocomplete helps with; however, it still takes some time to get used to. Java is very resource easy so I see why a lot of app devs use it. There's full on databases full on Java out there. It's a relatively simple language, just syntax of course kills us all.

Week 10 - CST 338 Learning Journal

When solving the CodingBat challenges, I mostly looked at the examples given and tried to figure out the pattern before writing code. For the String problems like countHi and countCode, I realized pretty quickly that I needed to loop through the string and grab substrings of a fixed length to check for matches. That approach worked well across multiple problems so I reused it. For the most part I threw code at it first and adjusted when it didn't work. The Map problems were more straightforward since it was mostly just checking if a key existed and then putting or removing values. Those I was able to get on the first try by just reading the instructions carefully. What didn't work at first was the Functional problems like doubling and square. The logic itself was right using stream and map, but the editor kept stripping the method signature which caused compile errors. It took a couple tries to figure out that I needed to paste the full method including the signature, not jus...

Week 8 - Review other videos

Week 7 - Learning Journal

 For this weeks learning journal: I've interviewed an industry expert at Qualcomm. Industry Expert Interview – Learning Journal Entry Khiem Vo   |   3rd Year, Computer Science   |   CSUMB Introduction For this assignment, I chose to interview Joel Gorin, a Software Engineer at Qualcomm. Qualcomm is one of the most influential semiconductor and technology companies in the world, known for pioneering mobile chipset design, wireless technology, and increasingly, on-device AI and machine learning solutions. As a third-year Computer Science student with a strong interest in AI and machine learning, I was drawn to Joel because his work sits at an intersection I find deeply compelling — low-level systems engineering that enables high-level intelligence. Understanding how AI is being implemented at the hardware and firmware level, not just in cloud-based software, felt like a perspective I could not get from a textbook. I reached out to Joel through LinkedIn, in...