We just had our second term test, which was worth 2 times as much for me because I defered the first mid term. I'm pretty sure I failed, I was too bogged down with assignments and outside of school stuff that I barely studied. I'm sure I would have gotten 90 if I knew that we were allowed to have a cheat sheet. Ah well, Johnny.
The test had three questions on solving recursion problems involving binary trees. They weren't too difficult I just don't do programming on paper well, a lot of my problem solving process involves trial and error and using python, referencing previous similar programs and using the help function as well as googling.
It seems like there won't be any computer science assignments or labs or tests. So now I can take some time to focus on my other classes and prepare myself for the exam. I went to the registrar and was able to credit/no credit this course, because I've decided I no longer want to do a computer science minor.
I was going to do a computer science minor so I could have second teachable subject, but it seems like I didn't like computer science as much as I thought I did. It became less of a course where you translate solving a real life problem into a different language that can be understood and computed by a computer, into a tedious one where you try and learn confusing syntax and programming is no longer intuitive. Anyways, it was fun while it lasted, it's still an interesting topic just not one that I wish to delve further into.
Programming is alot like doing math over different fields - fields have members that are defined by certain properties (like the integers or real numbers) and supports different operations, for example, addition and multiplication. Just like the numbers you can use and what you can do with them is restricted based on the limitations set by this field, the same way we are limited to what we can do with computers, because they aren't capable of the complex reasoning and cognition that humans are. Thus we can only give them certain data types (such as int or str) that are recognizable by a coding language and operations that are supported by the programming language such as max, or min. Thus solving a problem with a computer is different than solving a real life problem because of the way we define the data and operations we can use with that data on a computer. Analogous to how we would solve a problem using the set of real numbers we are used to and then taking that problem and solving it over a different field of numbers.
Time to ace this exam and pass this course.
Here's some motivation for me:

Good insight, I am very sorry forhow you feel about the course, maybe if you rake 207 and 209 it will revitalize your juicy feelings for comp sci
ReplyDelete