Blog

  • Describe networking

    Computers are pretty powerful all by themselves. But things got really cool when humans figured out how to get computers to “talk” to one another. Computers talking with one another by sending data back and forth is called “networking.” When a bunch of computers can talk to one another, it’s called a network.

    The Network Adapter

    Modern computers have these special things inside called “chips” that allow them to talk to each other. These special computer chips are called a network adapter.

    The network adapter in a computer is what talks to the other computers. Well, it’s one of the parts that does the talking. We’ll talk about another part of the computer that handles different types of data later.

    Local Networks

    A local network is a set of computers joined together. A router is a special computer that controls who can join and how those computers talk to each other. It’s “local” because the network only includes those computers that are allowed to join it.

    Illustration of a network and router. Includes a transparent home and computers in each room with a router connecting them all.

    Think of a local network like your home refrigerator. Only certain people can get food out of it. They have to be allowed in your home and given access to it. It’s “local” in that sense. Your grocery store is “open” in that anyone can go in and buy items.

    The Internet

    Probably the network most people know about is the internet. You may not have thought about it quite this way before, but the internet is a huge network — probably the biggest one that exists. The internet makes it easy for people from all over the world to send data to each other and that makes it a network.

    A Special Piece of Hardware

    Local networks need a network adapter that enables computers on them to talk. Talking to the internet requires a special part called a modem. A modem works a lot like a local network adapter (in fact, the modem is a kind of network adapter). Modems are found in mobile phones as well as the type of computer your internet service provider (ISP) uses to connect your home to the internet.

    Network Adapters and Modems Working Together

    When your library or store provides a “WiFi name and password,” they give you access to their local network. When you connect to WiFi, you connect to their network using your network adapter on your phone, tablet, or laptop. Their WiFi connection then “talks to” their modem, and the modem talks to the internet. You can connect to the internet at home this way too.

    Some businesses have what are called “open networks.” These networks allow you to connect without having to enter a password.

    Your mobile phone has both a network adapter and a modem. When you’re on WiFi, you’re connected to a network adapter that then talks to a modem to get on the internet. When you’re mobile and using your phone company’s cell network, you’re using the modem only on the phone.

    https://cosmicnext.com/web-development

  • Understand storage

    When someone asks, “How much memory does that computer have?”, exactly what they mean isn’t always clear. Computers need memory in order to think about what they need to compute. This type of memory, random access memory, is also called short-term memory. But what if you want to turn off your phone or laptop and come back to something later? Well, you need memory for that too. People use the same word for two different things!

    Long-term Storage

    The second type of memory is more accurately called “storage” or long-term memory. The first type of memory, RAM, is only active when the computer is on. Once the computer is off (or a battery runs out), whatever is in RAM goes away. Long-term storage is different, storing data on stuff that doesn’t need power.

    For example, when you want to remember items for a grocery list, you may write it down on paper and take it with you so you “don’t forget.” You take something from your short-term memory (your brain) and put it on something that will last (your list) even if you lose it from your memory. You can go to sleep and pick up your grocery list in the morning and take it shopping.

    Illustration of a list with 'don't forget' at the top.

    Types of Storage

    The stuff used for storage is varied, but the two main types we’ll look at are magnetic storage and digital storage.

    Hard Disk Drives

    Early computers often used magnetic tape to store their stuff. This tape was similar to the audio tape used to record and play back music. One disadvantage of tape was that computers couldn’t get to any data on it “randomly.” Computers had to rewind or forward through the tape to get to the spot they needed. This could be a slow process.

    Then came disks that spun fast and used an arm and head to read and write information (sort of like a record player). This is called a hard disk drive, or HDD. These use little magnets to hold data like a tape does. Unlike tape, though, HDDs are much faster, don’t break as much, and let people get to information rapidly, regardless of where it is on the disk.

    Hard disks are still used, though people use them less since the physical size and cost of the second type of storage, solid-state drives, have come down while the amount they can store has gone up.

    Solid-state Drives

    Solid-state drives (SSD) have no moving parts. They store data on small circuits as opposed to magnetized disks. Since they have no moving parts, they tend to break less, are lighter, and tend to be smaller. Many SSDs are faster and last longer than hard disks. Solid-state disks also tend to use less power.

    Similarities

    Both hard drives and solid-state drives can hold a lot of information. Some of the biggest drives can hold terabytes of data.

    If you printed all the data just one of these drives can store and stacked the sheets on top of each other, the stack would be taller than the tallest building in the world!

    These drives also connect to the computer in similar ways, so people can use one or the other without having to buy a new computer.

    https://cosmicnext.com/testing

  • Examine random access memory

    Processing all those ones and zeros can take up a lot of brain power. Even the mighty GPU is limited in how much work it can do. In order to solve this problem, computer scientists created something called random access memory, or RAM for short. RAM was invented to store chunks of data that the CPU can grab and use when it needs it and temporarily store it when it doesn’t.

    Think of it like your own short-term memory. Say you’re talking with someone. As you’re talking, you remember three things you want to say. When it’s your turn, you remember the first item on your list and “store” the other two for use later. As you speak, you may then move on from the first topic (but hold on to it so you can come back to it later). You then talk about the second topic (or third if you want to skip around). You may go back to each of those topics over the course of your conversation but you’re only talking about one at a time.

    Illustration of a person having a conversation with another person with lists hovering above their heads.

    Random access memory works similarly. The CPU can think about only certain data at a time, so it keeps the rest in memory until it needs it. It’s referred to as “random” because the CPU can think about anything stored in memory anytime it wants.

    RAM on a computer tends to be fast. But it also can cost significant money relative to the other parts in the computer. However, when buying a computer, it’s generally a good idea to get as much as you can afford especially when you tend to work on large files like drawings.

    https://cosmicnext.com/supply-chain

  • Investigate processors

    Since the main job of a computer is to compute, the main “brain” (called a microprocessor) on a computer is the “central processing unit” or CPU. There are other chips in a computer all attached to a circuit board called the motherboard. But it’s the CPU that does most of the thinking when it comes to how a computer works.

    The Central Processing Unit

    All computers need at least one CPU–even a smartwatch. Modern CPUs are built to think about billions of commands per second. This gives them a lot of power to do really hard things in less than a second.

    Illustration of a CPU like brain.

    How a Computer Thinks

    All computer problems can be broken down into a very simple language, a digital language: 0 and 1. This means that the computer turns lots of switches on and off very fast. This simple idea was discovered by a man named Alan Turing and his machine is called a Turing Machine.

    In many ways, a light switch is a digital machine. The light switch can be on or off. We can tell whether it’s on or off just by looking at it. The light switch is simple, but imagine many light switches working together. That’s what a computer does.

    Digital Processing

    All modern computers are digital machines turning switches–lots of switches–on and off very rapidly to do all the magical things a computer does. It turns those billions of on and off switches into sights, sounds, words, and even motion.

    One More Processor

    While the CPU is the main brain in a modern computer, there’s another rising star worth talking about. The graphics processing unit (GPU) makes all those cool graphics you see on screen. But it’s also very fast. If you thought the CPU was fast, graphics processors are even faster.

    GPUs were first designed to create all those wonderful things you see on the screen. Because it had to handle graphic processing, which is very complex, the GPU had to be very fast. So scientists came up with new chips to handle graphics. When things get fast, they also tend to cost more money. This means that graphics chips are used only for special jobs.

    Illustration of scientists working on a hard problem like climate or genetics in a lab.

    Though the GPU had this one job to do at first, scientists started seeing other uses for the GPU. Because of its speed, some people started using the GPU for very complex math problems. Mining something like Bitcoin has been a primary use, but scientists are using GPUs to solve complex problems about the weather, for example.

    The GPU will come up in topics about cloud computing. The GPU is a resource many cloud providers are turning to in order to help speed up computing over the internet.

    https://cosmicnext.com/software-development

  • Explore personal computers

    A popular Disney movie from the 1980s, TRON, attempted to explore the inner workings of a computer system by putting a human explorer in the computer itself. Though dated today, the movie enabled people to see inside a computer in a fun way.

    This unit will cover what makes up a personal computer (PC) without all the hassle of having to become digital and fly around inside of one.

    https://learn-video.azurefd.net/vod/player?id=2fcc8ac4-4e50-43e0-8fdb-a6183e516b15&locale=en-us&embedUrl=%2Ftraining%2Fmodules%2Fexplore-computers%2F2-explore-what-personal-computer

    Basic Items

    There are certain items that a computer must have and those things that most computers in fact do have. When you think of a personal computer, you may think of a laptop or desktop computer. These types of things generally get the label “PC.” In this module, we’ll use the term “computer” to include a laptop or desktop but also things like a mobile phone, tablet, and even a gaming device.

    The Must-Haves

    All modern computers, in order to fit the name “computer,” include at least two things: a processor and memory. We’ll talk about these items in more detail in the next unit. When you think about the name “computer,” the main thing it does is compute. In order to compute, it has to have a “brain” that does the thinking and somewhere to keep the facts it uses to compute. This is what the processor and memory do in computers.

    The May-Haves

    Most computers these days also have long-term storage (a place where the device can access data over time) and a network adapter for talking to other computers. As the parts that make up these things have gotten smaller, these additional parts can be made to fit into things as small as a light bulb.

    Putting It Together

    These four parts make up the basic parts most modern computers need. The processor does the thinking. The memory remembers items to help the processor think. The storage keeps things around for later. And the computer uses network adapters to talk to other computers.

    Now that you have the basics, let’s dig into each of these items a bit more.

    https://cosmicnext.com/school-management

  • Explore accessibility

    Like many modern devices, computers were largely designed around most people’s abilities. People needed to see to use a monitor. They needed to use their hands to use a mouse and keyboard. They needed to be able to hear the sounds the computer made. Many times, designing for the majority of people makes sense at the start. But over time, opening up designs to as many people as possible is essential.

    Accessibility is the term scientists use for how easy or difficult it is to use something. The term access is built in. As programmers think about accessibility, access for all should be the goal.

    Access for All

    Making computers that everyone can use takes a lot of thought. Some computers are made specifically for people with unique needs. Sometimes, tools are made to help those with unique requirements use standard computers. Programmers need to build programs that work for both types of computers. In the past, as the industry was just forming, accessibility was an afterthought. Today, it’s being written into the code.

    Here are some examples of areas that computer scientists have had to think about to make computers more accessible.

    Vision

    People with low vision may need to enlarge the text on the screen. Doing so may impact everything else that’s being shown. Suppose the text on a button gets bigger, but the button doesn’t. The text may go outside the button, making it hard to read. So the program needs to adjust everything when some parts are enlarged.

    Diagram showing an eyeball.

    Color is another consideration. People with color vision deficiency can’t rely on color alone to tell the difference between things on a screen. Programmers shouldn’t rely on color alone to communicate important information.

    How items contrast with each other can be a challenge for certain people. People with light sensitivity may not be able to see a light color on top of a white background. Ensuring items have good contrast can help make a computer more accessible.

    Individuals that are visually impaired also rely on screen readers to access content on their computers. Screen readers read every item of text on the screen and help people get around. Items like images can’t be read, so describing an image in text is important. Images should include alt text. This text can be added to an image so a screen reader can read it.

    Hearing

    While people may tend to think of computing as mainly visual, modern devices use a lot of audio too. Programmers should never rely on audio only to communicate to the user. For example, most modern phones will have the option to vibrate and ring when a call comes in. This vibration option is called haptics.

    Diagram showing a vibrating mobile phone.

    Some devices enable haptics for other types of things too. Pressing a button on a keyboard may include a slight vibration. This gives people with hearing loss a connection to the keys they’re pressing.

    Motor Skills

    People with limited motor skills can have trouble using a mouse or keyboard. Modern computers have many tools to help. Using their voice to type (speech-to-text) can help a person avoid needing a keyboard. Tools like eye-tracking software and hardware can help those who are unable to use their arms or hands get around a screen.

    It’s in the Code

    Many of these tools are becoming more available. Still, it’s up to programmers to take advantage of them. Thankfully, modern programming tools are making this easier. Some even have tests that can be run to help the programmer tell how accessible their program is and where it can improve.

    Helping people with different requirements is a good enough reason to make programs and computers accessible. However, building accessibility into programs can help everyone. Many tools, like haptics, have a special benefit for specific people but may be useful for everyone.

    https://cosmicnext.com/quote

  • Inspect modern cloud structure

    Programming computers has changed a lot since computers first were made. Most people rarely use large programs that do everything. Instead, programs have gotten smaller and call other programs on the internet when they need to. Programmers can spread or “distribute” the work programs need to do around the internet.

    The same kind of model can be used for hardware like the CPU, hard disks, and memory. The cloud has made this possible.

    Spread around the Cloud

    Just as software can be broken apart and linked together, the hardware that makes up the computers that run the cloud can be separated. If you have a desktop or a laptop, it has everything it needs to work. It has a central processor. It has memory and storage. It has a screen and a keyboard. It has a network adapter and Bluetooth. The computer works as a single unit.

    In the cloud, things work differently. Like modern programs, the functions of a computer can be isolated. The storage (the disks) can be separated from the brains or central processing unit. Even the networking function can be separate from the rest of the functions.

    Diagram showing a single computer with all the components separated out.

    More Power

    Separating these functions makes it easier to add power to specific functions when they’re needed. For example, if you need to solve really hard math problems, you may need more brain power. In the cloud, you can choose to increase the amount of calculating power available to the work you’re doing. If you’re collecting a lot of data, you may need more storage. Cloud computing enables you to add (or reduce) storage as needed.

    Suppose you have a small car that does fine for driving to and from work. If you need power and storage to haul something, you may have to borrow or rent a truck. If cars worked like the cloud, you could add to the size and power of your car when you need to haul an appliance or a few yards of dirt. When you’re done, you can go back to your commuter car.

    Diagram showing vehicles that go from smallest at the left to largest at the right.

    The cloud scales resources like this but goes even further. The cloud supports autoscaling, which means it can provide more space and power on-demand, or when it’s needed. It monitors the work being done (called workloads), and if more power or storage is needed, it adds it. When the need goes away, it scales things down.

    This type of hardware and device model works hand-in-hand with modern software programming. This type of computing enables people to use only what they need when they need it. It also means people don’t have to buy computers and write programs they don’t need. They can purchase the power as they need it and stop using it when they don’t.

    https://cosmicnext.com/mobile-app-development

  • Investigate modern programming

    Computer programs and the way they get to users have changed since computers were first invented. Early programs were self-contained and delivered as a complete package. Many programs had a lot of features that people paid for whether they used them or not.

    Today people call a lot of programs “apps” (short for application). Programmers can make apps that do a few things but work well with other apps. Also, the internet has changed how apps work, communicate, and even get updated.

    The Role of the Web

    In the past, everything a program needed to work had to be included in or with the program. Today, instead of having to include all the needed code with the application, developers can use code running on the internet to get work done. Many devices are connected all the time. When a program needs something (data for example), it can get the data from a program or database on the internet. This means that data doesn’t have to be included in the program.

    Here’s an analogy. Suppose, in a time before mobile phones, you were on a television show where you had to answer quiz questions. You can bring any people or books you need to answer questions on five different topics that you’re given ahead of time. You can’t call anyone to ask questions or to look things up. In order to be able to answer questions, you’d have to bring all the experts and books with you to the show.

    Diagram showing a person taking on online quiz.

    Now add a mobile phone. You don’t need to bring all those things with you. If you need to ask someone a question, you call them. If you want to look something up in a book, you look it up on the internet. You only access the information, people, and books when you need them.

    Here’s the other cool fact about this. If you don’t need to use any of those resources, you don’t make a call or look anything up. Not only did you not have to waste time and energy lugging a bunch of books around you didn’t need. You also never even have to pick up the phone because you never needed to.

    Small Code

    Modern app programming works similarly. Small chunks of code, called functions, are on the internet and can be used securely to do work. If you have a banking app on your mobile device, your bank doesn’t have to include all your banking data on your phone. Rather, the app can securely call your bank’s database when it needs the data to show you and delete it from your phone when it doesn’t. This keeps your phone free from having to store too much data.

    These little programs are called microservices. They’re a service because they do work. They’re micro because each bit of code tends to do one job. One service may get data. Another service may log you into a website. A third service may change your username or password.

    Diagram showing digital puzzle pieces.

    By breaking code up in this way, it means programs can do more with less. A small base program can be extended by calling other programs on the internet. This makes the base program smaller, which means it uses fewer resources on your device, preserving your battery and saving space on your device.

    https://cosmicnext.com/managed-it-services

  • Explore programming history

    The first computers could only do a single thing. As computers got more powerful and expensive, people wanted to be able to do more with them. Being able to tell a computer to do a wide range of things would make them much more useful.

    To enable this flexibility, the programmable computer was born. Programs are instructions that tell a computer what to do and when to do it. The instructions tell the computer what to show on a screen or what sound to make. Programs are made to respond to what the person using the computer (the user) types, says, or selects.

    Diagram showing a section of code.

    We tend to give instructions to humans in a language like English or Spanish. Computer programs have a language too. Just as you say, write, or sign words to a human, you can type (or speak) a program using the language the computer understands.

    Early Programming

    When computers started going mainstream, programs were delivered to customers on mobile disks. These disks, called floppy disks, had the entire program on them.

    For example, a spreadsheet program like Microsoft Excel would be on one or more floppy disks. Customers would buy and then “load” the program onto their computer. The whole program had to be on the disks for Microsoft Excel to work.

    This worked pretty well, but there were a few problems. If a problem in the code was found (called a “bug”), the only way for the customer to get the problem fixed was to get an update. The updates also came on floppy disks that people would get in the mail or at a store. Many times, the updates had to reinstall the entire program with the bug fixed.

    Another problem was that programmers couldn’t update the programs without selling a new version. While this could be good for business, it meant that people had to wait months or years for the new version to come out.

    Diagram showing a person waiting.

    A third problem is that early programs seemed bloated to some people. This means that the program had to include anything that someone might want to do with it. Customers had to pay for the full program with all the features whether they used everything or not.

    Big Changes

    This type of programming was used for many years. Over time, however, a different approach was developed. People thought, “What if you could break computer programs into parts that did just one or two things?” Those parts could then be linked together as needed. This is the idea behind modern programming.

    Today programs are delivered over the internet and many times are updated without you knowing about it. Programs have kind of disappeared into the background. But they’re more important than ever. The way of making them has changed, but they continue to be the heart of computing.

    https://cosmicnext.com/loyalty

  • Research computing history

    Computers and computing have advanced at amazing speed. It’s hard to believe that less than 50 years ago, there were no such things as cell phones or the internet, at least not for the average person. In order to better understand how to program computers, we’ll take a look at where they came from. This will help you better understand why computers work the way they do. Knowing how a computer works can help improve the programs that run them.

    Main What?

    Computers were not always as small and mobile as they are now. Today’s computers can do everything from intricate drawings to navigating complex roadways. People can do those things with the small device in their pocket.

    The first powerful computers were the size of a room and many of them did a single task. The British Colossus code-breaking computer of the 1940s is a good example. Another is the IBM 7094. These big computers were used in the Mercury and Gemini space programs in the United States.

    Diagram showing a large cabinet, mainframe computer.

    These huge machines were called “mainframes” because of the cabinets (or frames) they were stored in. Some mainframes were programmed with switches. Others were fed tape that told them what to compute. In most cases, these machines did complex math to help humans save time. Programming in early computer science was difficult and time-consuming.

    Shrinking Devices

    As technology moved forward and the transistor was invented, computers got smaller. One of the early computers that many people could buy was a hand-held calculator. This device did only one thing (simple math), but they were pretty affordable and portable. These evolved into computers with screens and the ability to run programs. These changes made computers more flexible and powerful.

    As computers evolved, the computing industry grew quickly. Within 10-15 years, computers were showing up everywhere, from homes to businesses. Over time, they moved beyond being a hobby to being an essential part of work and life for many people.

    As computers became an essential part of life, a problem arose. If something on the computer broke or went wrong, people couldn’t get to the data or tools they needed. For example, suppose a business relied on a computer to take customer payments. If that business had one computer that did everything and it broke down, customers wouldn’t be able to pay for their goods. This could seriously hurt business.

    In the early days of modern computing, this happened frequently. So people started making backups. Backups are copies of the data on a computer so it can be put on another computer if needed. Businesses (and some homes) began using multiple computers too, in case one failed.

    Diagram showing tape backup disks.

    Today’s modern computers are much more resilient. New approaches to programming also make computing less prone to fail. For example, many modern programs automatically save work as it’s being created. If the computer program fails, the data isn’t lost.

    A Long Way

    Computers clearly have come a long way. Mainframes were a big change in how people did complex work. Smaller “microcomputers” brought computing to many more people and made them mainstream. As computers became more important, they had to get tougher. The next big change in computing is happening now. It’s distributing the work computers do to the cloud making things more reliable and powerful.

    https://cosmicnext.com/it-support