School has begun
I find it funny that I chose to start a gemlog right as school started. I was fully expecting to be able to put out more content than I have so far, but that's ok. School should probably have a higher priority than my hobbies.
I'm almost done with school! I'll be taking my final CS classes this semester with a few generals. For spring and summer terms, I just need to take 3 GEs and I will be graduated! The first week has already passed, so I have a pretty good idea of how this semester will go. I will be taking these classes this semester:
- Concepts of Programming Languages
- Computer Security
- Ethics & Computers in Society
- University Band
- Food Preparation
Concepts of Programming Languages
Concepts of Programming Languages is a class that teaches about how languages work and why there are different features in different programming languages. I signed up for this class because I was expecting it to be a class about how to design your own language. I think that this is still applicable, but it won't be about how to design a language.
In this class we are using a functional type language that I have never heard of before: Racket#plait. It is essentially an educational language based on lisp--which I have heard of but never used. The syntax feels clunky, but I think can get used to it.
I may have already fallen asleep in class, but I blame that on how late we meet. I'm actually pretty excited for this class and I can't wait until we start talking about specific language features.
I don't yet know what computer security will be like other than a lot of labs. We will be discussing how we can make computer systems secure from cryptography to protecting from phishing attacks.
The first lab is to implement AES from scratch in two weeks. This isn't too bad until you realize that we will only talk about AES for the two days before the lab is due. The professor said that this first lab is the worst lab in the class and he would change it if he was allowed to. I found it very difficult yet fulfilling to learn about how finite-field arithmetic works.
One of the final homeworks (extra-credit) we will do in the class is to access certain information about the professor that he is hiding from us: His twich account, 3 video games he plays, his favorite food, where he got married, and his high-school's mascot. This is really cool, but I'm glad this is an extra credit thing.
Ethics & Computers in Society
This is the one I dread. It is a required class that talks about the ethics in computer science. We will be selected to be in groups that each have a different subject of CS. Each group will do research on what kinds of ethical dilemas are in the subject and do presentations on our findings.
This class is interesting to me in principle, but these kinds of classes are always hard to guage whether they will be unnecessarily difficult.
Since this will be my last full semester, I figured that I take should band. I haven't played since high school, which I graduated in 2017. Being rusty might be an understatement. I'll be playing the tuba and I feel pretty confident that I will be able to re-learn it.
My biggest worry will be that playing in the band will get in the way of my classes, but I don't think that it will be too much of a problem.
I signed up for food prep for two reasons: I need two more credits to fulfil my pell grant, and I should know how to cook. Because everyone else wants to take the cooking class, I got stuck in the waiting list for a while.
It got bad enough that I wrote a script that would query the registration API every 15 minutes to see if any section had an available seat. After a certain amount of time, everyone gets dropped from the waitlist and it because a game of first come first serve. I managed to get into a different section than my original plan. This other section has already met, so I won't be able to go to class until after the add/drop deadline.