Posts

CST-370 Week 6

 This week, I learned about linear probing in hash tables. It's a way to handle collisions within a hash table. When a key is placed into a table and its index is already occupied, it checks one by one until there is an empty space left. A visual example: Index: 0, 1, 2, 3, 4, 5 Value: _, _, _, _, _, _ Insert key 50 50 % 6 = 2 Index: 0, 1, 2, 3, 4, 5 Value: _, _, 50, _, _, _ Insert key 20 20 % 6 = 2 (collision in index 2) (2 + 1) % 6 = 3 (index 3 is open) Index: 0, 1,  2,   3, 4, 5 Value: _, _, 50, 20, _, _ I've watched previous lectures to study what I've answered incorrectly in past quiz assignments.

CST-370 Week 4

 Learning about merge sort was interesting. I used the PowerPoint exercise as well as watched the video lecture about merge sort. I used the video to help study for the midterm and other quizzes. Merge sort is simple to understand; the algorithm divides the array into two segments, which then recursively solves the first and second halves of the array before merging the two now sorted halves together.

CST-370 Week 3

 This week, I've learned about several algorithm searches and their use cases. Some being BFS (Breadth-First Search), DFS (Depth-First Search), and the brute force string matching algorithm.  BFS works by exploring the graph level by level. It starts at a designated node, visiting its neighbors first before moving onwards. A use case for this would be finding the shortest path with the fewest edges. BFS Example:        A      / | \     B  C  D    / \   E   F A → B → C → D → E → F I've watched previous recordings to help me get a better understanding of certain algorithms and the uncertainty I've had on some quiz problems.

CST-370 Week 2

 This week I've learned that brute force is a legitimate strategy that is used to solve issues. It uses pure trial and error without a systematic design in order to solve and or find what the purpose of the program is for. It is also possible to use algorithms in a brute force way, such as using selection sort. I've gone over past video recordings in order to supplement the questions on the previous quiz that I have answered incorrectly.

CST334: Week 6 Learning Journal

     The topics that were extensively covered this week were rendezvous synchronization, semaphores as signaling mechanisms, and as locks, counting threads in a shared state, barrier synchronization problem, differences between semaphores and condition locks, and practical debugging using the topics mentioned earlier.       Rendezvous synchronization is when two threads do not continue any further until both of the threads are at the meeting point. Semaphores as signaling mechanisms work by using a numerical signal, waiting until the other threads see the signal before continuing. Using a semaphore as a lock, or mutexes, set to a numerical 1, only lets a single thread inside at a time. Counting threads in a shared state means sharing a count variable, counting how many threads are at the barrier. This will be using a mutex in order to protect the hookup. The synchronization barrier problem is a generalization of rendezvous synchronization, where it wor...

CST334: Journal Entry Week 4

The primary focus of this week's study was the detailed examination of virtual and physical memory addressing, including an in-depth analysis of VPN (Virtual Page Number) bits, PFN (Page Frame Number) bits, and the process of translating virtual addresses to physical addresses, as well as converting physical addresses back to virtual addresses. I have been approaching the problem from several angles, with each attempt making me more confident in my ability to convert addresses. Additionally, we explored the methods for distinguishing VPN bits from offset bits within a virtual address space. The process of calculating the Page Table Entry (PTE) from the VPN and offset involves utilizing binary operations, specifically developing an understanding of how the PTE contains indexing information. From the retrieved PTE, the next step is to extract the PFN by applying a binary mask to isolate the relevant bits, typically through a bitwise AND operation (PTE & mask). This operation effe...

Wk01 Learning Journal: MySQL

Some important differences between the two is the integrity of the data. In a spreadsheet, it is manually implemented using formulas, while in a database, there are rules, constraints, and relationships between tables that keep data clean, reliable, and consistent. Another important difference is that databases are easily scaled to handle large datasets, whereas using a spreadsheet is very slow and inefficient. Learning SQL querying, how to design and analyze databases are a couple of important reasons to learning. Using and learning relational databases is a good experience that helps prepare one to handle real-world technical problems that a computer scientist would come across. I am unsure what else I would like to see within this course to better prepare myself for my future career.

Wk05: Learning Journal Makrov

 1. I worked with the entire team, reviewing each of their codes and discussing our solutions to the problem at hand. These people would be Mariah, Claudia, and Cody. 2. My personal strategy for solving the Markov assignment was simple: read the prompt carefully, glance over the unit tests, and begin writing the code accordingly. 3. Mariah's strategy was to stub out the code and follow the prompts until the code compiled. Claudia & Cody's strategy was most similar to mine, which was to read the prompt and go on about coding with minimal planning.  4. I would not change my strategy at this time, as it has been working. In fact, the next project I'll try incorporating paper planning, as it will be much more beneficial when the scale of the projects continues to grow. 5. My classmates claim that I follow the Google Java Style Guide with near perfection, though I doubt it. I automated some of the style guide rules and used common sense to determine what looks good, in conju...

Week 04: Learning Journal - CST338

 1. I worked with Cody, Claudia, and Mariah.  2. My strategy was simple: read the prompt and Unit Tests to get a better idea of what needed to be implemented. 3. Mariah and Claudia's strategy was to stub out the code and fill in the blanks via compiler errors and from the prompt. Cody's strategy was similar to mine: read the prompt and study the Unit Tests.  4. I would not have changed my strategy, as it worked out for me in a rather easy manner. 5. My classmates follow the Google formatting, and all have the automatic application of the style. 6. The most challenging part was writing the game logic. 7. The most interesting was also writing the game logic. 8. I am most proud of finishing the project with the least amount of issues possible. 9. I celebrated by playing video games and having some victory drinks with friends.

CST 338: Week 1 Learning Journal

    This week, it is not over yet. I spend hours every day refining my Java skills and getting back up to speed. It's been mostly smooth, despite some hiccups in learning about loops and parsing strings with them. I am still studying to ensure I fully understand the topics. We used codingbat.com/java for this week's homework, and I first started with the warmup, which I fully completed. Then, I began working on the assigned homework, which included beginner string manipulation, array, and logical problems. The process starts off by dissecting what the text is asking and working the solution carefully around the prompt. I heavily limited the usage of AI unless it was simply used to explain, or if I was incredibly stuck and I couldn't figure out what exactly to do next. I don't really plan out my code, well, I do at least a little in my head before I throw code at the issue. Reading references and API about strings and arrays, watching tutorials and given sources, it sign...

Week 8: CST 300 Learning Journal

  Part 1 - Review Other Teams' Final Video Projects      I chose to personally review "The Deepfake Dilemma," created by the Tech Heads team, which consists of Sami Hobson, Faith Thomas, and Luis Valadez. Both the general audience version and the professional version  will be reviewed in the following paragraph. The topics in both videos are well-covered with respect for their own audiences. The topics were presented clearly with an evident speaker rotation pattern. The quality of the research is sufficient for the videos. The professional provides in-depth information for those who are interested and knowledgeable in the technology industry. The quality of video production is great. There was no unnecessary visual aid that didn't help explain the content spoken about. Teamwork is somewhat evident, as I believe that they all made their own slides, but, in a way, I suppose dividing up the work is also a form of teamwork. Overall, I believe Tech Heads demonstrate...

Week 7: CST 300 Learning Journal

 Part One     We collaborated using Canva to create graphic slides for the video presentation. For the script, we used Google Docs to share research links, contribute ideas, and write collaboratively. We held a meeting to discuss what we have learned in-depth and worked together to create a fluent and well-structured script. Communication was handled via Discord, allowing us to coordinate in real-time through text and calls. Finally, we uploaded the finished presentations for both the public and professional audiences to YouTube. The overall process was much smoother than anticipated. We devised a schedule to adhere to. We quickly found tools that aided us in the creation of the projects, and everyone did their parts in research, writing, and rotational speaking in the presentation. Next time doing such a large collaborative project, I think clarification of who does what is needed to prevent accidental overlaps in script writing. Part Two     This week's lectu...

Week 6 - CST 300 Learning Journal

Part One - Help Your Teammates to Develop Capstone Ideas     One idea that Claudia had that particularly caught my interest was that she thought of creating a motion-tracking software for athletes. I thought that would be a unique and strong project for a capstone project. She also talked about creating a firewall, which I also thought was a very nice idea. For Mariah, the project that piqued my interest the most was the pet adoption matching system, where it was described as a match-making system, but for humans to find the perfect pet. A very unique idea that I thought would be excellent and fun to do. I thought for myself, I'd make a forum website or tracking flying insects or birds, and pre-calculate their flight trajectory, and possibly detection of what kind of insect or bird it is. Part Two - Keep Up With Your Learning Journal For this week, I explored various careers, LinkedIn, resumes, cover letters, and internships in depth. I've never created a resume or cover lette...

Week 5: The Interview

      I selected a person named John, a recently retired senior software engineer, specifically because he is a family friend of my mother's, whom she has known her whole life. I naturally thought that this would be the perfect person to interview. During university for a Bachelor's in Computer Science, John took the search for internships seriously. After a while, he found one at a small startup, which would ultimately be his first real-world experience in the field, where, as he remembers, he only did maintenance and bug fixes of the code. Upon graduating and with real-world experience, his job search went relatively smoothly, where he was hired with knowledge of skills in Python, JavaScript, and mainly, C++. His first job after graduation was mostly front-end website development, where he built on already existing code, fleshing out various features. After talking about his career life, I then asked about emerging trends within the industry, and he quickly replied that...

Week 5: CST 300 Learning Journal

Part One - Comments on Teammates Claudia's Comment Mariah's Comment Part Two - Possible Capstone Ideas       After reviewing possible capstone ideas, I think I'd like to make a video game similar to "A Bird's Song", by Brandon Pimentel, Anthony Broussard, Megan Aleman, Michelle Brown, and Charles Zieres. The only similarity will be the fact that it is a video game. This piques my interest since it is associated with graphics programming. I'd also be interested in something like "CueTracer," which is a tool that uses machine learning to search for and identify possible malicious lines of code. This particularly interests me because it implements machine learning within the project. A third one I saw, which was a website marketplace, gave me the idea to create something like a social media or a forum page.     Part Three - What I've Learned This Week     From this week, upon starting, I learned about recognizing conflicts and escalation of conf...

Week 4: CST 300 Learning Journal

     My educational goal for the CS program is to achieve the highest grade possible while learning and retaining the concepts and strategies taught within the course. I aim to graduate with proper grades and feel that I have sufficiently earned my degree from the program. Understanding core concepts and gaining valuable experience will definitely help me achieve my educational goals from the online computer science program.     My career goals are to specialize in a field, such as software engineering, gaining the necessary experience in designing efficient software, where I would then transition into machine learning. Skills gained from software engineering will be directly transferable to developing artificial intelligence systems.     In 18 months, considering what I already know and what I will refine, learn, and experience, I believe I will achieve a high percentile on the ETS Computer Science test.     This week, I learned a significan...

Week 3: CST 300 Learning Journal

 I picked tips for effective studying, particularly repetition. Repetition is an important key to studying and memorization. Reviewing past notes regularly helps cement ideas and information into the mind to be later retrieved using long-term memory. I've learned that the past week has placed an important emphasis on the ethics of artificial intelligence and its uses in society. A computer science major should know a plethora of things, starting from communicating properly and converting technical explanations into simpler and understandable descriptions. Knowing languages and knowing how to learn programming languages are different concepts, and knowing how to learn is important because of the rapid evolution of programming languages. According to the Code of Integrity, one should not submit work that is not their own, share solutions, and must be as specific as possible when describing the sort of help you had while completing said task.

Week 2: CST 300 Learning Journal

Image
Part 1     When it comes to staying actively engaged in studying, my strongest areas are asking questions, reading the text, finding the main idea and supporting details, and reviewing my past notes. Asking questions enables the reader to better retain and remember certain details from what is read. Reviewing past notes ensures that I remember and reinforces my knowledge. A few areas I feel the need to work on are reciting, penmanship, and study habits. Being able to recite important information every so often will improve memory and build a better connection to details. More legible penmanship is important for organisation and readability. Having a scheduled study plan is essential to having consistent and functional study habits. Part 2 Part 3     An important concept I learned is the Work Breakdown Structure. The idea of this is to take a large project and split it into several smaller projects, which allows for an easier overview of the problems and solutions at ...

Week 1: CST 300 Major ProSeminar

 This week, I wrote an outline for an essay about analysing a specific industry. I chose the defense industry. I don't often write essays using the APA format, so making sure that I am citing sources and referencing them in-text correctly is a worrying process, as I don't want to be mistaken for plagiarism. I talked with my team a little about citing sources, and they helped ensure I am writing properly. Citing sources and using them properly was a major takeaway from the lectures. This week, our team met and discussed a good time to meet with the professor. Our team also had a meeting on schedule.
 The CSUMB Online Program is great!