Posts

CST 370 - Design and Analysis of Algorithms - Week 1

Image
  This week in CST 370, I gained a foundational understanding of algorithms and their importance in solving computational problems efficiently. I learned that an algorithm is a sequence of clear and finite instructions designed to solve a problem for any valid input. Euclid's algorithm for calculating the greatest common divisor (GCD) stood out as an excellent example of how simple steps can lead to powerful solutions. Also, I learned about alternative methods for GCD calculation, such as the Consecutive Integer Checking Algorithm and the Middle-School Procedure, which showed different approaches to solving the same problem. These methods helped me understand the complexity of algorithm design and how problem solving can be approached from multiple perspectives. I also learned more about data structures and algorithm analysis, which are crucial for evaluating the efficiency of solutions. Understanding the principles of sorting and searching was important in order to understand algo...

CST 311 - Intro to Computer Networks - Week 8

Image
  This week in CST-311, we learned about operational security in computer networks, specifically about the role of firewalls and intrusion detection systems (IDS) in protecting networks from external threats. Firewalls act as the first line of defense, filtering incoming and outgoing traffic based on predefined security rules, and ensuring that only authorized communications pass through. We learned about the different types of firewalls, including packet filtering, stateful inspection, and application layer firewalls, and how they can be configured to secure various network layers and services. Additionally, we learned about the concept of demilitarized zones (DMZs), where firewalls are used to segment public facing servers from the internal network, adding an extra layer of protection. Besides firewalls, we also covered intrusion detection systems that monitor network traffic in real time to detect and respond to suspicious activities. IDS can be network based or host based, and ...

CST 311 - Intro to Computer Networks - Week 7

Image
  This week in CST-311, we learned about the Link Layer in networking, which is the interface between the physical transmission of data and higher level protocols. Understanding the basics of the link layer and its importance in facilitating reliable communication between directly connected nodes. Then we learned about error detection and correction techniques, including parity checks, checksums, and cyclic redundancy checks (CRC), which are essential in ensuring data integrity across unreliable transmission media. Also, we learned about multiple access links and protocols, such as ALOHA, CSMA/CD, and CSMA/CA, which manage how multiple devices share a single communication channel and avoid collisions. This week also introduced us to switched local area networks (LANs), specifically link layer addressing and the Address Resolution Protocol (ARP). We covered how ARP resolves IP addresses to MAC addresses within a local network, enabling communication at the link layer. Additionally, ...

Passionate Computer Science Undergraduate

Image
  As a passionate computer science student at CSUMB, I specialize in Python, Java, and C#, with experience in game development using Unity and 3D modeling with SolidWorks. My recent projects, including an educational app built in Android Studio and a linear regression tool for exam score prediction, reflect my ability to combine technical and creative skills to solve real-world problems. I'm excited about the opportunity to contribute to innovative projects in game development and computer graphics, where I can apply my technical expertise and passion for creativity.

CST 311 - Intro to Computer Networks - Week 6

Image
  This week in CST-311, I learned about two main approaches to structuring the network control plane: per-router control (traditional) and logically centralized control, also known as Software Defined Networking (SDN). We learned about algorithms used in networking such as link-state algorithms, where each router has complete information about the network's topology, and distance vector algorithms, where routers exchange information iteratively with their neighbors. We learned about the differences between static and dynamic control, with static systems changing slowly over time and dynamic systems updating more frequently. Additionally, we covered intra-AS and inter-AS routing, highlighting protocols like OSPF (Open Shortest Path First) for intra-domain routing and BGP (Border Gateway Protocol) for inter-domain routing. Intra-AS routing is used within autonomous systems, while inter-AS routing is used for communication between different autonomous systems. We also covered SDN, whe...

CST 311 - Intro to Computer Networks - Week 5

Image
  This week in CST-311, we learned about the network layer and its essential functions. I learned that the network layer is responsible for transporting segments from the sending host to the receiving host by encapsulating these segments into datagrams. The network layer operates both at the data plane, which handles forwarding data locally at each router, and at the control plane, which manages the routing decisions across the entire network. It is interesting how routers examine the datagram headers to determine the next forwarding step, ensuring that the data moves efficiently through the network. Also, we learned about multiple aspects of routers, such as the distinction between hardware and software operations, and the importance of different switching fabrics, like memory and bus-based switching. We also covered IPv4 addressing, including fragmentation and reassembly, and the differences between IPv4 and IPv6, particularly how IPv6 was designed to improve security and efficie...

CST 311 - Intro to Computer Networks - Week 4

Image
  This week in CST-311, I learned about network security and it is applied to protect data during transmission. The first section this week covered the basic idea of network security, which focuses on protecting data from unauthorized access, misuse, and attacks. The main focus was on cryptography, the science of encoding information to ensure confidentiality and integrity. I learned about the two main types of cryptographic systems: symmetric key encryption, where both sender and receiver share a single key for encryption and decryption, and public key encryption, which uses separate keys for encryption and decryption. Public key encryption provides enhanced security by not requiring the sender and receiver to share a secret key beforehand, making it ideal for secure communications over the internet. Also, I learned about message integrity and authentication, which are important for verifying that a message has not been tampered with and that it comes from a legitimate source. Thi...