Posts

CST383 Week 1

This was our first week in CST 383 - Data Science. This class discusses machine learning, how to analyze data, and how to use Python for data analysis. Python Array Operations In this week's video lecture we discussed various operations one can perform on python arrays. Slicing:   Python arrays can be accessed using [start:stop:step]. Start defaults to 0, stop defaults to the end of the array, and step defaults to 1. For example, to access the last three elements in an array we would use array[len(array) - 3:], to access the first half of the array we would use array[:(len(array) / 2], and to access every other element we would use array[::2]. Fancy Indexing:  We can use an array as a list of indices we want to get from a different array. For example, array[[0, 2, 4]] would return the first, third, and fifth elements of the array. Broadcasting:  We can perform operations on arrays to quickly perform operations on each element in said array. If we have the array [1, 2...

CST 462S Final Week

Service Learning Project Throughout CST 462S I performed QA for LibreOffice . This involved reviewing user reported bugs, attempting to reproduce the bugs in LibreOffice, asking for additional information if needed, and updating the status of the bug when applicable.  The project was a good experience overall. Before starting the project I was unfamiliar with QA. Both the site itself and my supervisor provided plenty of resources that helped prepare me for performing QA. After having finished the project I feel much more comfortable performing QA for LibreOffice, and I am confident that I could perform similar tasks for other sites or services. The service project was not without its own troubles. One thing that I consistently found difficult was the complexity of many of the bug reports. Many bug reports referenced advanced aspects of LibreOffice or had bugs that were complicated and obtuse. Some days it was easy to find reports that I felt comfortable tackling, while other days i...

CST 328-40 Week 2

Image
C.R.A.P. This week we learned about C.R.A.P., which is short for Contrast, Repetition, Alignment, and Proximity. It is a set of guidelines for graphic and UI design in video games. It emphasizes different elements being clearly distinct from each other, readable, consistent with elements of similar types, and not being too crowded or sparse.  Game Menu Redesign This week we took a menu from a video game and redesigned it in a different style. I chose to take Balatro's UI and try to redesign it in a portrait orientation. Redesign: Original:  

CST 328-40 Week 1

Image
This was our first week in CST 328-40 - Digital Art and Design. Photoshop This week we discussed some of the basics of using Photoshop. As part of an assignment I edited the following picture of Jupiter: Here is the edited version. I added more contrast and slightly edited the colors of the red spot to make it stand out. Reading This week we read a handful of articles discussing graphic design. Understanding Pixels and Resolution This article discusses pixels, pixel count, ppi and dpi, pixel depth, and how to resize images in Photoshop. 10 types of image file extensions and when to use them This article discusses raster and vector images and several common file formats. What Is a Mockup and Why Do We Need It This article discusses what a mockup is and why, when, and how we use them. What are Prototypes? This article discusses what prototypes are and why, when, and how we use them.

CST-462S Week 1

 This was our first week in CST-462S - Race, Gender, & Class in the Digital World. Service Learning Project The largest portion of this course is going to be the Service Learning Project. In this project we will be doing 25+ hours of voluneering for one website from a list of available ones. The available websites and projects range from helping high school students with a project, to helping develop on open-source software. For my service learning project I will be doing QA and bug testing for LibreOffice , which is an open-source alternative to applications like Microsoft Office. Outside of bug testing my own code I have no experience with QA. I am both excited and nervous for this project. It will be challenging, but I think it will be valuable, hands-on experience. I am set to meet with our LibreOffice representative this upcoming week to plan out my service learning project, and I will be starting it the following week. Research Topic Groups Another major portion of this c...

CST370 Week 8

Image
This was our eighth week in CST 370 - Algorithms. Dijkstra's Algorithm The last algorithm that we covered in this class was Dijkstra's Algorithm. It is a greedy algorithm that solves the single-source shortest path problem efficiently. To do the algorithm we store a table that has number of vertices rows and number of vertices columns. In the first row we write down the cost to get to each vertex directly from the root, and infinity for any vertex not directly connected to it.  Then, we visit the node with the lowest cost from the root (this is the greedy part). Then we recalculate the cost for every node that is connected to the current node, combining the cost to get to the current node to the cost to get to each connected node from the current node. We repeat this process until we have visited every node. When writing down the cost to visit each node, we also write down which node we are coming from. Finally, we can get the optimal path if we start from the last node and wor...

CST370 - Week 7

Image
This was our seventh week in CST 370 - Algorithms. Counting Sort Counting Sort is a sorting algorithm that doesn't directly compare elements to sort them. First, we loop through the unsorted array once. During this loop we get the range of values in the array (for example, integers 10-15), we count how many times each number appears, then we calculate their distribution by adding the frequency of each number with the previous. Then, we loop through the unsorted array again, starting from the end. For each number, we place it at the index listed in its distribution value, decrement the distribution value by 1, then continue to the next number.    The time efficiency of Counting Sort is O(n + k), where k is the range of values in the input. Counting Sort is also stable, numbers with the same value in the appear in the same order in both the input and output. Radix Sort Radix Sort is another sorting algorithm that doesn't sort by directly comparing numbers. Instead, it runs Count...