Posts

Journal Entry Week 5- CST334

This week in CST 334, I spent time getting comfortable with concurrency and threading, specifically using pthreads in C. One major realization was seeing how concurrent programming dramatically boosts application performance and usability. A simple, relatable example is how web browsers manage tasks simultaneously. You can smoothly scroll, click, and navigate websites, while downloading files or loading content continues in the background without causing delays or freezing the interface. Practicing with pthreads helped me understand core functions such as pthread_create , pthread_join , pthread_mutex_lock , and pthread_mutex_unlock . Learning the purpose of each function parameter and seeing how they impact thread management made the concepts clearer and more intuitive. Also, I noticed that while locks are essential for maintaining data consistency, improper usage can introduce overhead and reduce performance if not handled thoughtfully. The part I found particularly valuable this week...

Journal Entry Week 3 CST-334

 This week in CST 334 I focused on making the transition from abstract concepts to concrete practice in memory management. I started by defining the terms we use most often: an address space is the set of virtual addresses a process can reference, a virtual address is the number generated by the program, and the physical address is where that data actually lives in RAM. By simulating the base and bounds scheme on paper, I saw how adding a base register to each virtual address and checking it against a bounds register enforces safety and gives the process the illusion of starting at zero. Moving on to segmentation, I drew out separate segments for code, data, and stack to understand how that approach can reduce internal fragmentation and allow different permissions on each segment. Skipping notes alone and actually writing down the address translations helped me verify my understanding and pinpoint where errors could creep in. On the hands-on side, I practiced using malloc and free...

Journal Entry Week 2- CST334

This week in CST 334, I explored essential concepts of process management, particularly emphasizing process scheduling and its profound impact on overall system efficiency and performance. Understanding various scheduling algorithms provided valuable insights, particularly focusing on First In First Out (FIFO), Shortest Job First (SJF), and Shortest Time-to-Completion First (STCF). FIFO stood out due to its straightforward implementation and intuitive logic; however, its susceptibility to the "convoy effect," where shorter tasks are delayed behind significantly longer ones, highlighted a notable limitation. Conversely, SJF significantly improves turnaround times by prioritizing shorter tasks first, yet it comes with the impractical requirement of accurately predicting the durations of individual jobs beforehand. The Multi-Level Feedback Queue (MLFQ) scheduling algorithm was particularly fascinating, as it dynamically adapts by assigning varying priority levels based on the ob...

CST 334 Journal Entry Week 1

 Hello everyone, this week in CST 334 we started of with an engaging introduction to operating systems, giving me a better understanding of how they act as the essential link between software and hardware. I learned that an operating system manages resources, simplifies complex hardware interactions, and provides essential abstractions for users and developers. Additionally, I explored number base conversions, gaining proficiency in translating numbers between binary, decimal, and hexadecimal systems, which is crucial for low-level programming and understanding data representation at the hardware level. Furthermore, this week's lessons emphasized practical skills in programming. I became familiar with writing basic bash scripts, a helpful tool for automating repetitive tasks and executing programs in a Unix-like environment. Moreover, I gained hands-on experience in writing C programs using provided templates, allowing me to better understand the structure and syntax of C, which i...

Week 8 Learning Journal Post

Part 1: Peer Video Project Evaluations Group 4 -  Quantum Computing: It’s Not Just Sci-Fi Anymore https://youtu.be/HdNskaCnhrU 1. Topic Coverage: The team provided a clear and thorough explanation of quantum computing, including foundational concepts such as qubits, superposition, entanglement, and quantum gates. The video also highlighted current developments in the field and future implications. 2. Presentation Clarity: The narration was well-paced and easy to follow. Transitions between sections were smooth and logical. A few technical terms could have benefited from additional visual support. 3. Research Quality: High. The video referenced real-world examples like IBM Qiskit, Shor’s Algorithm, and Google’s quantum supremacy, showing strong evidence of research. 4. Production Quality: The visuals and music were well-chosen, but the video would have been more impactful with the addition of labeled diagrams or animations for complex topics. 5. Engagement: The introductio...

Book Report CST300

Image
Book Report: The Power of Habit by Charles Duhigg When I first started reading The Power of Habit, I thought it would be just another self-help book with some motivational quotes and tips. Instead, I found something much more thoughtful and useful. Charles Duhigg breaks down the science behind how habits work, why we stick to them, and how we can actually change them. What makes this book powerful is how it connects research with real-life stories, making complex ideas easy to understand and apply. The book is organized into three sections: habits in individuals, habits in organizations, and habits in society. Each part dives into examples that show how habits quietly shape everything we do, from brushing our teeth to how companies operate and even how social movements grow. Part One: Habits in Individuals The first part explains something called the “habit loop,” which includes a cue, a routine, and a reward. For example, feeling bored (cue) might lead you to scroll through s...

Week 7 Learning Journal

Image
Reflection on Final Research Video Project Planning For our final research video project, our team used Discord to communicate, mainly through its voice channel feature. It made collaboration easier since we could talk things through quickly and avoid long back-and-forth messages. It felt more efficient and helped us stay focused. For production, we used Filmora for editing, Canva for creating visuals, and Artlist.io for voiceovers and music. Each tool played a specific role in helping us bring the video together. The overall process went fairly well, and everyone contributed. However, it was a little challenging to coordinate schedules, especially as deadlines got closer. Sometimes, we had to wait for everyone to be available before moving forward with certain tasks. If we were to do a similar project again, I think we could improve by assigning roles earlier and setting clearer deadlines for each stage. A shared progress tracker or checklist would also help make sure everything is ...