Posts

CST 338 - Week 4 - Legally Distinct Learning Journal

I worked with Branden from my team. With this assignment (and with most assignments) I always try to work directly off the prompt, filling out each defined method from the UML diagram of the assignment. Once I feel good about implementation, I use the unit test as a guide to help debug and get each function fully ironed out. Afterwards I go back in, format and clean up variable names and add single line comments for clarity. Through this process I am working through the logic in my code 2-3 times which leads to a cleaner output. Branden mentioned his strategy was, “For Project 1, I took it one step at a time. I started with the Monster class and followed the prompt closely, making sure each method matched what was expected, especially with things like output formatting and phrases. I tested as I built each part, and when something didn’t work, I used the error messages to figure out what needed fixing. I created each monster type one by one and kept everything organized using Git branc...

CST 338 - Week 3 - Who Reviews the Reviewers?

How fun to do some code review. I often tell early career engineers that as you progress in your career you will tend to read more code than write it, as architectural reviews, design docs and pull request reviews become a major part of a Software Engineer's day. I reviewed all three of my team members code. Overall it was a good exercise, and especially interesting to see how each of them approached the problem in a different way. What improvements would you make to your code/what was suggested?  Definitely some good learnings in looking at other group members code. Just from observation, I think I would likely add a little more thorough explanation in my JavaDoc comments. One of my group members really added a lot of detail there and I could see how helpful that would be looking at the code months from now. As far as critical feedback to my code, I agree with all of it. Adding Javadoc comments for all methods Use a StringBuilder to increase the efficiency of my makeGuess() functi...

CST 338 - Week 2 - Stuff You Should Know

Week 1 was a fun week that jumped right into some good coding exercises in Java. It touched upon a bunch of different themes like basic Java, Unit Tests, Git, Interfaces and more. I could probably write a lot about how much I fought with IntelliJ (let's be honest it's not the best) but will touch on more substantiative topics. First let's talk about unit tests. I know JUnit would not be considered a first-class citizen, but the way it is autogenerated by IntelliJ is quite sleek. In that sense writing unit tests and running them is extremely easy. We often read about TDD (test driven development) as a paradigm some organizations use, and building out tests in Java for our exercises really makes me see the value for that approach. Not only does it verify the output for a given input, it also helps us write our functions in a more ... well functional kind of way. I would argue that if you can't write a unit tests, that may actually be a code smell more than anything else. ...

CST 338 - Week 1 - A Cup of Warm Java

The Coding Bat exercises were a fun way to get reacquainted with some of the basic features of Java. I imagine that going through them over time will help me to get familiar with more advance features and "gotchas" of the language. I would use the example of Java String-1 `withoutEnd` because it led me down an interesting rabbit hole and provided nice value that I will describe here. I have a lot of experience writing Javascript, so the basic prompt seemed very simple: "Given a string, return a version without the first and last char, so "Hello" yields "ell". The string length will be at least 2." Easy enough, I know in Javascript I would use the `slice` method. So I simply looked up what the equivalent would be in Java which was the `substring` method. Using the `.length()` method was familiar to me, so that came naturally -- easy enough right? Well sorta. This is where my rabbit hole came into play. I know that using `.slice()` in Javascript cr...

CST 300 - Week 8 - First One Down

Video Review 1 Professional Video:  https://www.youtube.com/watch?v=Rdt3Mdls-Ac Video Review 2 Professional Video:  https://www.youtube.com/watch?v=ZRtEIxSY2Ms Video Review 3 Professional Video:  https://www.youtube.com/watch?v=z8uvy34Bmxs Our video project Professional Video:  https://www.youtube.com/watch?v=6EXtT8xbndI General Video:  https://www.youtube.com/watch?v=0ZY62Fh_UB4 Although I may be bias, I think we did an amazing job with our video. It really is a culmination of our collaborative efforts through the class, and was only possible because we were able to work with each other effectively. Overall, I am extremely proud of what the team was able to accomplish. We were consistent in our team meetings, and always on top of deadlines. We optimized for asynchronous collaboration on assignments, but structured them for success. Overall this course taught me about how to work well with a remote team. Beyond that the writing assignments helped me assess ...

CST 300 - Week 7 - Ready, Set, Video!

  Part One Working on the final research video project with the team has been extremely smooth! One of the team members created a great template on Google Doc, which allowed all of us to “claim” pieces of the assignment, and work on it asynchronously. This doc served as kind of the template, with each of us adding links to our audio files and video files inside of it. We worked on it relatively fast, and were able to review a draft version this week during our normal team meeting. Overall the project has been extremely smooth, and the output is going to be great. I’m looking forward to the class's reaction, and maybe hoping for that “win” in the voting process 😀. Rather than describe how I would approach future projects differently, it’s easier to describe how I would do them the same. I think working off a clear template, with clearly defined deliverables was a BIG part in why this was so smooth. I will continue to repeat that process moving forward. Part Two I learned a lot from...

CST 300 - Week 6 - Rounding the Bases

  Part 1: Help Your Teammates to Develop Capstone Ideas I really liked BW’s idea of “Vibe Check” which would be a mood-tracking app. It definitely feels like a great project, and I like the idea of being able to use OpenAI embeddings to seamlessly integrate ChatGPT into the app for advice or music recommendations. This also works really well with our team's expertise as one of our team members is very experienced in mobile app development as a whole.  Part 2: Keep Up With Your Learning Journal I think one of my biggest takeaways from this week was the overall effectiveness of AI writing. It was strange to see ChatGPT mimic the structure of my writing, without feeding it my writing itself. Spooky to see it come out in the same format! The career guide was interesting as well. It is really interesting to reflect and discuss with the team each person's individual aspirations and where they want to go. It really helps to frame areas of interest for projects like the Capstone. Work...