Self-paced

Explore our extensive collection of courses designed to help you master various subjects and skills. Whether you're a beginner or an advanced learner, there's something here for everyone.

Bootcamp

Learn live

Join us for our free workshops, webinars, and other events to learn more about our programs and get started on your journey to becoming a developer.

Upcoming live events

Learning library

For all the self-taught geeks out there, here is our content library with most of the learning materials we have produced throughout the years.

It makes sense to start learning by reading and watching videos about fundamentals and how things work.

Full-Stack Software Developer - 16w

Data Science and Machine Learning - 16 wks

Search from all Lessons


LoginGet Started
โ† Back to Lessons

Weekly Coding Challenge

Every week, we pick a real-life project to build your portfolio and get ready for a job. All projects are built with ChatGPT as co-pilot!

Start the Challenge

Podcast: Code Sets You Free

A tech-culture podcast where you learn to fight the enemies that blocks your way to become a successful professional in tech.

Listen the podcast
Edit on Github

Introduction to Information Technology

Programming languages

For your professional training, you need to know that knowing the basics of IT is very important. Remember that all your work will be through information technology and communications systems, so it is necessary to enter into context and know more than the basics about IT and ICT's to advance in your career.

In this first reading, you will understand what are the components of your computer, and how they interact with each other, you will delve into more technical concepts related to your next professional profile and also to elements related to users. You must take into account that to beat a hacker you must think like a hacker and that attackers anticipate new technologies to take advantage of the ignorance of users, so you as a professional in cybersecurity must understand in-depth computer science and computing as a "whole".

There are many types of malware (malicious software) and attacks that go directly against a physical component of a network or a computer, so if you know well how a computer works among other applications, you can identify and mitigate the attack much faster.

The term IT (Information technology) refers to all information technologies, and ICT is also used to refer to information and communications technologies. These technologies are in charge of all the information management of a business, related to the Internet, computing, and technology.

Information technology is the process of creating, storing, transmitting, and perceiving information and the methods of applying these processes.

Throughout history, information technology has spread in several stages such as:

  • Manual computing: this era extends from antiquity to the second half of the 19th century. It was characterized by the fact that all information was mediated by paper and person.
  • Mechanical computing era**: With the technological innovations of the end of the 19th century, this stage began and continues to the present day. Although the goal of clear communication is maintained, simpler and more efficient methods such as the telephone are implemented.
  • From 1940 to 1960, emphasis was placed on content rather than form. This is when the first computer hardware and software appeared.
  • Electronics Stage: From the 1970s onward, automated control systems (ACS) and information retrieval systems (IRS) emerged. This leads to a sophistication of equipment, and there begins to be a focus on computer science with an emphasis on the creation of meaningful information.

Currently, we live in a digitization era where all productive and day-to-day processes can be carried out straightforwardly. For example, thanks to technology, all our information is stored on servers within the internet, making communication with others easy. The IT field today is one of the most important and rapidly growing fields.

Some basic concepts related to IT that we can find are:

Computer ScienceIt is the set of scientific knowledge and techniques that make the automatic processing of information possible through computers.
HardwareThese are the physical or material elements that are part of a computer or any other computing device, such as the hard drive, RAM, or motherboard. Within hardware, we can find two groups: The CPU or Central Processing Unit: It controls everything that happens in the computer, making it possible to execute the different commands we input. Along with it, there are other elements inside, such as RAM, sound card, or graphics card. On the other hand, Peripherals: These can be input devices, allowing us to input information into the computer (such as the keyboard, scanner, or mouse); or output devices, enabling the computer to return information to us (for example, a monitor, speakers, or a printer).
SoftwareIt is the intangible part, the different programs and applications that the user will use for specific functions such as word processors or video games, and the operating system installed on the device, such as Windows, GNU/Linux, or MacOS. The operating system makes the system's operation possible, and each one will have specific features, such as a unique design or exclusive functions.
RAM (Random Access Memory)It is the Random Access Memory, where the device temporarily stores the data it needs to work. The more RAM a computer has, the smoother its operation will be, allowing for more effective multitasking.
ROM (Read Only Memory)It is the Read-Only Memory, where the basic instructions of the processor are stored.
Hard DriveIt is where information is stored on our computer systems. Storage capacity is usually measured in gigabytes (GB). Until recently, HDDs (Hard Drive Disks) were used, but in recent years, SSDs (Solid State Disks) have become popular, allowing much faster access to information and better overall computer performance.
Programming LanguagesProgramming languages are a set of rules that allow humans to interact with the computer to give it instructions and get a response. We will discuss them more deeply in the following paragraphs.
IoT (Internet of Things)The IoT (Internet of Things) is a new technological trend that involves endowing devices and appliances with the ability to communicate with the user and among themselves. Thanks to the use of sensors, network connections, software, and other technologies, traditional elements and devices such as watches and appliances, among others, exchange information.

Programming languages

Programming languages are a set of rules that allow the human to interact with the computer to give it instructions and obtain a response. There are two types of programming languages: Low-level languages and High-level languages.

Low-Level Languages:

Low-level languages are those that are closer to hardware and allow detailed control over the system. These languages are usually more directly related to the architecture of the computer's processor and memory. Some examples of low-level languages are:

  1. Assembler Language: This language is directly associated with processor-specific instructions. Each assembly language instruction is translated into a unique machine instruction.
  2. Machine Language: These are the binary codes directly understood by the CPU. Each instruction and data is represented in a specific numerical form.

๐Ÿ’ก It is important to mention that the line separating low-level languages and mid-level languages can be blurred in some cases, as there are languages that offer a level of control close to hardware without being completely low-level.

High-Level Languages:

High-level programming languages are more similar to human language and unlike low-level languages, they act above the hardware, focusing directly on the software; although there are high-level programming languages such as C or C++ that have the best of both worlds. Some specialists place them as "mid-level languages, as they can act at the low level as well as at the high level.

โš ๏ธ Many types of malware are programmed under C, C++ and Python languages. PHP, Javascript, Ruby, and other popular languages in the industry are more associated with user-level applications.

**Exercise: Research the cybersecurity use of the following programming languages: C, C++, PHP, Python, JavaScript, and Ruby.

Internet of Things

The IoT or Internet of Things is a new technological trend that consists of providing devices and appliances with the ability to communicate with the user and with each other. Thanks to the use of sensors, network connections, software, and other technologies, traditional elements and devices such as watches and household appliances, among others, exchange information.

IOT

With the arrival of IoT, from just connecting computers and cell phones to the internet to connecting watches, washing machines, and video game consoles among other electronics; a new phenomenon known as "big data" arrives. We define big data as a set of massive and voluminous data generated from different sources. The more digitized the world becomes, the more data is generated per second. Someone must keep all this information secure, which is why the demand for cybersecurity professionals is on the rise.

The concept of IoT is one of many you should be familiar with because on your first day working in cybersecurity, you could be in a company that has an IoT network.

Internet: The network of networks ๐ŸŒŽ

In a world where communication was limited to geographical distances, a new horizon began to take shape. This is the story of the Internet, a revolution that connected humanity as never before. In the mid-20th century, visionaries like J.C.R. Licklider dreamed of interconnected networks. The seed was sown and in 1969, the embryo of the network was born: ARPANET.

ARPANET united universities and research centers in a digital fabric. But it was Tim Berners-Lee who added a new chapter by inventing the World Wide Web in 1989.

Browser

With the Web, information has become accessible to everyone. Browsers such as Netscape and Explorer appeared, opening the door to an online world of infinite possibilities. The new millennium brought with it a technological boom. Social networks emerged, transforming the way people connect and share. Then, mobile devices entered the scene. Smartphones brought the Internet into everyone's pockets, creating a permanently connected society.

The cloud became the digital refuge, storing data and enabling remote services. Huge data centers rose as pillars of cyberspace. E-commerce flourished, and along with it; cryptocurrencies like Bitcoin challenged conventional notions of currency and value. Expansion knew no bounds. Virtual reality took the online experience to new dimensions, and the digital divide slowly closed, connecting even remote regions.

However, with the promise of breakthroughs came challenges. Cybersecurity became an urgent priority, facing relentless threats and attacks.

But even amid the challenges, the Internet demonstrated its ability to unite humanity. Online collaboration grew, and emerging technologies like artificial intelligence promised an even more exciting future.

And so the story of the Internet continues an ever-evolving narrative that continues to connect hearts and minds across digital oceans.

๐ŸŒ The web: The soul of the internet.

In a world where distances seemed unbreakable, a revolutionary innovation began to weave a new web of possibilities... This is the story of the World Wide Web, a change that transformed the way we share and access information.

In the late 20th century, a scientist named Tim Berners-Lee, working at CERN in Switzerland, was looking for a way to connect and share information more efficiently. In 1989, Berners-Lee presented his idea: an "information network" allowing people to create, share, and link documents. Thus was born the first website and the HTML language, the fundamental building block of the modern web.

As the 1990s progressed, the Web grew exponentially. Browsers like Netscape and Explorer emerged, opening digital doors for millions. The online world became a new territory for creativity. Companies launched websites, e-commerce began to take off and a new digital economy took shape.

In the early 2000s, the web evolved even further. Platforms like Friendster and MySpace introduced the notion of online social networking, changing the way we interact and share our lives.

Then, with the advent of mobile devices, the web became more accessible than ever. Applications like Facebook and Twitter transformed smartphones into windows in an always-connected world.

Today, the Web is a vast ecosystem of information, where millions of sites and services cover topics ranging from education to entertainment. And as we progress, emerging technologies like virtual reality and artificial intelligence are shaping a new era of online experiences.

In the following table, there are some fundamental terms in the technology and software development industry; each plays a significant role in the creation and delivery of online applications and services.

FrontEndThe FrontEnd is the part of a website or application with which users interact directly, and it consists of: menu, buttons, data input fields, informative texts, and other necessary elements.
BackEndThe BackEnd is the part of web development that ensures all the logic of a web page works. It involves the set of actions that happen on a website but are not visible, such as communication with the server.
DevOpsDevOps (an acronym for development and operations) is a methodology for software development that promotes collaborative work and aims to deliver a higher-quality product to the customer much faster.
SaaSSoftware as a Service or SaaS (Software as a Service) is a service that allows access to applications running in the cloud. SaaS providers offer access to software running on their servers, which users can remotely access using their web browser, for example. SaaS services are becoming increasingly common in the workplace due to the significant benefits they provide.

Importance of IT in Companies

Nowadays, it is difficult to discuss the importance of information technology in companies, since a large part of the daily operations, the optimization of resources of all kinds, and the protection of sensitive data depend on them; to think of an organization or company that functions without a computer engineering and information technology team is almost improbable.

Some of the functions that depend on the competencies of the IT team in companies are the following:

  • Process automation: The job of those in charge of this area is to generate solutions aimed at improving the user experience, such as payments, billing services, and warehouse control, which represents savings in time and money. This allows employees to stay focused on what is strictly related to the company's product or service.
  • Data protection**: another of the fundamental tasks of an IT department is to develop cybersecurity systems that not only keep the company's data safe from virtual threats but also protect the information of customers, suppliers, and employees.

The ability to generate software solutions, and take care of their implementation and maintenance are some of the skills of a computer scientist that guarantee professional growth opportunities, for example, in the design and evaluation of projects related to information technology.

The information technology can be very beneficial for companies since among its main objectives are to facilitate and simplify various processes, this can generate great advantages such as:

  • Saving money and time to perform these tasks.
  • Providing better security when storing information.
  • Facilitate communication between co-workers.

Responsibilities and roles in IT

Many companies have departments dedicated to meeting their information technology (IT) needs. This is usually because they need constant and reliable access to computer systems and the various benefits they offer. Therefore, once a company reaches a certain size, it usually becomes necessary for it to have its IT department.

Generally, a company's IT department has three main areas of work:

  1. The company's technology systems.
  2. Maintaining its digital infrastructure.
  3. Ensuring that all systems work together effectively.

They also typically deal with a company's hardware and software needs, which are often used by staff outside of the IT department.

Roles in IT

There are many different roles in an IT department. Some of the most common and important ones are as follows:

  • Hardware Technician: These individuals repair and maintain a company's hardware, such as servers and computers. This may include installation, procurement, security, and maintenance of computer systems.
  • Network Engineer: Responsible for designing and developing a company's networks. These individuals typically work closely with network administrators and managers.
  • Network administrator: Once a network engineer has developed a network, the network administrator oversees and maintains it for use.
  • IT Project Manager: These individuals are responsible for developing and implementing information technology projects that benefit an organization. This usually includes everything from budgeting to task assignments.
  • Cybersecurity Architect: Also known as security architects, these individuals design and develop a company's digital security systems. These security systems protect company data and other important information that is stored digitally.

Responsibilities of the IT department.

  1. Administration.

IT administration involves maintaining and repairing the company's technology systems, advising on new solutions, and helping the various departments install and use new equipment. These tasks often overlap with those of other colleagues in the department, such as system administrators and network administrators.

The most common responsibilities of IT administrators include:

  • Maintaining a company's IT and digital infrastructure.
  • Managing a company's data storage needs.
  • Assessing potential threats to a company's digital infrastructure.
  • Monitoring current customer contracts.
  • Ensuring compliance with a company's quality standards.
  1. Technical Support.

Technical support staff provides assistance to personnel who need access to the organization's computer systems. This may involve helping to troubleshoot software and hardware related problems.

Technical support duties typically include the following:

  • Troubleshooting problems with company hardware and software.
  • Creating work logs.
  • Repairing or replacing damaged or defective hardware.
  • Installation of video and audio conferencing equipment.
  • Installation and configuration of office equipment such as printers and copiers.
  • Network and connectivity troubleshooting.
  • Backup and recovery of a company's digital assets.
  • Installation and maintenance of cloud-based services.
  1. Communications

Facilitating communication between different team members can go a long way in reducing logistical problems, which is why it is important to rely on digital methods of communication.

For example, nowadays, many meetings and interviews between candidates, clients, and senior management must be organized using videoconferencing technologies.

There must be trained personnel within the IT department who manage all the necessary infrastructure to make these communications possible.

This generally includes:

  • Preparing hardware and software for video and audio conferencing.
  • Acting as technical consultants to staff and management.
  • Managing the company's user accounts and login protocols.
  • Maintaining records and backups of important meetings and data sources.
  • Uploading new data into the company's online system.
  • Maintaining and troubleshooting company email systems.
  • Setting up calls and video conferencing.
  • Providing support to users of digital communication applications.
  1. Programming.

A company's needs may include software development personnel since some of the systems it uses are developed in-house. These specialists create new pieces of software based on the needs of the company, instead of buying software packages.

The roles of programmers and developers in an IT department often include:

  • Development of dedicated software applications for the company.
  • Development and maintenance of databases for the company with dedicated software.
  • Coding in languages such as JavaScript, HTML/CSS, SQL, Python, and C++.
  • Converting documents and other files in various formats.
  • Using graphic editing and data visualization applications to copy, edit, and develop graphics.
  • Using their skills to help the company develop new solutions.
  1. Applications.

Some companies want to develop specific applications that increase user engagement with the organization. These applications may also be one of the company's own products.

In these cases, companies need to have dedicated application developers to design new applications based on customer requests or consumer needs.

The roles of application development staff typically include:

  • Assessing the needs of consumers or customers who will use the applications.
  • Conversion of customer needs into viable software applications.
  • Feasibility analysis of upgrades and requirements.
  • Development of code that performs specific tasks.
  • Development of user manuals and other means to help users operate their applications.
  • Troubleshooting, testing, and quality control for new applications.