< More Posts
Published 28 March 2021 at Yours, Kewbish. 1542 words. Subscribe via RSS.
Spring break is almost over, and perhaps so is my CPSC 110 sprint. For a lack of creative inspiration to work on anything other than practise problems, I’ve been spending a good amount of my remaining break on very routine homework, including CPSC 110. The course’s started to delve further into the theory side of things this couple weeks, and it’s been very interesting to see how my methods for designing things in Racket have evolved with each successive module.
Part of me being able to complete a rather surprising (to me, at least) number of weeks over a short amount of calendar weeks was conveniently forgetting to do both the problem sets or labs for the past couple weeks. I’d become part of my habit to do those after writing up a week’s set of notes, but I think I got a bit too carried away somewhere in between weeks. In the process of having to go back and do said problem sets and labs, it was interesting to see how difficult it was to remember what techniques I was ‘allowed’ to use. Somewhere between 6 and 7, some template rules get changed, and some shorthand is now added, which I almost reflexively tried to use before realizing I was supposed to operate in on a past set of guidelines while looking at problem set solutions. It’s remarkable that I even forgot that there was a change in shorthand allowed - I think that’s part of what makes CPSC 110 one of those fundamental courses: it encourages you to look at things very systematically, and builds on what you’re supposed to do systematically, systematically. (In other words, the addition of new parts of information follows nicely from past weeks, and everything is consistent.)
As always, you’re probably uninterested in the contents of this post unless you’re taking CPSC 110 yourself or have the very niche interest of learning how to program in Racket. Feel free to check out some of my other posts (I promise I don’t blather on about Racket this frequently usually, but Spring Break sort of encouraged me to do as much CPSC 110 as I could).
This week dealt with helper function design, as well as more information on inbuilt natural number functions.
(add1 n)=> why it presents recursion
(add1 n)to add 1 to a number and
(sub1 n)to subtract 1 => useful for recursion
This week describes binary search trees, as well as mutually referential data.
(list 1 2 3)to declare a list without all the
(cons)is applied to a list, concatenates it to the beginning
(append l1 l2)takes two lists (not elements), and appends l2 to l1 so the list is flattened into
(list [elements of l1] [elements of l2])
(rest)to traverse the list in order of magnitude
(fn-for-bst)on each self-reference => natural recursion
(cons)branch of the one-of
([fn]--loe), or similar
(check-expect)s to clarify what the expected output will be
[type] or [base]
(if (not (false? (fn-for-loe))))to check above condition
I’ll save the notes for Week 7 for the next week I’m looking for something share - I’d rather keep the amount of double-weeks to a minimum. (I also doubt there’ll be many more double weeks, since school’s started again.) I’m now past the midway point and on a good streak of work, so I hope I’ll be able to finish the course well before school ends in June. I plan to spend some of the summer revising for the challenge before I actually take it, which I hope will be enough time. I’ve looked at past exam papers, and they don’t seem too bad at first glance, so let’s hope a couple months of review is enough.
In other news, I helped run a hackathon this weekend, which was an amazing experience. vhHacks 2021 was a super fun event to organize, mentor, judge, and run workshops for, and I was incredibly impressed at everything that was submitted (so congrats!). The majority of hackathon-esque events I’ve been to have been online, which is usually something people label as ‘unfortunate’, but to be honest, there’s something sort of nice about async hackathons and weekends spent grinding away alone at a project in the comfort of your office. I hope some of the wholesome hacker vibe that I personally got at my first online hackathon was successfully transmitted somewhere in the process, and that, most of all, it was fun1. I might write a bit about organizing the hackathon (not that I know what to write about regarding the entire event) in the future, but for now, I’ll go back to catching up on problem sets and labs.
Preliminary survey results with people I know has been positive, but I’m entirely sure they’re biased and at least 50% trying to validate me, which is still much appreciated. ↩︎
- Yours, Kewbish
< More Posts