Posts

CST 334 - Operating Systems - Week 2

Image
  This week, I learned about processes, what they are, their parts, and how the OS manages them. A process is a running program managed by the OS, made up of memory, registers, and storage. The OS uses context switches and policies to run multiple processes efficiently, making it seem like there are multiple CPUs. I also looked at the Process API, learning how processes are created, managed, and controlled with system calls like fork(), exec(), and wait(). Additionally, I studied the different states a process can be in, how they change states, and the data structures used to keep track of processes, like the process list and Process Control Block (PCB). This week gave me a clear understanding of how important processes are to the OS.

CST 334 - Operating Systems - Week 1

Image
  This week was the introduction to the operating system class, and the first thing that I learned was an introduction to Linux. Prior to this class, I thought I had to use a virtual machine in order to use Linux. I did not know that I could run a Linux environment directly on my Windows operating system. I think this class is going to be challenging but rewarding at the same time because, based on the introductory videos, we are going to be learning a lot about Linux. What I have learned so far is that the operating system is the layer between the hardware and the user. Operating systems act as a layer of abstraction between all the components in the computer and the applications that are being run on the computer, such as word processors, spreadsheets, etc. I also learned about Docker. I did not have any knowledge of this software prior to this class. Now I know the difference between a Docker image and a container. A Docker image is a lightweight, standalone, and executable package

CST 363 - Introduction to Database - Week 8

Image
  Briefly summarize what you consider to be the three (3) most important things you learned in this course.  One of the most important things that I learned in this class was how to use MySQL. Prior to this class I had some knowledge about SQL but this class helped me understand and write more complicated queries such as joining tables, creating view tables and more. With all these new knowledge I think it will be easier for me when I enter the workforce because I will have one more tool under my belt.  The second most important thing that I learned in this class was how to use new software tools like MySQL workbench, MongoDB Compass and Mongo shell. Prior to this class I took a simple SQL online class where they had SQL integrated in the website so there was not need for me to download and install the software. Now I know how to use MySQL workbench to write queries, create databases, create tables, design databases and create ER diagrams.  The third most important thing that I learned

CST 363 - Introduction to Database - Week 7

Image
  Compare MongoDB with MySQL What are some similarities? Some of the similarities that both applications have are: data storage, indexing and replication. Both MongoDB and MySQL are databases that store data, although they do so in different formats. They both support CRUD (create, read, update, delete) operations. Also, both databases support indexing to improve query performance. MongoDB allows indexing on documents, and MySQL allows indexing on table columns. Finally, both applications support replication to provide data redundancy and improve data availability. What are some differences? Some of the differences in both applications are: data model, schema design, query language, transactions and use cases. MySQL uses a structed tabular model, while MongoDB uses a flexible document-based data model. MySQL enforces a strict schema where the structure of the data must be defined before data can be inserted, while MongoDB has a flexible schema that allows for dynamic document structu

CST 363 - Introduction to Database - Week 6

Image
  This week we learned about programming languages and database programming. We explored the differences between imperative and declarative languages. Imperative languages, such as procedural and object-oriented languages, use control flow statements to determine the execution order of program steps. In contrast, declarative languages, such as SQL, do not explicitly specify how results are processed but rely on a compiler or optimizer. SQL stands out as a leading declarative language, often used for database queries due to its simplicity and efficiency.  In chapter 9 also talks about various database programming techniques designed to bridge the syntax and paradigm gaps between SQL and other programming languages. These include embedded SQL, procedural SQL, and application programming interfaces (APIs). Embedded SQL integrates SQL statements directly into programs written in another language, such as C, while procedural SQL extends SQL with control flow statements, creating a new progr

CST 363 - Introduction to Database - Week 5

Image
  The website "Use the Index Luke" has a page on "slow indexes"  https://use-the-index-luke.com/sql/anatomy/slow-indexes   If indexes are supposed to speed up performance of query, what does the author mean by a slow index? The author refers to a "slow index" as an index lookup process that becomes inefficient due to the need for additional steps beyond the initial tree transversal. Indexes can become slow if the query requires the database to follow the leaf node chain extensively or perform numerous table data accesses for each matching entry. A slow index results from the combination of leaf node chain transversal and accessing table data, causing the overall query performance to degrade despite the presence of an index. 

CST 363 - Introduction to Database - Week 4

Image
  1. Briefly summarize 5 things what you have learned in the course so far. MySQL Workbench - I have learned how to use MySQL workbench and I think this tool is going to be beneficial in my future career.  SQL - I have learned how to write complicated queries in SQL. I think the fundamentals of SQL are easy to learn but it gets complicated once you start writing queries where you have to join multiple tables.  Database Fundamentals - Learning how a database works using Java is also beneficial for us as students. I think the Java labs are challenging but it helps us learn more about databases.  ER Diagrams - I have learned how to read ER diagrams. Sometimes ER diagrams get so complicated, but I think I have learned the fundamentals to be able to read simple ER diagram.  Relational Data - I have learned the importance of relational databases. Understanding many tables full of data can be challenging, this is where relational databases play a critical role in managing a big amount of data