Sunday, July 24, 2016

CST 361s Week 3

Week 3

The content to read and watch was shorter this week probably because we had to do a project called the "community scan". This project requires us to go into communities that we aren't necessarily comfortable with and interview residents, take photographs, and analyze the community in general. It's pretty uncomfortable and I really hope we don't have to do another project like that again. The reading this week was nice because it encouraged us to take into consideration what other people feel and not impose how we feel about things on them (specifically speaking of the "Golden Rule"). The video we watched showed how different learning centers are using technology to teach kids to play, learn and explore. The video is at the end of this post.

I am behind on hours with my service learning partner and I am hoping to make that up this week. This was the last week of my other course that has been very reading and writing heavy. I expect to have a lot more time to dedicate to my service learning partner now. Trying to balance everything has been very difficult and I feel really bad for not being able to put that much energy into working with my partner.


Sunday, July 17, 2016

CST 361s Week 2

Week 2

This week has been very busy for me. I have one week left on my history course that I'm doing at the same time as this one and I can't wait for it to be over so that I can put more effort into this service learning course. Additionally, I've had a late start with my service learning partner and am just barely getting the paperwork turned in so I haven't had the opportunity to get working hours in. I'm hoping that this next week I can swap that all around.

The course work for this week has been really interesting. We read some case studies on schools that are local to Los Angeles and how they have and haven't been working with technology. I believe that our academic system is embarrassing and I really enjoyed hearing more about how other schools are handling their lack of funds and lack of quality instructors. In LA, I also believe that there's an issue with the housing marking. Teachers don't get paid enough to live in LA and it really impacts the schools in the area. There are a lot of issues from my perspective and I'm glad to see that people are writing about them and making them known.

At the end of this course, we are supposed to create a video documentary. I'm pretty nervous about it because I'm doing it completely remote and won't necessarily have the footage. As I go along, I'm hoping to get some footage of their website and some of the major improvements that I make to it. I also think I'll start recording some audio samples in week 4(ish) that I can put into the final presentation. Getting some general videos of the beach or something would probably be good. I can use that as a backdrop. It'll probably be Santa Monica, but one can use their imagination to believe it's Monterey Bay instead.

Saturday, July 9, 2016

CST 361s Week 1

Week 1

We're already in the first week and I've been extremely stressed out because I don't have a finalized service-learning partner and we're basically out of time. Additionally, I'm in the middle of a reading heavy history course through another college (which ends in ~2 weeks) that has made it very difficult to send out more emails and line up service partners. Honestly, I didn't think it would be so difficult but I'm finding that my work hours make a lot of the in-person volunteer work unavailable to me.

As far as the reading for this course has gone this week, I've really enjoyed the topics. They're relevant to what's going on in society right now and since the founding of this country. We've read a couple of items on what makes up someone's identity, social privileges, and social marginalization. It's really important to try and be empathetic with all different types/groups of people and I think we can always use reminders of this.

I'll hopefully have finalized a service-learning partner next week and will have more to say! I've a couple of leads, but we will see what happens.

Tuesday, June 14, 2016

CST 311 Week 8

Week 8

The material for this week is much smaller because it is due the same night that week 7 is supposed to complete. Because of this, it's also been a very rough final week with regard to assignments. The material assigned for this week covered the link layer and switches. This seems like a pretty straightforward topic after covering routers in the previous week(s). The routers send data (datagrams) based on IP addresses and the switched send data (frames) based on MAC addresses. Switches are intended to be used within a network.

I'm really glad this course is coming to an end. I've enjoyed it in the sense that it has been challenging and I feel I've learned a lot, but I'm exhausted and it's been very difficult to maintain my study discipline. There are three days until the final exam. I have spent the past seven weeks studying consistently in my free time. I'll likely relax a little and do some light review each night leading up to it. Because this is not a subject I'm already familiar with, I'm less focused on my grade for this course and have been more focused on actually understanding the material. I know it'll be useful in my career (it already has been a bit!).

Wednesday, June 8, 2016

CST 311 Week 7

Week 7

This week has been very difficult because it's a full week of material and we also have to do slightly more than half of week of material ("week 8") during the same week. Both weeks opened at the same time and close at the same time. I wasn't too worried about it until I got to homework #10, which was to come up with the routing table for a particular node in a network using the distance vector algorithm. I wanted to make sure I completely understood it (it took a lot of videos and reviewing the textbook). The textbook wasn't very helpful for the distance vector algorithm. It does a good job of explaining what's happening in the network, but doesn't use accurate mathematical syntax and has a some very confusing pseudocode to explain the algorithm. The videos were helpful, but weren't very precise on the steps needed to complete the second iteration of the algorithm. The topic Dijkstra's algorithm was much easier to follow (and was assigned in homework #9). This was the first half of the week that covered the rest of the Network layer.

The second half of the week began covering the link layer. There were a couple of longer videos on this topic. They covered parity errors and MAC protocols. The one on MAC protocols was long because there were a lot of protocols to cover. They're divided into separate kinds, which are channel partitioning, random access, and "taking turns" protocols.

The lab was focused on ICMP and traceroute, which I can't even remember if we have had this topic presented to us. These concepts are all completely new to me and trying to remember all of the details (and acronyms!) is very hard. It definitely worries me about the exam because the exam is worth 1/4 of our grade, I'm not a great test taker, and it's closed book. One more week of material left and I should have adequate time to relax a bit and review all of the topics covered for the final.


Tuesday, May 31, 2016

CST 311 Week 6

Week 6

There were a lot of videos to watch this week and a there was plenty of information covered. I struggle to remember everything after doing the lab and homework assignments, which focused on performing traceroute commands to obtain router information, implementing the longest prefix matching forwarding tables, and reassigning IP addresses using DCHP (analyzed with Wireshark).

I'm hoping the upcoming weeks are short again so that I can get through that material and get enough time to review the material from the past two weeks. There's been a lot of information and I've been doing my best to keep up with it all and take it all in, but it's very difficult.

Tuesday, May 24, 2016

CST 311 Week 5

Week 5

This week was pretty intense content-wise. This has been the most challenging course for me in this program, but I am happy about it. I feel like I'm walking away each week with a new understanding of how the internet is working. It definitely helps me feel more in-tune with my surroundings at work, too. This week at work we have been having some frustrating issues with the VPN client, Pulse (Juniper Networks). It drops a lot of packets when a particular packet size is sent. If I recall correctly, it's hitting the congestion window size. I didn't understand all of the specifics of it, but I could at least somewhat follow the conversation around it and I thank this course for that.

This week we covered TCP's sequence numbers and acknowledgements, reliable data transfer, connection management, and TCP's congestion control algorithm. However, I heavily focused on TCP's congestion control algorithm. There was a quiz this week that was pretty difficult for me after reading the textbook and re-watching videos on the topic, but I think I figured it out okay. I felt like some of the concepts were just taking a really long time to click. One of the professors sent out some videos as additional resources and one of those ended up helping me, but it's also possible I was just more awake when I was working on the problems.

Monday, May 16, 2016

CST 311 Week 4

Week 4

This week caught me off guard because I didn't look at the due dates well enough to recognize that both week 3 and week 4 were due the time that week 3 was due (meaning week 3 and week 4 were combined into week 3). Week 4 is actually a week off to study for the midterm on the Saturday of the actual week 4. There were lighter work loads for both week 3 and week 4, but they were presented as being lighter to give the students more time to study for the midterm and I didn't read it as two weeks condensed into one. It would probably have been more ideal to just tell us all that all of the material was for week 3 and there isn't material for week 4 to give us time to study for the midterm. So, I found this frustrating. I always do my assignments as quickly as possible at the beginning of the week so that I don't have to waste my energy on stress surrounding deadlines.

As for the material, we covered the transport layer in more detail, multiplexing, demultiplexing, and UDP. The point of the transport layer is to provide communication between the host's processes. Multiplexing is done at the sending host and adds a transport header. Demultiplexing is done on the other side (receiving host) and breaks apart the header to send the data to the correct socket. UDP is an unreliable, unordered delivery protocol. Our Wireshark lab was focused on UDP this week.

We went into a surprising amount of detail this week with regards to calculating the checksums on UDP headers. The checksums are used to quickly check if a UDP segment has an error or not. While they're not a reliable way of checking for errors, they can help signal that something may have gone wrong. To do the assignment we had to understand binary addition. I'm glad I'm also enrolled in an Operating Systems course that taught me how to add binary numbers this semester because this course didn't provide any assistance there and it was necessary to complete the homework assignment. Calculating a checksum is done by doing this:
  1. Add two binary numbers (we added bytes, UDP uses 16-bit integers).
  2. A "wraparound" will be at the beginning of the sum (0 or 1) at the number of bits you're adding plus 1 decimal place.
  3. Remove the "wraparound" from the beginning of the sum and add it to the rest of the binary integer.
  4. Flip all the bits to be the opposite (0101 -> 1010).
  5. That is the checksum!

Sunday, May 15, 2016

CST 311 Week 3

Week 3

I got behind a bit this week due to the lab taking me a long time. Many of the prompts that we were supposed to perform didn't work because the DNS servers were no longer public or no longer existed. I made the best of it and used alternate ones and also relied on the results that the author of the Wireshark labs had received. I also work on OSX, so I've had to find the equivalent commands of those that are provided in the lab (Windows commands).

The content covered this week was SMTP (Simple Mail Transfer Protocol), DNS (Domain Name Service) and how various applications utilize these. These are all very relevant to what I've been doing at work. Coworkers have explained parts of these to me, but I just didn't completely understand some of the tools I was using. I've enjoyed becoming more familiar with the tools that have been presented this week. I've used ifconfig (ipconfig equivalent) at work to find my IP address at work pretty frequently.

We watched a video, called "A Day in the Life of an Application", that explains how some services work. I really enjoyed learning how a voice call works over Skype and how peer-to-peer sharing work. I'd heard of (and used) peer-to-peer sharing systems in the past and never really understood what was going on under the hood. I love the idea of being able to obtain data from several people that are also downloading the same content. Now I understand why you'd want to have many people downloading the same thing. All I used to understand was that it was faster and more likely to complete when there were more users.



Sunday, May 8, 2016

CST 311 Week 2

Week 2

This week has been very informative and took be a bit longer to complete in comparison to last week. That may be because I took more detailed notes when I watched the video to help me complete the quiz for the end of the week's content. I think it was beneficial to take the notes. Even when I didn't capture the information that I needed there, I was able to go back and reference the correct video to get the information I needed.

This week we've been focused on HTTP and FTP. Getting to know the different protocols has been very interesting. I had a general idea of HTTP, but no knowledge of FTP. It's really interesting that FTP opens an additional port to transfer data and then closes it immediately after the data is sent, but keeps one open regardless of the data being sent.

A simple socket programming exercise was sent out this week. I've been working on it in Java (there's a handful of languages to pick from). So far I haven't had much luck, but I am going to continue chipping away at it. I think it's a really good exercise and I personally benefit from hands-on experience, so I'm really happy about this extra credit assignment. Really, I wouldn't be too upset if it were a regular homework assignment.