Skip to main content

CST 338: Week 4 Learning Journal - Markov Project Peer Review


For the Markov code review I worked with my teammate Brandon Hoppens.

My strategy for the Markov assignment was to first read through the entire prompt and ensure that I had a general idea of what the program was supposed to do. I then worked through the prompt building each method before moving on to the next. I built all of the methods and then ran the test after my initial build. I was able to pass a few of the test and failed others. I then went back to the individual tests I failed and manually debugged them. This was in contrast to how Brandon tackled the prompt as he was implementing the methods as they were needed. He worked to ensure each piece that he added worked with the existing code base. I think I would change my strategy to adopt some of his methods and use an incremental approach. I relied on building the entire program before running the first test, and I can see how on bigger projects this could lead to some frustration. 

The feedback I received from Brandon was that my Java comments do the job and that there were a few recommendation for improvement on the actual code base.

Comments

Popular posts from this blog

CST311 Week 6 Journal

 This week, we developed a deeper understanding of the network control plane and explored routing algorithms such as Dijkstra and Bellman-Ford, focusing on how they determine the most efficient paths for data transfer. We also learned about the SDN control plane, which allows for dynamic network management and routing. In addition to the theory learned this week, we conducted a network lab exploring the use of a basic SDN controller using Mininet and Wireshark. We looked at how Internet Control Message Protocol (ICMP), can be used for network diagnostics, particularly for network troubleshooting with tools like ping and traceroute.

CST335 Week 7 Journal Entry

 This week I learned about input/output (I/O) devices and their interactions with the operating system (OS). Two types of devices I learned about were block and character devices. Block devices, like hard drives and SSDs, store data in fixed-size blocks and allow random access, making them ideal for large data transfers. Character devices, such as keyboards and mice, handle data streams one character at a time, supporting sequential access. The OS play a crucial role in managing these devices through device drivers that provide a standard interface to interact with the hardware. Performance characteristics of hard drives, such as seek time, rotational latency, and transfer rates, are pivotal in determining overall system efficiency. By calculating transfer rates for different workloads, I learned how disk access patterns significantly impact performance. Additionally, understanding RAID levels provided insights into how redundancy and striping enhance data reliability and performan...

Leetcode Practice Reflection 1.Two Sum

LeetCode Practice Reflection - 1. Two Sum Date:   19MAY25 What I Worked on Today: Practiced doing LeetCode Problem 1.Two Sum. What I Learned: - How to use the enumerate() function - How to optimize possible solutions after considering brute force methods - How to declare a new dictionary (key value pair) Code Snippet I Wrote or Studied: class Solution(object): def twoSum(self, nums, target): seen = {} for i, num in enumerate(nums): compliement = target - num if compliment in seen: return [seen[compliment], i] seen[num] = i In My Own Words: This function takes in a list of numbers and will return the index of the two numbers that add up to the provided target value. The way this program works is that it creates a dictionary called "seen". It will then iterate through the list of numbers and use the enumerate function to keep track of the index and the value of the specific item in the provided list. The for loop will calculate the compliment numbe...