CST338 • Week 2
← Back to all postsBuilding the Workflow
July 5, 2026
This week in CST 338 felt like I was getting more settled into the workflow of the class. Lab 00 and Lab 01 helped me practice the full cycle of setting up Java projects, using Git, writing code, testing it, and preparing everything for submission. Some of the Git commands were review for me, like git status, git add, git commit, branching, merging, and checking my commit history, but it was still useful to practice them in a more structured academic setting. It reminded me that even when I already know a tool, using it consistently and cleanly is still a skill.
Lab 00 and Lab 01 were part of the same larger project, just split across different weeks, and they ended up being a nice challenge. Working with shapes, unit tests, file reading, and interfaces made the assignment feel more like real object-oriented design instead of just isolated Java practice. The unit tests helped me slow down and check whether my code behaved correctly across different cases, not just whether it compiled. Interfaces are still something I am building a stronger mental model for, but I am starting to understand them as a kind of contract that different classes agree to follow. That makes it easier to imagine how larger programs can stay organized even when they have multiple classes doing related but slightly different things.
I also worked on the Jotto project this week, which was probably the closest I have gotten to test-driven development in school so far. I was given a test file, a PDF with a UML diagram, the required methods, and demo output for how the game should behave. Instead of just building the game freely, I had to build it in a way that passed the tests and matched the expected output. That made the process feel more intentional because the tests and UML diagram acted like a guide for what the program needed to do. It was actually pretty fun to see the game come together piece by piece.
This week, I worked through several CodingBat challenges in Java again. These problems reminded me a lot of my time at LEARN Academy because the exercises had that same small-problem, pattern-recognition feeling, but my brain kept getting caught on translating what I already understand fluently in JavaScript into Java syntax. My process was a mix of planning and experimenting, but I found that I did better when I slowed down and identified the pattern before writing code.
For the string problems, that usually meant figuring out whether I needed to check characters one at a time, look at small substrings, or build a new string as I looped through the input. For the map problems, the biggest step was deciding which keys needed to be checked with containsKey, copied with get, changed with put, or removed. Functional-1 felt the most familiar conceptually because lambda expressions reminded me of JavaScript array methods, but it still took practice to think through Java’s syntax and types.
Some challenges only took one or two tries, while others took a few attempts because of small details like loop boundaries, substring indexes, or remembering to use .equals() for strings. Overall, the CodingBat practice helped me see that solving these problems is less about memorizing answers and more about recognizing patterns, translating between languages carefully, and choosing the right Java tools for the situation.
The hardest part was probably balancing the amount of setup and submission work with the actual coding. There are a lot of little pieces to keep track of, especially with Git, tests, PDFs, screenshots, and links. What went well was that the coding itself felt familiar once I got into it, even though my brain still sometimes wants to translate everything from JavaScript or Ruby into Java. Lab 00, Lab 01, and Jotto also brought back my “dream-coding” state, where I go to bed and end up debugging my code in my dreams while I am sleeping. It sounds ridiculous, but it has been effective in the past. Going forward, I want to keep making smaller commits, running tests earlier, and treating each lab as practice for building cleaner habits instead of just trying to finish the assignment as fast as possible.
Comments
Join the conversation for this post.
No comments yet. Be the first to comment.