Skip to main content

Posts

Showing posts from October, 2019

CST 325 - Module 1

It's the beginning of a new class! In this CST 325, I am going to be learning all about graphics programming and understand the concepts behind generating computer graphics. This first week involved a lot of trigonometry, geometry, and vector math review. The majority of graphics programming relies on math from these fields, especially vectors, so it's important to understand it even before diving into the basics. I hadn't done trigonometry or vector math in a while so I had some difficulty doing the review assignments at first, but watching 3Blue1Brown's videos on vector math helped me out a lot.  The second part of this module involved writing a simple 3D vector (Vector3) and sphere API, and performing ray-sphere intersection calculations. I was able to understand and implement Vector3 quickly, but the ray-sphere intersection program/API took me a little longer than I expected because I wasn't familiar yet with some of the built in functions and how to impleme

CST 311 - Final Week

In the final week of class, we finished learning about network security and its associated protocols, specifically on securing existing protocols, like TCP, with services such as SSL and TLS.  SSL and TLS are considered "in between" the application layer and network layer - while they work by modifying data and technical details associated with TCP and enhancing its security, programmers can include it in their applications by using its API. The majority of secure Internet transactions are conducted using TLS or SSL (TLS more often these days as SSL is now considered deprecated).  We also learned about securing wireless connections through protocols such as WPA2, as well as how virtual private networks (VPNs) can be used by internal networks or end users to secure connections to and from the rest of the Internet. 

CST 311 - Week 7

In this penultimate week of class, I learned about how the link layer functions and its governing protocols, how networks discover MAC addresses and map them to respective IP addresses, and finally the topic of cryptography as it relates to communications over networks.  The link layer's main protocol is ARP, or the Address Resolution Protocol. Its main function is to resolve IP addresses associated with specific MAC addresses on networks, and relies on switches, routers, or a lack of either, to achieve this goal. Similar to other request-response protocols, if a source system decides to send a message to a destination it must know the appropriate information, or if not discover and save such information for future reference. This is also one of the main purposes of ARP: it caches MAC addresses attached to IP addresses in lookup tables, which are discovered through broadcast and reply messages.  Cryptographic hash functions are a topic that I have always wanted to study for

CST 311 - Week 5

This week, we learned all about how IP addresses work, subnet masking, address assignment by hand and through DHCP, and how datagram forwarding works. I found this week tough because the textbook only gave high level overviews of each concept, and figuring out how to do the homework problems required a lot of thinking and searching around for information. I enjoy flipping bits and masking them, but I need a lot more studying and practice when it comes to allocating IP addresses through different subnets by hand. I found some cheat sheets that were somewhat useful, but I still want to understand the concept thoroughly. Assigning IP addresses by hand and datagram forwarding reminds me of the first time I learned about bitwise operations (e.g. left shift, right shift, AND, XOR, two's complement) and how confusing they were to me at first but eventually became second nature. Now, I am determined on mastering the ins and outs of IP addresses!