Posts

Newbie to Newbie: Algorithmic Design and Data Structure Techniques

Image
"It's so easy even a dinosaur can do it!" Are you new to the programming world and feeling overwhelmed by the terms "algorithmic design" and "data structures"? Fear not! In this blog post, we'll embark on a journey to demystify these concepts and explore their crucial role in developing structured programs. Algorithms are step-by-step procedures or instructions for solving a problem. Algorithmic design involves devising efficient algorithms to tackle various computational tasks. Data structures are formats for organizing, storing, and managing data. They provide efficient ways to access and manipulate data. Think of algorithms and data structures as the building blocks of programming. Just as a builder carefully selects the right bricks and mortar for constructing a sturdy building, a programmer chooses appropriate algorithms and data structures to craft efficient and reliable software. Certain algorithms and data structures are better suited for s...

Newbie to Newbie: An Introduction to Java Installation

Image
Welcome fellow programmers and future programmers! For this post we are going to cover the basics of Java installation and what Integrated development environment (IDE) tools to use with your Java code. We will also delve into the concepts and features of the object-oriented design principles. Java is a versatile and widely used programming language that forms the backbone of numerous software applications. Whether you are a seasoned developer or just starting, Installing Java is a fundamental step in your journey. Firstly, you will want to visit the official Oracle Java Developer kit (JDK) download page found here: https://www.oracle.com/java/technologies/downloads/ and select the version that is compatible with your Operating System (OS). For me, I am on a windows device so I selected the Windows tab and then found the most recent JDK version to download. Once installed you will need an IDE tool in order to create and run/test your programming code. For me I used NetBeans IDE bu...

Operation Systems Theory: What are the fundamental concepts that underlie operating systems?

Image
  Operating systems (OS) control program execution, manage system resources for efficient operation, security measures, and employs error management. They coordinate software applications by interacting with hardware and users, which is crucial for executing programs and utilizing the system effectively. The hierarchical structure of operating systems reveals the relationships among subsystems, components, and subcomponents. The user interface acts as the bridge between the operating system and the user, offering information and accepting commands. It can vary from graphical to command-line interfaces. Networking involves processor interaction via communication lines, either wired or wireless, and is vital for data exchange and collaborative computing. Resource management includes the kernel, which provides fundamental control over the computer, it oversees memory management and process management. The kernel also connects to device management and I/O management, which control ha...

Database Management: A Fundamental Component of Information Technology

Image
Database Management is a fundamental component of information technology, it is closely interwoven with the principles and history of computing, major hardware components, programming languages, application software, database concepts, and network architecture and security  (Vahid & Lysecky, 2019).  Database Management is a critical aspect of information technology that involves organizing, managing, and retrieving structured data efficiently. It connects to the core concepts of data storage, retrieval, and manipulation, which are fundamental in the realm of IT and computer science. The evolution of database management is closely tied to the history of computers. The means by which computers operate, including storage devices, processors, and memory, directly influence database performance and efficiency (Sumathi & Esakkirajan, 2010). Initially, data was stored in simple file systems, but with the growth of computing power, relational database management systems (RDBM...

Network Security: Unseen Technical Threats

Image
  The ping command is a “network utility used to test the reachability of a host on an Internet Protocol (IP) network” (Nek, 2012). However, malicious actors can misuse this tool for various attacks. One attack is a ping flood (ICMP Flood). In this type of attack, the attacker sends a massive number of ping requests (ICMP echo requests) to a target system, overwhelming the target's network resources and making it unresponsive to legitimate traffic (Sankar, 2023). This causes network congestion, high network latency, unresponsive or slow network services. You would want to Implement rate limiting on incoming ICMP requests, configure firewalls to block excessive ICMP traffic, and utilize intrusion detection systems to detect and mitigate ICMP flood attacks. Another attack using Ping commands is called the ping of death. The attacker sends an ICMP packet that exceeds the maximum allowed packet size, causing the target system to crash or become unstable. This attack causes system cra...

Outside of the Classroom: Computers in the Workplace

In the healthcare industry, computers are crucial, ranging from patient care and record-keeping to research and development. Here's an overview of the functions of computers in healthcare and the importance of computer literacy for employees in this industry. Computers are used to create, maintain, and access electronic health records. EHRs like Epic, Cerner, and Meditech store patient information. To include medical history, diagnoses, medications, treatment plans, immunization dates, allergies, radiology images, and laboratory test results. Computers aid healthcare professionals in making informed decisions by providing evidence-based recommendations. These systems can analyze patient data to offer guidance on diagnosis, treatment plans, and medication dosages. Computers facilitate remote consultations, diagnostics, and monitoring of patients through telemedicine applications. This is particularly important for reaching patients in remote or underserved areas. Computers are utili...

Traveling Through a Network: Understanding Ping and Traceroute Commands

Image
Using the ping and Traceroute commands can provide valuable insights into how packets travel through a network and help troubleshoot internet connection problems. “A computer communicates via the Internet by sending a packet, containing information like an address for a destination computer, the data size, and the data itself” (Vahid & Lysecky, 2019). Traceroute Result Analysis: The Traceroute command reveals the path packets take to reach a destination, hop by hop, showing the IP addresses and roundtrip times for each hop. In the example provided, we traced the route to "google.com" (IP address 142.250.217.78) from the local network. The first hop is the local router with a minimal roundtrip time (3ms). Subsequent hops traverse through various routers within Comcast's network. Eventually, the packets reach Google's servers with an increasing roundtrip time. The ping command measures the roundtrip time for a packet to travel from the source to the destination an...