Don't wanna be here? Send us removal request.
Text
Reflection on my Dickinson Education
Reading through both the goals of a Dickinson College education and learning goals of the computer science major specifically, I can confidently say that I will graduate having fulfilled them all. Looking back on my four years as a student here, I am more than satisfied with the education that I have been given, and proud of myself for successfully making it through (almost, 2 more months to go). While some of the goals have been emphasized more than others, the courses required of the computer science department and the professors who teach them have gven attention to each one. Describing how I specifically have encountered each one would take far too long, but I can summarize a few of my most significant takeaways from my experience as a Dickinson student.
The most unexpected benefit of my Dickinson computer science education is summed up in one particular learning goal of the major: “Students will gain an understanding of social, legal and ethical issues raised by computing.” Thinking back to even my very first computer science course at Dickinson when I took 130 during the fall semester of my freshman year, we learned about and discussed topical issues related to ethics within computing. Those kinds of discussions continued throughout my four years of undergrad, particularly in 190, 290, and senior seminar but coming up at least briefly in almost every single other class. These discussions not only helped to foster a greater understanding of relevant topics to the field of computer science, but also allowed us to be exposed to sharing and listening to a variety of different, opposing viewpoints in a respectful and productive setting.
The ability to work productively in a partner or group setting is another skill that I can confidently say has improved throughout my undergrad experience. Partner programming frustrated me at first, but I’ve now seen the benefits in actively working as a pair. I’ve even seen partner programming listed as a desired skill on job applications. In a field where the stereotype is an antisocial programmer, working alone in a dark room, the department’s emphasis on collaboration has not only been surprising, but inspiring. My experience working as a part of a team makes me want to pursue a career path that values teamwork just as much as Dickinson does.
The excerpt from Dickinson’s goals of a college education, “our distinct characteristics of independence, inquiry and engagement are rooted in a practical, real-world approach to the liberal arts,” can be easily exemplified by the computer science major’s use of open source as a learning tool. I’m very happy to have gained real world experience and developed a relevant skillset contributing to both the projects FarmData2 and Oppia. These skills make me a more qualified candidate when applying for jobs, and I can absolutely apply them within an industry career. Not only that, but it’s given me the chance to apply my knowledge in a way that makes an impact. Both FarmData2 and Oppia fall under the umbrella of Humanitarian Free and Open Source Software (HFOSS). Being encouraged to volunteer my time and skills toward a worthwhile endeavor fulfills several of the points made in the general goals of a Dickinson Education, specifically to “produce critical thinkers…forever ready to make a difference” who are ”ready to make significant contributions in an ever-changing world.”
Saying that after studying computer science at Dickinson I now “understand core concepts of computer science, including data structures, algorithms, computational complexity, and computability” is an obvious statement, but I’d like to expand on that point. More than just understanding the concepts alone, I now have an understanding of how they intertwine. The way that the major track is designed, every class builds upon the knowledge that we have previously learned. Taking analysis of algorithms before computability and complexity feels incredibly beneficial, because I have already been introduced to the concepts surrounding complexity. What I learned in data structures has applied to almost every single class that I’ve taken since then. I feel as though Dickinson has given me not just individual bits of knowledge, but a grasp of the computer science discipline as a whole, and an ability to continue building upon what I have learned.
Regarding the goal “students will acquire the ability to recognize, design, apply and implement abstractions in complex computing systems,” I am able to give a very specific example. When I worked as a FarmData2 intern during the summer of 2021 along with Iris, we spent a large chunk of our time working on a custom table component. The goal of this component was to have a versatile building block that could be used on any page of the web app, regardless of the information that needed to be displayed, and that could be easily implemented by a contributor who did not know the ins and outs of how the component was constructed. What was great about that experience is that I not only gained a better understanding of abstraction in an academic sense, but we were also implementing it in a real-world scenario. That whole summer working on the project was a great opportunity, and the custom table component just one of the many experiences that I will carry with me after college.
One of the things that makes me the most thankful that I go to Dickinson is when I talk to students at other schools, especially computer science majors. Descriptions of two-hundred person lecture halls, impersonal professors, and a lack of resources for struggling students have all been reoccurring themes. Are there things that I would change about my college experience if I could? Sure, for one thing I’d rather not have gone through a pandemic in the middle of it, but in terms what I learned, how I’ve grown, and the skills that I’ve cultivated have all been because of the environment created by Dickinson’s dedication to the liberal arts. That dedication is perfectly summarized in their learning goals, which I can now confidently say are no longer goals, but achievements.
0 notes
Text
Personal Productivity and the "Waste" Perspective
Recently, I’ve had to reshape the ways that I think about being productive. Because of issues regarding my health, it’s become very important for me to regularly get adequate sleep, eat a more specific diet, and take frequent breaks when working, especially on a computer. Making these accommodations for myself while also staying on top of school and work has been challenging, not only because of having to find the time to take care of myself, but because of the guilt that came with taking that time. Having to spend a decent portion of each day resting felt, in a word, unproductive. I’ve been slowly working through that mindset, and reading the chapter Productivity by Amy J. Ko—though it was specifically about productivity in software development—helped to give me some concrete ideas to be able to describe the changes in the ways I think about productivity in general. The connections that I made between the concepts in this chapter and my own thoughts—particularly the “waste” perspective—makes me think that those concepts can be applied to productivity in any facet of life, not just software development.
The description of a “waste” perspective to productivity was one of the clearest connections that I made between the chapter and my own thoughts. Ko describes waste as “any activity that does not contribute to a product’s value to users or customers.” Her examples of waste included things like rework, unnecessarily complex solutions, and psychological distress. To apply this idea to my personal experience, I alter the description a bit: “any activity that does not contribute to bettering my health or education.” With this in mind, it’s easy to identify “productive” actions; taking a twenty-minute nap is productive because it will make me feel more energized and present, which in turn will make it easier to efficiently complete my schoolwork. However, taking a twenty-minute break to scroll through social media is not productive because staring at a screen for my break will not allow me to adequately rest.
These are very personal examples, but the idea can apply to any person in any situation simply by creating a personal description of “waste.” Someone who is trying to fix up an old house might define waste as “any activity that does not contribute to the long-term quality of the building.” Therefore, it would be productive to replace outdated electrical systems with safer, modern ones, but it would not be productive to paint over water damage rather than fixing the leak that caused it.
The one thing to be careful of when using this concept in one’s personal life is to not let the idea of “waste” create more guilt. When at work and on the clock, it’s more important to minimize wasted time. It is acceptable to justify time spent doing unproductive things on your own time, especially if they are relaxing or enjoyable (in which case I wouldn’t consider it wasted time at all). What this is best suited for is achieving a specific goal; for Ko that goal was a product that was developed efficiently, for me it’s successfully finishing the semester and continuing to recover, and for you it can be anything you want.
0 notes
Text
Blog Post #1
Because of the prevalence of open-source software, representation and diversity is incredibly important. However, open source is notoriously lacking in representation, an issue caused both by financial and temporal barriers as well as problems caused by the community itself. Exclusion and a lack of diversity in open source software causes a feedback loop, preventing an improvement of representation within tech that has a negative effect on the industry as a whole.
One of the most remarkable things about free and open source software is its dependence on volunteers. Its success is incredible considering that most contributions are made by people who are not being paid and using their free time. This is one of the strengths of FOSS, because in theory anyone would be welcome to join a project which would help to fix the diversity problem. The issue lies in the fact that for many minorities—including women and people of color—the volunteer nature of their contributions is a barrier to entry. Time is valuable, and even if someone is interested in contributing there may be other obligations that are more important to them that require their time. Minorities are often dealing with these pressures more, for example, Container Solution’s article “WTF is wrong with Open Source Communities?” states that “Those in minoritized groups are more likely to bear the brunt of unpaid care work and don’t often have the extra time to donate.”
Even if someone has the desire and the time to start contributing, the environment and culture that they find in certain open source communities could force them to stop. In Wired’s article “Diversity in open source is worse than in tech overall,” they provide a series of statistics that github collected on their developers, one of which was that “about 18 percent of respondents had experienced negative interactions with other open source users,” and that “around 50 percent of respondents had witnessed bad behavior in open source.” This behavior could be harassment, bullying, or any other negative behavior, all of which is more common to experience as a minority.
One of the biggest problems with these barriers to minorities contributing in open source is the importance of representation. If there were more women, people of color, and LGBTQ+ people in open source communities, it would make newcomers who identify with those groups more comfortable with joining. The lack of representation for those groups caused by things like the lack of free time to donate and the antagonistic environments that some encounter creates a negative feedback loop; when there are less minorities present, fewer will be willing to join.
The issue with representation impacts the tech industry as a whole. When “open source dominates at least 70% of enterprise stacks,” it’s easy to see how almost everything we use benefits from open-source. And when major parts of the population are excluded from that, countless projects are missing out in the insights, creativity, and expertise that could have been brought to the table.
So how do we fix this? It isn’t a simple issue, especially when representation begets more representation and you can’t force people to donate time that they don’t have. The easiest place to start is the community environments. By enforcing codes of conduct and cultivating open, welcoming communities, you create an environment that encourages people to join and participate.
0 notes
Text
Intro Post
This blog is being created for Comp 491 at Dickinson College and will be used to post reflective writing on reading and discussion topics related to social, ethical and legal issues in computing. My plans after college are to hopefully find a job that will allow me to combine my interest in computer science and visual arts. That might mean graphic design, UI or UX design, or any number of other categories. I'd prefer to live in a city on the east coast like Philly or Boston.
What I hope to gain from this course is more experience with working on a large collaborative project, and to brush up on languages and skills that have gotten rusty over the last few years.
2 notes
·
View notes