Wednesday, July 3, 2019

Peanut Butter and Jelly as an Algorithm?

When it comes to understanding algorithms and data structures, we first have to understand what algorithms and data structures are. The easiest way of explaining algorithms is to describe an algorithm as a set of instructions. It doesn't have to be computer related though, that's what most people would associate with algorithms. The set of instructions for making a peanut butter and jelly sandwich is the algorithm for making a peanut butter and jelly sandwich. What I'm trying to say is algorithms don't have to be super tricky to understand computer instructions, they can be as simple as using a program to count the number of students in a school. Data structures are the ways of managing data passed to the computers. The data can be stored in various ways like trees and lists.

Pen and paper are your best friend.

If you're ever tasked with creating your own algorithm and data structure, the first step is to write down the tasks that you'll need the program to process. By writing out the steps, you're creating a framework for your algorithm, which will make it easier to program. After your framework is completed, it's time to start writing out your code.

Let's say we've been given a task of taking in user input, maybe a list of countries the user has visited, storing that data in a list, and then retrieving requested data.

Our algorithm would look something like

Take in user information.
Store data in a list
Use list methods like add and remove to edit the list and retrieve information.

After creating a new Array called countries, using the .add() method we can add in the user's data. It may look something like:

countries.add("Canada");
countries.add("Mexico");

The Array holds Canada and Mexico now.

If we wanted to return the whole list to the user we could use a for loop coded like this:

for (String n:countries){
            System.out.println(n);
        }
The code would iterate through the array, regardless of the number of entries the user inputted. Now let's say the user made a mistake on one of the countries that are entered. We can use the .remove() method to pass through the index that needs to be taken out of the array. Then using the for loop again, we can reprint the updated list.

This is a simple example of how to turn a few instructions into an algorithm and how the information can be saved.

Good luck!

Thursday, June 6, 2019

So you want to program with Java?

You feel ambitious. You know it's time to learn something new. You have a desire to learn some form of programming and heard that Java would be an excellent place to start. If this describes you, then you'll want to read on and learn a little more about what Java is and how to set up the coding environment and write your first code.

Saturday, June 1, 2019

Operating Systems: Theory and Design

Operating Systems: Theory and Design
Jacob Harrison
CPT 304 Final Project
Dr. Limon
06/01/2019


     I always believed that an operating system magically makes a computer work. I never realized there were so many "moving pieces" to the creation and implementation of an operating system. This paper will set out to describe the five major components of an operating system, with diagrams included to further enhance the understanding of the concepts.

Thursday, February 14, 2019

Blog Post 7 - Understanding Network Security

I chose to write about network security, what it means and how to implement features to protect a network. Throughout our course and text, we’ve discussed the concept of information technology. Networks play a major role in IT. Whether it’s a personal home network, connecting a couple of computers to a printer, or something larger such as a major organization’s network of computers, or even bigger, the World Wide Web, all networks require some form of security. According to Cisco, “network security combines multiple layers of defense at the edge and in the network” (What is network security, 2019a). Our text discussed the different types of attacks computers can face, such as DDOS attacks, malware attacks, and trojans (Vahid & Lysecky, 2017). These types of attacks, as well as others, can go undiagnosed or prevented based on the level of security in place for each network.

Monday, February 11, 2019

Blog Post 6 - Network Security

During our week three assignment, we used the ping and tracert commands to understand better how data travels through networks. Through my research of the ping command, I learned about attacks that can be executed. DoS and DDoS attacks can be crippling to websites and are not difficult to execute. A DoS attack, or denial of service, is executed when a user uses the ping command to overwhelm a system, slowing it down or causing it to completely shut down (Vahid & Lysecky, 2017). A DDoS, or distributed denial of service, is when an attacker uses a botnet (a large network of computers under the attacker’s control) to send a very large number of requests to website blocking access for actual users. DoS and DDoS attacks are not limited to just computers, anything that is connected to the internet can potentially be a victim of these types of attacks (Delving into internet ddos attacks, 2018). These types of attacks cost organizations time by trying to block the attack; they can also cause significant monetary damage due to the downtime of the website and loss in productivity. To block these attacks, the IT department can ensure that their network is behind a firewall. The firewall will allow the team to block IP addresses of incoming attackers.  They should also have an intrusion detection system in place to identify potential threats and stop any illegal activities.

Blog Post 5 - Computers in the Workplace

I worked in the banking industry for six years, and computers are integral to the industry. The computer systems we used kept detailed information about each customer, a record of credits and debits to accounts, and payments to loans. We were able to see a lot of data about a customer’s usage and the bank would make product recommendations based on the information.

Tuesday, February 5, 2019

Blog Post 4 - Traveling Through a Network

I found the traceroutes to be particularly interesting because it was fun to see where the data traveled. I chose to use a website that could be found in different countries, to see if their servers were hosted in those countries as well. So, I decided on cnn.com, cnn.co.jp, the Japanese version, and news18.com which is India’s version. Below are the pings and traceroutes.