Sunday, 8 February 2015

Python SLOG 3 Week # 5




    Recursion is a very interesting concept in programing. Along with for loops and while loops we have learned yet another way of making a program call its self. This new method allows coding to become more elegant and allows things that may take lines of code using a while or for loop to be expressed in much simpler and convenient ways in recursion. Along with adding this new weapon of programming to our arsenal, we also started to learn about tracing. Tracing was interesting as it was our first real look into how computers breakdown task. Although we did not trace as computers would (as it would get very confusing very fast), it allowed us to better understand the code the computer would return when we run it. Tracing at first was a bit confusing, because we would not always trace out elements we had already seen. However overall it was a very fun experience that I enjoyed and the concept was an easy seven points on the midterm!

Python SLOG 2 Week #4




The first few weeks of CSC 148 have been quite enjoyable. Our professor is a very hand on and keeps us engaged by demonstrating things in front of the class. Our professor also remembers a number of our names, which is very unique and thoughtful trait in a professor. I am really glad I am taking this course, as it will help expand my thinking of computer science, as a science not juts programming. The course demonstrates how a computer thinks and runs code. The previous CSC course I had did not involve labs, and comprised of one three hour-long lecture. This format made it very difficult to learn and it was very tempting to try and skip lectures as they were long and at night. In contrast CSC148 is not only exciting but allows for more hands on experience with more involved lectures and professor.

Monday, 26 January 2015

Why Geeks Should Write

    There are thousands of concepts and ideas in the world, concepts that compose disciplines. These disciplines range from broad topics such as physics or chemistry to hyper-specific topics such as cytochrome topological analysis or algebraic geometry. The understanding and knowledge found in these disciplines are fundamental to both our understanding of the universe as a whole, and to the everyday functioning of human race. However, each human cannot study and apply everything in all disciplines. Everyone must choose a finite number of disciplines to pursue effectively. When we want to discuss a topic to the general public we cannot use our jargon and terminology we share with our colleagues. We must adapt our diction so others may understand. Humanities and social sciences are clearly required to do this because the disciplines in these categories revolve around communication. But what about the engineers, biologist, chemists, physicists and especially computer scientists? Those who are involved in these fields or whom we will refer to as geeks study and work revolves around labs and computers. What use is writing, a skill known to art and humanities to these geeks? Well, regardless of discipline, to communicate ideas to others effectively is an indispensable skill and required when speaking to the general public about our ideas. Communication is the force that binds us all from all disciplines, with computer science being no exception.      

    When one completes a work, such as a scientific paper or a programming algorithm, it is easy for ones colleague to see the significance in your work. If I were writing a paper on how the topology of cytochrome b is related to its function in the electron transport chain, fellow biophysicists will simply read my paper and understand its importance to the field of evolutionary biology. However when someone who is unfamiliar in the field attempts to understand the paper, they won’t, because the language the paper uses is not in their discipline. This is writing comes in, to explain the concept to another so that all can perceive the true value of the work. When programming longer more complex projects it is important to communicate to others what the project does. Looking through lines upon lines of code is difficult and tedious even for those who a familiar with programming. Taking the time to write what one hopes to achieve with his/her program allows others to better process what it does and why it is useful.


    Java, C, Html and Python are languages just like English. They each have areas in which their use is more effective than the other. Html is very effective for web design; Python is very effective for object orientated programing and English is very effective for human based communicating. Each of these are a powerful tool and a strong grasp in all of them will make one a better program. Writing is a tool used so we can understand each because knowledge in one field has a very limited potential if it is limited to a single discipline. Writing is universal language required by all disciplines so that even geeks need to write.