This assignment tasked the students with creating a networking protocol, as well as using the protocol to create a chatroom. I chose this assignment because this was the first time I had not only created a protocol but used it on a low level. This assignment taught a lot about the techniques of software design on a protocol level and where you can easily go wrong. Working as a group split off into pairs helped show where we had gone wrong as a group creating the protocol because upon final testing in the course within our groups it became known that our implementations of the protocol did not always work as they should have due to minor differences which could have been ironed out in the protocol if it was designed better. This assignment I believed utilized many of the learning goals from both the college and the program. Particularly using collaboration effectively, and using creativity to design our protocol.
This assignment required the students to 'write a partially functional web server' as well as optionally implementing caching and multithreading. I chose this assignment because it is one of the assignments that exemplified attaining a system-level understanding of the computer and how it interacts with a network. This assignment did this by teaching me HOW a webserver and a client interact with each other. This also taught me about how to multithread a server to handle multiple clients at a single time. Outside of attaining system level understanding this task hit the program goal of handling a project individually.
Using POSIX mutex locks and semaphores, students had to design a solution to the sleeping TA problem for this assignment. I chose this assignment because it was one of the key assignments in helping me develop a deeper system-level understanding of the computer. This came from the nature of the assignment being the use of threading and mutex locking. These concepts were foreign to me - and even during explanation in the course left some mystery. After struggling through the assignment and eventually completing it I finally understood threading as well as mutex locking.
This assignment tasked us with programmatically solving the ever-so popular game of triangle peg solitaire. I chose this assignment because it was an assignment which required critical thinking to not only solve the problem at hand but understand how the problem was orchestrated and how to represent it programmatically. It also deepened my understanding of recursive functions to solve problems. This assignment effectively addresses the college wide learning goal of critically thinking as well as the program wide learning goal of developing effective problem solving skills; as this project required tracking multiple changes to the pegs (as to reverse moves that did not work), as well as selecting the correct design of an algorithm to correctly solve the problem.
For this project we were tasked as groups to create an application to showcase what we had learned from the database class. I chose this project because in my time at Westminster College it was the de facto collaborative project work experience. Throughout the course of this project we worked together as a group of four collaboratively using a version control system to manage commits. In the end as a group we got 100% on the project and all felt successful as a group. Thus, this project overwhelmingly satisfied both the Westminster College, college-wide learning goal of collaboration and the program-wide goal of acquiring experience working in a group environment, and understanding concepts and techniques of software design; using multiple languages to create this project (javascript, sql, python, and html) I believe as a group we were all able to show that we understood concepts and techniques of software design across multiple languages.
For this assignment students were tasked with finding a blog post, vlog, podcast or pop article from the internet that discusses some idea related to whiteness. Then writing a thesis-driven essay that answers the following question: how is this source addressing a philosophical or historical idea that we had discussed in the course. For my paper I decided to write on predatory lending in African-American and Latino communities specifically in Miami, Florida and how lenders discriminated on lending fair loans to certain groups of people based on the color of their skin leading up to the financial crisis of 2008. This assignment exemplifies the college wide learning goal of communication as this assignment via written means increased my understanding of the discriminatory practices in place leading up to the financial crisis of 2008 that are likely still practiced by some today. The topic that I chose also directly impacts our local, regional, and global communities as discrimination is still a vehement problem.
For this project seniors are tasked with proposing, developing, and presenting a project. My project was to create a website which made it easier to view Oil and Gas leases issued, and proposed by the Bureau of Land Management (BLM).
This project effectively touched on ALL Westminster College-wide learning goals. I was forced to critically think about how to solve the problem of poorly represented data to constituents from the Bureau of Land Management, use creativity to begin to develop a solution which was not only easy to use, but also secure. I also had to use communication to write my proposal and get it accepted by my professor(s), and touching on communication AGAIN I had to use it to present my project to my peers. The assignment heavily took into account global responsibility as I was focused on making a project which advised residents of the state of Utah on land leases for specifically oil and gas that were happening in our state. I saw this as a local, regional, and global responsibility as we all should be aware of how our governments manage our lands and potential global impacts of the way they are managed.
This assignment also effectively addressed ALL program-wide learning goals. I had to attain a system level understanding of the computer to create a web framework where my server was hosted, as well as from a networking perspective learn how to use load balancing on my web application. I had to use multiple languages in this course that demonstrated my knowledge of designing, and writing in code different languages. Additionally, I acquired significant individual project experience on this as it was exclusively a solo project. Lastly, I ran into many problems regarding data I obtained from the BLM, as well as how to convert large datasets into the format that I was using in my application; both of which required using the effective problem solving skills I had developed the previous three years in the program to solve. Overall, this project touched on all of both the college-wide and program-wide learning goals and was a great learning experience.