I was somewhat excited to get into data structures. I've never approached them from a mathematical standpoint, only from a basic computer science aspect, so I look forward to gaining a deeper understanding of commonly used data structures.
On the other hand, I feel my intuition fails me at times, making certain data structure concepts difficult to grasp fully. Something that helps is knowing and understanding the application of certain structures and, more particularly, direct guidance in how to apply them in order to build that intuition.
Friday, September 28, 2018
Wednesday, September 26, 2018
1.11, due on September 26
This section was much anticipated, because it provides the proof of the Master Theorem, which until now would be more aptly described as the "Magic Theorem," because I had no idea whatsoever how it worked.
As much as I looked forward to learning how the Master Theorem worked, I knew I would be intimidated by the proof. Even after reading over the proof a couple of times I still struggle to follow it. I may understand some of it conceptually, but I still find it very fuzzy and can't comfortably say I understand the theorem; it's still the Magic Theorem to me.
- How long have you spent on the homework assignments? Did lecture and the reading prepare you for them?
- Each set of assignments (for both 320 and 344) easily take me into the wee hours of the night. By my reckoning I've spent as many as 11 hours on it. Some Saturdays I spend all day working on them; some weekdays I stay up until 1:00 or 2:00 in the morning or wake up at 4:00 to finish.
- What has contributed most to your learning in this class thus far?
- Study groups have been most beneficial. Many in the cohort have varying experience in different aspects of mathematics and computer science. As such, it makes it easier for us to help one another. Instead of pounding my head against the same problem for three hours, a classmate can walk me through it in a matter of minutes.
- What do you think would help you learn more effectively or make the class better for you? (This can be feedback for me, or goals for yourself.)
- I find lecture most useful when the professor covers specifics that will benefit us in the homework (I would say Professor Grant is particularly adept at throwing us a bone in regards to the assignments by giving us hints and guiding our reasoning for some of the problems. In my experience, hints like that condition my mind on how to approach a particular math problem, and I don't waste countless hours trying something that isn't even applicable.
Friday, September 21, 2018
1.9, due on September 21
This was an incredibly interesting chapter! Refreshing familiar rules of modular arithmetic was nice, but going over some of the more obscure (and practical) rules, such as fast exponentiation, finding inverses, etc was really neat. I also really the "Freshman's Dream" corollary; the naming was pretty great, and will likely make it easier to remember.
I was a little intimidated by Fermat's Little Theorem, however. The notation combining combinatorics and modular arithmetic is going to take some getting used to. I felt like C(p,k) came out of left field, and I'm having a hard time understanding the reason for it.
Tuesday, September 18, 2018
1.8, due on September 19
This chapter was a good refresher from MATH 290 and the process behind the Euclidean Algorithm as covered then. I was fairly confident in the material at the time it was first covered, so I'm looking forward to this chapter, however I'm a bit rusty in actually implementing the Euclidean Algorithm and its extended version. Going over the methodology a few times will go a long way toward remembering it. I've never considered what programming the algorithm might actually look like, so I'm not terribly confident in that either, but the text says it's supposed to be pretty simple in comparison to doing it by hand.
Thursday, September 13, 2018
1.5, due on September 14
This proved to be a fun chapter, although I still don't really know how LU decomposition works, and Algorithm 1.5.1 is quite intimidating, so I've had a hard time figuring out how that works also. The fact that the matrix can't have zeros in any diagonals also makes me a little uneasy, as it seems to limit the scope of the algorithm. I suppose, however, that a matrix can (and probably ought to) be row reduced before feeding it to the algorithm, avoiding this problem anyway.
I particularly enjoyed reading about Loop Interchange, and it made me more conscientious of how I write loops into my own code. Thinking about loops in terms of summations and independent variables will no doubt make it easier to tell when a loop interchange is possible.
What do the asterisks at some section headings mean?
Tuesday, September 11, 2018
1.4, due on September 12
This section felt a lot like a review of multivariable calculus, in that double summations are analogous to double integrals. I felt that the chapter made a lot of sense conceptually, however the examples still left me wanting. Some of the notation really made me think, as it didn't make much intuitive sense at first, but puzzling through the examples helped.
Something that really helped was thinking of it all in terms of infinite calculus; integrals are something I'm pretty familiar with at this point, and summations by themselves are also quite familiar, so partitioning the two and tackling them individually will probably go a long way.
One thing I was particularly curious about was whether there are any caveats with these finite sums in which the integral analogy begins to break down. That is, when do the familiar rules of integral calculus cease to apply? I know that infinite double sums can't be indiscriminately reordered (that was covered quite clearly in 341), but what else causes problems?
Monday, September 10, 2018
1.3, due on September 10
This was a pretty neat section, however the algebra seemed somewhat "hand-wavy." All that really means, however, is that I should probably take some time to work out the examples to get a better idea as to how finite calculus works. I did try to work some of them out, like the proof of the Fundamental Theorem of Finite Calculus (with the telescoping series), however for some reason I can't seem to arrive at -f(a) + f(b). I'm sure taking a look at it after lecture will be more enlightening.
My favorite part was how the section related finite calculus to math we are already familiar with, such as the sum of consecutive numbers, or geometric sums.
Friday, September 7, 2018
1.1-1.2, due on September 7
Something I seem to struggle with is knowing how to count primitive operations. In particular, I'm not sure how Line 11 of Algorithm 1.2.1 costs as many as 5n operations. I find that it's also difficult to follow some of the algorithms without a visual aid of some kind.
All in all, sections 1.1 and 1.2 were relatively straightforward; having taken algorithm and data structure courses previously I appreciated the review. The intensity and depth of the mathematical elements has been a bit of a learning curve though.
Introduction, due on September 7
My name is Adam Fidler (five bucks if you come up with a pun I haven't heard), and I am currently a junior in the ACME program. I have taken the BYU Math equivalents of 113, 290, 313, 314, 334, and 341. I initially transferred to BYU with the intention of pursuing a CS degree double-minoring in mathematics and linguistics (because of my interest in NLP and computational linguistics), however upon learning about the ACME program I realized that I could essentially achieve all three of these in one major.
In my experience, the professors that I have most appreciated are those that will truly instill a passion in the material. One such professor was my physics professor at UVU, Professor Paul Mills. He taught things so matter-of-factly and concisely that not only were we extremely prepared for our exams, but we gained immense conceptual understandings of the material as well. Even after three years, the things I learned in his class stick with me more than any other class I have taken.
While many of the things we learned weren't particularly clear at first, he taught us how to solve the problems, knowing that deeper understanding would come through repetition; however, not once did I feel like I was banging my head against the wall, struggling to figure out how to even begin to solve a problem. He taught us the "how", and the "why" came quickly through our own efforts (which is much more than I can say about virtually any math course I've taken since transferring to BYU, with perhaps the notable exception of Professor Allen's Differential Equations course).
Subscribe to:
Posts (Atom)