Wednesday, 28 January 2015

First Few Weeks: Getting Back to Python

Every time you begin a new class, one of the biggest hurdles you have to overcome is the first assignment. Be in an English class, a Computer Science class -- the first assignment is your first chance to show what you can do, and to make a good impression on your classmates and instructors. This week in CSC 148, most of my time was taken up with putting the final touches on the first assignment. I had a working program weeks ago, but I had to adhere to assignment rules. I read through the assignment sheet many times, picking through it with a fine-toothed comb to make sure I hadn't missed anything. I checked Piazza daily to see how my fellow students were doing, and if there was any help I could offer or intelligence I could gain from their questions. 

The first assignment is also the first chance you have to see if you really enjoy what the class is teaching you. This assignment for me really gave me a chance to do this -- I loved writing this assignment. There were times I was frustrated, such as when I was unsure if I was doing every small thing the assignment required, but by the end, I felt confident in my assignment and also like I had learned a lot. 

The first assignment was my main goal for these first few weeks, but I also learned a lot from classes and labs. I haven't taken a Python class in a while, so these weeks have been a good chance to refresh my Python knowledge and redefine my coding style. I'm finding writing these SLOGs very helpful, as it helps keep all my thoughts in order. The weekly tests in the labs are good incentive to make sure I understand everything immediately, and force me not to lag behind. 

All in all, I feel like my experience in CSC 148 is off to a good start. All the work is really enjoyable and challenging, and I feel a sense of reward every time I manage to complete a lab or assignment. To be honest, I can't wait to get started on the second assignment! I am sure I will continue to enjoy this class, and I look forward to the challenges up ahead!


Wednesday, 21 January 2015

Death to Writing: Why Should You Write if You Can Code?

You've heard it before -- the age old story that technology is the death to tradition, that computers stop kids from writing, that video games kill creativity. These ideas taint technology, but the truth is, writing and coding go hand in hand. You may think you don't need to know how to write and how to use language if you're in computer science, but that's just wrong. Let me tell you why.

I'm an English specialist, with a taste for coding. I've spent most of my undergraduate career defending my choice of study. The ability to write and the ability to use language can help you in any career path you choose -- especially in computer science. 

Clients. Clients don't speak code, they speak English -- most of the time. You are much more likely to be hired if your cover letter and resume actually make sense. Language helps you appeal to clients, and appealing to clients means more work, which means more money and life happiness. You need to write proposals, specifications, funding requests -- language is the face of all careers, including computer science.

Fellow programmers need to read your code too. You have to have comments that make sense without being too lengthy. The faster someone can read and understand your code, the more productive the whole project is. The less time you spend explaining your motives, the easier it is to work with other people and finish your project on time. 

The language of computer programming. Yeah, yeah, I know -- computer science is all about the math! Sure, understanding mathematical concepts is crucial in understanding computer science, but you don't have to be mathematically minded to be good at coding. If you can look at a problem and think about the language of it, it becomes easy to put into code. Think of it as one big word problem, and you've got yourself a fun project to get started on. I find that it's easy to get caught up in the math minutiae when you're writing code, and sometimes it's hard to step back and see the big picture. Language helps a lot in this aspect.

Having a grasp of language is crucial in computer science, just as understanding mathematical concepts is. If you can write, you can translate your code to colloquial language. It makes it easier for you to understand what you're doing and what your fellow programmers are doing. Trust me -- you can't go wrong with having a grasp of language, in any field you choose to pursue.