Friday, April 12, 2024

CST 462S - Service Learning

Overall, my experience working as a volunteer for NTS was great and I wouldn't have changed it any way!

What went well? 

I'd say overall what went well was the fun I was having with all of it. When I started getting into "flow" and creating these materials, I found new ways to present things, new features on PowerPoint and Word that I haven't used before in my own projects. Overall, the excitement, the fun of it, and the enjoyment are what went extremely well.

What would you improve? 

If I had a million hours I'd improve a million things. Things can always be improved. But, if I had to choose one thing I'd say it would be from the get-go having the students' learning style in mind. I presented so much information when I was first starting out, and I was trying my best to make it simple, but I fell short. When I got advice and had to start from scratch, I really honed in on, ok, what will these students learn from and what will just go right over their heads. It made me more mindful overall, but i'd definitely improve that - making sure I have an overall idea of how to create something before I do. 

What was the most impactful part? 

The most impactful part was definitely just being an innovator. Being the very person who creates the building blocks of a curriculum for an entire community is just mind-blowing. That is definitely impactful, and will create lasting memories for days to come for these students.

What challenges did you face?

Overall, the greatest challenge was just feeling the overall pressure of creating something from scratch. I don't have a lot of experience myself with teaching or creating lesson plans, so I had to kind of teach myself how to do it. But it was a good challenge, because it made me push my boundaries of what I am capable of, and I found that I'm capable of way more than I thought!

What advice do you have for future SL students?

If you are creating something for the program, like I did, make sure after your first few hours of working on it, you send it to the site leader. I found myself working many hours only to find it wasn't in line with the vision that the leader had. I had to start from scratch, essentially. So, always check in with your site's leader to see if you're on the right track!

Thursday, December 7, 2023

CST 338 - Learning Journal Summary

Alas, the final couple weeks of the course, it has been a good one.

Looking Back at Hangman
 Looking back at the Hangman assignment, what I would have done differently is that I would first start off looking at the tests file and working my assignment around those tests rather than jumping in straight to the coding and figuring out how to do it myself. Although I did create a successful program, it is not successful unless it fulfills the requirements of the assignment. In the real world, this applies true as well. You can have perfect logic, a great working program...but if the company has certain requirements and regulations when it comes to your code, it is best to obey those practices instead of doing things your own way. I learned that greatly, and that would be my new approach if I were to do the Hangman assignment over again.

Highlight at Least 2 Victories

1) When creating classes in IntelliJ I have become more comfortable definitely with extending classes and inheritance. Using interfaces, I learned about tagging interfaces that other interfaces can inherit from even when that interface doesn't have necessarily any code. This was done in the Strategy assignment. Ability.java was a tagging interface and Attack.java interface inherited from it. Amongst many other things I learned was how to use UML diagrams in Intellij, implementing toString, hashCode, and equals methods in a Java class, utilizing HashMaps, using trim(), String Builder, creating a large Library code, using enums(Such as with Code in the Library project),  Lists, using this., properly using getters and setters, using LocalDate, and so much more.
2) I think another great success in learning how to properly create code in Android Studio. When I first opened it up, getting everything calibrated and working took a little while. I had to mess around with the SDK and the emulator a bit in order to get it working right. Now, that it is working successfully, I am proud I could do that. Working on Project 2 has been very fulfilling. I've learned how to create buttons and wire them up with the code, and I have a new tool under my belt when I learned how to use Firebase in my Android project which will probably be very useful for me in the future, and how to access the data in Firebase through my code stored in Firestore. As I come to realize this project, I know that it will be a wonderful product and achievement of my own. 


Overall, I would have to say this term in Software Design has been successful and I learned a lot! I look forward for the classes to come and utilize all I have learned. 

Monday, November 13, 2023

CST 338 Week 4 Learning Journal - Markov

 1. I worked by myself answering these questions, as I do not currently have a group.

2. My strategy was first to pan out the process on paper, as my mind thinks more freely when I have a pencil and piece of paper. I wanted to ensure I had a clear understanding of how the Markov chain would be constructed and how sentences would be generated based on the input text. I was able to then flesh out my methods based on this. 

3. This question is not applicable.

4. Perhaps now instead of struggling so much firsthand, I could get some guidance from people who have previously solved Markov chains, and then once I get that better idea I will have a better stepping point to go about creating my version. Also, maybe consider improving the readability of the code. 

5. According to myself, I consider it to follow the Google Java Style Guide fairly well, such as using camelCase for variable and method names, including comments, and proper indentation. 

Saturday, November 11, 2023

CST 338 - Week 3 Journal - Preparing for Library

 1. I just worked with myself.

2. For the existing tests functions for Book, Reader, and Shelf there are a few things that can be noted to be changed in the near future:

    a) Enhance the test coverage by incorporating more scenario-based tests such as how methods would behave under unusual conditions. 

    b)Make more thorough error handling by including tests for edge cases.

    c) Integration tests between Book, Reader and Shelf.

3. Discussing with myself, I looked over the prompt for Library. java and noted how I need to get a head start on it so that I don't fall behind. I am not too familiar with init and need to brush up on that. Looking through the entire prompt, I see that this will take a good chunk of time and need to get started. Overall, it does seem doable with the time I have allotted for myself. 

4. Some questions right off the bat that I have are 1) How does Library.java integrate with Book, Reader, and Shelf classes? 2) What are the best ways to go about error handling?  Other than those, as questions arise I will ask either the TA or the Professor. 

Tuesday, November 7, 2023

CST 338 - Week 2 Learning Journal

Well, well, well. Do I have a lot to learn from Week 2 of the Software Engineering course CST 338.

First of all, I want to say. Coding is a beautiful thing. When something works, you are so happy! And then when it doesn't work, maybe you're a little discouraged, but you keep pushing forward. A little bit like life, huh? I find that it is very rewarding, however, because it is a learning experience and process. 

Now, as for Homework #1 I'd like to say that I spent soooo much time on this. However, once I got to a certain point, I realized my code would not pass the jUnit tests. It was a little heartbreaking to realize that, and how I would lose points, but I took it as a learning experience so that next time I do a major assignment, I pay attention to the tests FIRST rather than last. 

The height of completing the assignment was when I was even able to play a doable Hangman game just with myself alone. I had the assignment randomly choose a word/phrase from a list of them in an input.txt file and it was kind of fun trying to guess what it could be. That's when I realized how awesome coding could be, as you see things flourish to life that weren't originally there before. You're kind of like your own mini creator. That's how I see it. 

Overall, a great week and I'm glad I started early on the homework. I've been learning a lot and the more I delve myself into the content, the more I find I really do like it. Before, coding used to be kind of a burden to me as there was a larger learning curve, but now I think I have significantly gotten better over the years. 

I look forward to the weeks ahead and to successfully completing the course.

Until Next Time,

-Alexandra Almeida.

Thursday, October 19, 2023

CST 311 --- Week 8

Alas, the final week of the course, you have been a good one, I cannot deny.

This week we learned about Operational Security: Firewalls and Intrusion Detection Systems.

When traffic entering/leaving a network is security-checked, logged, or dropped, or forwarded it is done by operational devices known as firewalls, intrusion detection systems(IDSs) and intrusion prevention systems(IPSs). A firewall is a combination of hardware and software that isolates an organization's internal network from the Internet at large, allowing some packets to pass and blocking others. 

A network administrator controls access between the outside world and resources within the administered network by managing the traffic flow to and from these resources, via a Firewall. 

There are 3 main goals to a Firewall: 

1)All traffic from outside to inside, and vice versa, passes through the firewall.

2)Only authorized traffic, as defined by the local security policy, will be allowed to pass.

3)The firewall itself is immune to penetration.

An illustration as to how Firewalls work:

-From the Kurose Networking Textbook.

There was a bit more to learn from this part of the textbook, but I'll keep it short and simple for now. 

Overall, from this class I learned invaluable tools that will help me in the future leading to become a Full Stack Software Engineer. The valuable insights gained will equip me to become fully fleshed as a reliable professional in the industry. It was nice knowing ya, CST 311, and I look forward to put my learnings into practice. Best to you all. 




Tuesday, October 17, 2023

CST 311 - Week 7

Now that we are at the final steps of the course, I am fully satisfied with my performance in the course and how much I have learned. 

This week we learned about the Link Layer. Its role is to serve as a communication channel that directly connects physically adjacent nodes: links. It has a layer-2 packet: frame, that encapsulates the datagram. The Link layer has the responsibility of transferring datagram from one node to physically adjacent node over a link. 

Overall, the link layer facilitates the communication between the devices on the same local network. Its primary responsibilities include framing data into packets, addressing, and error detection. This layer is also responsible for defining how data is transmitted over the physical medium, such as Ethernet cables or wireless connections. It ensures that information is reliably and efficiently transferred between devices within the same network segment, typically using MAC(Media Access Control) addresses to identify hardware on the network. 

The link layer plays the vital role of bridging the gap between the physical layer and the higher-level network layers. 

I also very much enjoyed the lab working with multiple hosts and the POX controller. At last, one half week left of the course, it shall be missed. On to the next one!


CST 462S - Service Learning

Overall, my experience working as a volunteer for NTS was great and I wouldn't have changed it any way! What went well?  I'd say ove...