ICT Reviewer PDF
Document Details
Uploaded by IntimateLynx1926
Kyoto Institute of Technology
Tags
Summary
This document provides an overview of networking basics, including switches, routers, access points and wireless networking deployments. It covers different types of enterprise networks, network architecture and key networking concepts such as IP addresses and MAC addresses.
Full Transcript
ICT reviewer Networking Basics Switches 1. Managed On-Premises Switch ○ Allows configuration and monitoring of LAN. ○ Provides tighter control of network traffic. 2. Cloud-Managed Switch ○ Simplifies network management with a user-friendly interface...
ICT reviewer Networking Basics Switches 1. Managed On-Premises Switch ○ Allows configuration and monitoring of LAN. ○ Provides tighter control of network traffic. 2. Cloud-Managed Switch ○ Simplifies network management with a user-friendly interface. ○ Offers multisite management, automatic updates, and full-stack control. Routers Connect multiple networks and enable devices to access the internet. Act as dispatchers, determining the best path for data transmission. Access Points Enable wireless connections for devices. Amplify the network signal. Support various IEEE standards, each differing in frequency, bandwidth, and channels. Wireless Networking Deployments 1. Centralized Deployment ○ Common for campuses with nearby buildings and networks. 2. Converged Deployment ○ Combines wired and wireless networks in small campuses or branch offices. 3. Cloud-Based Deployment ○ Uses cloud management for on-premises devices. ICT reviewer ○ Requires Cisco Meraki devices for network visibility through dashboards. Computer Network Components Nodes: Devices like routers, switches, or computers connected to a network. Links: Physical (wires/cables) or wireless connections. Types of Enterprise Networks 1. LAN (Local Area Network): Connects devices in a small area (e.g., home, office). 2. WAN (Wide Area Network): Spans large areas like cities or countries. 3. Cloud Networks: Hosted on public/private cloud services for on-demand access. 4. Other Types: ○ PAN: Personal networks for close-range communication. ○ CAN: Interconnects LANs in a campus area. ○ MAN: Networks within a metropolitan area. ○ SAN: High-speed access to storage devices. ○ VPN: Secure communication over public networks. Network Architecture 1. Client-Server Architecture: Centralized servers provide services to clients. 2. Peer-to-Peer Architecture: Devices can act as both client and server. Key Network Concepts IP Address: Unique identifier for devices. IPv4 is 32-bit, IPv6 is 128-bit. MAC Address: Physical address assigned to a device’s NIC. DNS: Converts human-readable domain names into IP addresses. Firewall: Secures networks by monitoring traffic. Protocols: Govern data transmission (e.g., TCP/IP, HTTP, FTP). ICT reviewer Networking Models 1. OSI Model ○ 7 layers: Physical, Data Link, Network, Transport, Session, Presentation, Application. 2. DoD (TCP/IP) Model ○ Used for internet communications. Network Protocols TCP (Transmission Control Protocol): Reliable and connection-oriented, ensuring accurate data delivery. UDP (User Datagram Protocol): Faster but connectionless, prioritizing speed over reliability. HTTP (Hypertext Transfer Protocol): Transfers web pages. HTTPS (Secure HTTP): Transfers web pages with encryption for secure communication. SMTP (Simple Mail Transfer Protocol): Sends emails. FTP (File Transfer Protocol): Transfers files between systems. DHCP (Dynamic Host Configuration Protocol): Automatically assigns IP addresses to devices. DNS (Domain Name System): Resolves human-readable domain names into numerical IP addresses. Security and Performance Encryption: Protects data (e.g., VPN, HTTPS). Intrusion Detection Systems (IDS): Detect threats. Access Control: Limits resource access. Firewall: Blocks unauthorized traffic. Latency: Time for data to travel across the network. ICT reviewer Other stuff 1. What is an IP Address? Unique identifier for devices on a network, enabling communication. 2. Difference Between TCP and UDP? ○ TCP: Reliable, ensures data delivery. ○ UDP: Fast, no delivery guarantees. 3. What is NAT? Translates private IPs to public IPs for internet access. 4. What is a Subnet Mask? Divides IP addresses into network and host portions. 5. What is a Socket? Combination of an IP address and port number. History of OS 1. Early Computing (1940s–1950s) No Operating Systems Early computers, such as the ENIAC (1945), lacked operating systems. Programs were hardwired or input via punch cards and switches. Batch Processing Systems emerged as a precursor to modern OS. Jobs were prepared offline and executed sequentially. IBM's 701 (1952) introduced rudimentary software tools for scientific computation. 2. First Generation Operating Systems (1950s–Early 1960s) Single-Tasking and Batch Systems Computers like IBM 650 (1954) used basic batch monitors. Users submitted jobs on punched cards, and the computer processed them in order. ICT reviewer FORTRAN Monitor System (FMS) developed by IBM streamlined the execution of FORTRAN programs. These systems were single-tasking and could not handle interactive tasks. 3. Second Generation (1960s) Multiprogramming and Time-Sharing CTSS (Compatible Time-Sharing System, 1961) at MIT was one of the first time-sharing systems, enabling multiple users to interact with a computer simultaneously. IBM introduced the OS/360 (1964) for its System/360 mainframe family, supporting batch and time-sharing modes. This marked the beginning of standardized operating systems. The development of Multics (1964) by MIT, GE, and Bell Labs introduced concepts like hierarchical file systems, security features, and virtualization, influencing later OS designs. 4. Third Generation (1970s) Unix and Personal Computing Ken Thompson and Dennis Ritchie developed Unix (1970) at Bell Labs, emphasizing portability and multitasking. It was written in C, making it easier to adapt to various hardware. The CP/M (Control Program for Microcomputers, 1974) became a popular OS for early personal computers (PCs). IBM's VM/370 (1972) introduced virtual machines, allowing multiple instances of an OS to run on a single machine. Apple introduced the Apple DOS (1978) for the Apple II, which included a file management system. 5. Fourth Generation (1980s) Graphical User Interfaces and Networking Microsoft released MS-DOS (1981), based on SCP's 86-DOS, for the IBM PC. It became the foundation of personal computing. Apple introduced the first widely adopted graphical user interface (GUI) with the Lisa OS (1983) and later Macintosh System Software (1984). Microsoft’s Windows 1.0 (1985) brought GUIs to IBM-compatible PCs, albeit with limited success initially. ICT reviewer Unix variants like BSD (Berkeley Software Distribution) expanded Unix's utility in academic and business environments. Networking OS like Novell NetWare emerged, supporting file sharing and communication over local area networks (LANs). 6. Fifth Generation (1990s) The Rise of Modern OS Windows 95 (1995) introduced a user-friendly GUI, multitasking, and support for 32-bit applications, solidifying Microsoft's dominance. Linux, initiated by Linus Torvalds in 1991, brought open-source Unix-like OS to prominence. Apple's Mac OS (Classic) struggled during this era, leading to the development of Mac OS X (2001) based on NeXTSTEP. Real-time operating systems (RTOS) and embedded OS, such as QNX, gained traction in specialized environments. 7. Sixth Generation (2000s–Present) Mobile and Cloud Computing Windows XP (2001) became one of Microsoft's most successful OS, known for stability and ease of use. Apple’s Mac OS X evolved into a robust Unix-based system with features like Spotlight and Time Machine. Mobile OS like Symbian (early 2000s) paved the way for modern smartphone OS. Google’s Android (2008) and Apple’s iOS (2007) revolutionized mobile computing, offering app ecosystems and touch-friendly interfaces. The rise of cloud-based OS (e.g., Chrome OS) catered to web-based applications and remote computing. Virtualization platforms like VMware and Hyper-V became essential in enterprise environments. 8. Key Trends and Modern Innovations Containerization: Platforms like Docker and Kubernetes optimize resource use by running applications in isolated environments. IoT Operating Systems: Specialized OS like TinyOS and FreeRTOS power Internet of Things (IoT) devices. AI and Edge Computing: Operating systems now incorporate AI for predictive tasks and support edge devices for localized processing. ICT reviewer Security Enhancements: Modern OS focus on robust encryption, sandboxing, and frequent updates to counter threats. Computer Hardware: Overview and Components What is Computer Hardware? Definition: Physical components of a computer that can be seen and touched (e.g., monitor, CPU, mouse, etc.). These parts work together to process input and provide output based on user instructions. Main Categories: 1. Hardware (physical devices) 2. Software (instructions for the hardware) Types of Hardware Components Hardware is categorized into Input Devices, Output Devices, Storage Devices, and Internal Components. 1. Input Devices Devices used to interact with and send data to the computer: Keyboard: Common input device with 104 keys, connected via cable or Bluetooth. Mouse: Pointing device with buttons and a sensor to control the screen cursor. Scanner: Converts physical images or documents into digital form. Trackball: Stationary device with a movable ball for screen navigation. Light Pen: Touch-sensitive pen used for drawing or selecting items on CRT screens. Microphone: Converts sound into electrical signals for recording or voice recognition. Optical Character Reader (OCR): Reads printed text using light reflection. Bar Code Reader: Converts barcodes into electrical pulses for processing. 2. Output Devices Devices that display or deliver the results of computer processing: ICT reviewer Monitor: Displays text, images, and videos (also called VDU). Printer: Produces physical copies of data; types include Laser, Inkjet, and Dot-Matrix printers. Plotter: Generates large, high-quality drawings or blueprints. Speakers: Outputs sound for music or other audio. 3. Storage Devices Used for saving data and files: CD (Compact Disc): Stores 600–700 MB of data. Types: ○ CD-ROM: Read-only. ○ CD-R: Write once, read multiple times. ○ CD-RW: Rewritable. DVD (Digital Video/Versatile Disc): Larger capacity (up to 17 GB). Types: ○ DVD-ROM: Read-only. ○ DVD-R/DVD+R: Recordable. ○ DVD-RW/DVD+RW: Rewritable. ○ DVD-RAM: High-security rewritable disc. Hard Disk: Non-volatile storage for programs and data. Types: ○ Internal Hard Disk: Fixed storage inside the computer. ○ Internal Cartridges: Removable alternative to internal hard disks. ○ Hard Disk Packs: Large-capacity storage for organizations. 4. Internal Components CPU (Central Processing Unit): ○ The "brain" of the computer. ○ Composed of the Control Unit, Arithmetic Logic Unit (ALU), and Memory Unit. ○ Processes input, performs calculations, and sends output. Motherboard: Main circuit board connecting all components. RAM (Random Access Memory): ○ Temporary, volatile memory. ○ Types: SRAM: Fast and expensive (e.g., cache memory). DRAM: Slower and cheaper (e.g., main memory). VGA Port: Video input for monitors. Power Supply: Provides electricity to all computer components. Cooling Fan: Prevents overheating; crucial for performance. Hard Drive: Stores digital data using magnetized surfaces. Relationship Between Hardware and Software ICT reviewer Mutual Dependency: Hardware executes software instructions, while software relies on hardware for operation. Costs: ○ Hardware: One-time expense. ○ Software: Continuous updates and development. Functionality: Software acts as the interface between users and hardware. FAQs on Computer Hardware 1. Why is hardware important? ○ Supports essential operations like input, processing, storage, and output. 2. What is SCCM hardware inventory? ○ SCCM collects data on hardware components in IT infrastructure after enabling settings. 3. Basic use of hardware? ○ Stores and executes software instructions. 4. How to make a computer run faster? ○ Add RAM, clear debris, and uninstall unnecessary files or apps. History of Computers 1. Pre-Modern Era: Early Calculating Devices (Before 1800s) Abacus (circa 2400 BCE) The abacus, invented in Mesopotamia, is considered the earliest computational device. It enabled users to perform basic arithmetic operations. Antikythera Mechanism (circa 100 BCE) An ancient Greek analog device used to predict astronomical positions and eclipses. Napier’s Bones (1617) John Napier introduced this manually operated device for multiplication based on logarithmic principles. Pascaline (1642) Blaise Pascal created the first mechanical calculator capable of addition and subtraction. Leibniz's Stepped Reckoner (1672) ICT reviewer Gottfried Wilhelm Leibniz developed a mechanical calculator that could perform all four basic arithmetic operations. 2. First Generation: Mechanical Computers (1800–1930s) Jacquard Loom (1804) Invented by Joseph-Marie Jacquard, this loom used punched cards to control weaving patterns, a concept later applied in programming. Difference Engine and Analytical Engine (1822, 1837) Charles Babbage designed the Difference Engine for polynomial calculations and later conceptualized the Analytical Engine, which had components resembling modern computers (e.g., ALU, memory). Ada Lovelace (1843) Known as the first computer programmer, she wrote algorithms for the Analytical Engine and envisioned its potential beyond numerical calculations. Tabulating Machine (1889) Herman Hollerith created a machine to process punched cards for the U.S. Census, leading to the founding of IBM. 3. Second Generation: Electromechanical Computers (1930s–1940s) Zuse Z3 (1941) Konrad Zuse built the Z3, the first programmable digital computer, which used electromechanical relays. Harvard Mark I (1944) Developed by Howard Aiken and IBM, this was an electromechanical computer for military calculations. Colossus (1943–1944) The first electronic computer used for codebreaking during World War II. It was built by Tommy Flowers in Britain. ENIAC (1945) ICT reviewer The Electronic Numerical Integrator and Computer, developed by John Presper Eckert and John Mauchly, was the first general-purpose electronic digital computer. 4. Third Generation: Early Electronic Computers (1940s–1950s) Stored Program Concept John von Neumann proposed the concept of storing program instructions in memory, leading to the architecture used in most modern computers. UNIVAC I (1951) The Universal Automatic Computer was the first commercially available computer in the U.S. Transistor-Based Machines (1950s) The invention of the transistor (1947) by Bell Labs revolutionized computing, replacing bulky vacuum tubes with smaller, more reliable components. 5. Fourth Generation: Integrated Circuits and Miniaturization (1960s–1970s) Integrated Circuits (1958) Jack Kilby and Robert Noyce developed ICs, which allowed multiple transistors to be embedded on a single silicon chip, drastically increasing computational power. Mainframes and Minicomputers IBM’s System/360 series (1964) standardized business computing. Minicomputers like DEC’s PDP-8 (1965) made computers accessible to smaller businesses. Mouse and GUI (1968) Douglas Engelbart demonstrated the first computer mouse and a graphical user interface (GUI) at "The Mother of All Demos." 6. Fifth Generation: Personal Computers (1970s–1980s) Microprocessors (1971) ICT reviewer Intel’s 4004, the first single-chip microprocessor, paved the way for personal computing. Altair 8800 (1975) Often regarded as the first personal computer, it popularized microcomputing among hobbyists. Apple Computers Apple I (1976): Designed by Steve Wozniak and sold by Steve Jobs, this was an early DIY kit. Apple II (1977): One of the first mass-produced PCs with a built-in keyboard, color display, and expandability. IBM PC (1981) The IBM Personal Computer became a standard for business and home use. Microsoft Microsoft developed MS-DOS for IBM PCs and later introduced Windows (1985), making GUIs mainstream. 7. Sixth Generation: Networking and the Internet (1980s–1990s) ARPANET and the Internet ARPANET (1969) was the precursor to the modern Internet, evolving into a global network in the 1990s. World Wide Web (1991) Tim Berners-Lee introduced the web, making the Internet accessible to the public with browsers like Mosaic (1993). Laptops and Mobile Computing The 1980s saw the rise of portable computers like the Osborne 1 and early laptops. 8. Seventh Generation: Modern Computing (2000s–Present) Cloud Computing Services like AWS, Google Cloud, and Microsoft Azure allow users to store and process data remotely. ICT reviewer Smartphones and Tablets Apple’s iPhone (2007) and iPad (2010) revolutionized personal computing by making it mobile and touch-based. AI and Quantum Computing Artificial Intelligence has become integral to computing, enabling advancements in machine learning, natural language processing, and robotics. Quantum computers like IBM’s Q System One promise exponential leaps in processing power. IoT (Internet of Things) Connected devices, from smart thermostats to industrial sensors, are part of an interconnected ecosystem. 9. Future Directions Neuromorphic Computing: Mimics the human brain's neural architecture for more efficient AI. Edge Computing: Focuses on decentralized processing near data sources for faster and more secure operations. Quantum Advancements: May redefine problem-solving in fields like cryptography and complex simulations. 24 basic coding terms Here's a list of some fundamental coding terms to know and their definitions: Agile software development: Agile software development is a process where developers build software in stages, dividing their work into short bursts called sprints. This helps to keep code simple and ensure teams can test it frequently. Back end: Back end is the server side of the internet or an application. This is the part users don't see. In the back end, programmers connect the web to a database. Bug: Programmers use the phrase bug to refer to broken code with a fault or flaw. These are pieces of code that cause a program crash or send an error message. Build: Build is the stage of software development in which you create the product. During this stage, developers write code according to the team's goals and the intended functions and features of the product. ICT reviewer Cloud: The cloud is a remote internet storage solution. Many companies opt to store vital data in cloud-based locations to save room on local devices and promote security and functionality. Code review: Code review is the process programmers use to evaluate code, look for bugs and fix errors. Teams complete code reviews together to help increase efficiency. Command: A command is an action to ask a computer to perform. For example, when you click to open a file, you're initiating a command that the computer obeys. Computer program: A computer program is a collection of codes that tell a computer what to do. These are the instructions to perform a specific task. Data: Data refers to any information that a computer can store in its programs. This includes addresses, names and phone numbers. Data structure: The format computers use to store data is the data structure. Data structure helps computer process and store high volumes of data, like in databases. Debugging: Debugging is the process of identifying and repairing bugs in a program. This task is vital for the deployment of a product. Framework: A framework is a set of templates that helps programmers to build projects quickly. These often contain application program interfaces (APIs) and pre-written codes, which allow programmers to have a foundation for beginning their program. Front end: Front end is the part of a computer program visible to users and allows them to interact with the program. Front-end developers work to create a positive experience for users. Full stack developer: Someone who works on both the front end and back end of a website is a full stack developer. These individuals handle a variety of projects that help with the overall design and code. Input: Input refers to the information that goes into the computer, such as the keyboard, mouse and digital camera. A computer output is how the computer expresses itself, such as through graphics and text. IP address: An Internet Protocol (IP) address is the number associated with a device or website, which helps computer programmers identify devices on the internet. IP addresses allow a connected computer to communicate with another device over the internet. Machine learning: Machine learning is a form of artificial intelligence (AI) in which programs learn and improve from experience. An example of machine learning is image recognition, which helps software identify objects and people. ICT reviewer Programming language: Programming languages consist of the keywords and special rules coders use to create computer programs and produce a machine code output. Some common programming languages are Python, C and Ruby. Project-based learning: Project-based learning is when programmers learn by doing. Instead of only learning concepts, they also work on projects to gain experience. Server: A server is a host of websites and data. These store pieces of information for users to access on the internet. Source code: Source code is written code that becomes software. This occurs after a compiler translates it into machine code. Stack: Stack is when programmers use many programs to build mobile devices and stack data when organizing to help make it easy to access. Common examples of stacks include LAMP, MEAN and WAMP. URL: A universal resource locator (URL) is the link that directs users to a website. Different pages on a website may have their own unique URLs that users can access, or you could program a URL to redirect to a different website. User experience (UX) design: User experience (UX) design involves the design of interactions between a product and its users. In this process, programmers add features, such as toolbars, to help users find information and use the program more easily. User interface (UI) design: User interface (UI) design is a process focused on the visual elements of a computer program. This includes components, such as icons, colors and buttons. 11 in-depth coding terms Below are some terms that may be beneficial as you gain more experience in coding and handle more complex tasks: Bit: A bit, which is short for binary digit, is the smallest unit of information in a computer. It stores a single digit that's either a one or zero. Byte: A byte is a unit of measurement programmers use when working with bits. A byte is eight bits. Call: A call is an action you ask your code to perform. When you have a function in your code, when you run it, it qualifies as a call. Command-line interface: Command-line interface, or command language interpreter (CLI), is the text-based way of interacting with a computer. It processes ICT reviewer commands in the form of lines of text, which helps developers navigate their computers faster by using a few typed words to run a program. Compilation: Compilation is a process by which developers ready a piece of code for computer interpretation. You might adapt code written in compiled languages so they're in the proper format for usage. Hardcode: Hardcode is a completed project with static code. Programmers are unable to edit hard coded. Git: Git is software to track changes in project development, which allows for a full version history of the software. Programmers can access this information in the storage location, referred to as a Github. Inheritance: Inheritance is the practice of creating a new piece of code based on the existing one that contains properties and methods of the existing code. This helps programmers design a more enhanced version of the original code. Integrated development environment: An integrated development environment (IDE) is a type of software that programmers use for code creation. These programs typically allow you to write and test code in one secure location. Linter: A linter, or lint tool, is a static code analyzer used to identify stylistic and programming errors or bugs in a program. It helps improve the quality of a code, accelerates the development process and reduces costs. Linux: Linux is a free, open-source operating system. This provides programmers with more control and customization, allowing users to choose their core components. Pixel: A pixel, short for picture element, is the basic unit for digital displays for programmable color. These are small one-color dots that make up all images on a screen. 12 programming language terms Below are some important terms related to programming languages: Apache: Apache is an open-source software program that developers can use to host their projects. It makes it possible for visitors to access your site and use the elements you programmed. Asynchronous programming language: An asynchronous programming language ignores the order when executing code. This allows programs or pages in these languages to produce multiple outputs at once. ICT reviewer Binary: Binary is a two-number system programmers use to write digital data, comprising ones and zeros. The one represents a flow, whereas the zero represents a signal turned off. Block coding: Block coding is a type of programming language wherein developers use graphics rather than textual characters to manipulate a product's elements. It's more common for young users, and it's more common in educational environments than professional ones. Bootstrap: Bootstrap is an open-source framework. Front-end developers use it as a template when developing a website. It contains a collection of reusable code written in CSS, HTML and JavaScript. C: C is a popular general-purpose computer programming language. C is a modular language, meaning code units exist as separate modules. C++: C++ is a general-purpose programming language that programmers can use to create high-performance applications. It's object-oriented, meaning it organizes software around data and objects rather than logic and functions. CSS: CSS, which stands for cascading style sheets, is a computer language you can use to control the appearance of a website. This includes elements, such as fonts, margins, colors and styles. HTML: HTML, which is short for HyperText Markup Language, is the standard markup language used when creating websites. This determines what appears on a page. HTML is usually the first language coders learn at boot camps. Machine language: Machine language, or machine code, is a language that uses binary code. This is the most fundamental programming language that all computers use in order to operate programs. PHP: Hypertext Pre-processor (PHP) is a general-purpose scripting language. This open-source language is popular in web development because of its compatibility with HTML. Python: Python is a general-purpose programming language intended to be easy to read. It's one of the most common programming languages used for software and web development, data analysis and machine learning. Ruby: Ruby is a general-purpose programming language. Ruby is an object-oriented language, meaning you can separate your code into usable objects that function inside and outside of the project you're building. 18 coding structure terms Below are 18 terms related to coding structure to help you build your skills: ICT reviewer Algorithm: An algorithm is a sequence of problem-solving steps which produces a mean or average that informs computing. For instance, a search engine website uses an algorithm to choose what website to show users first. Argument: An argument is the value a program inputs when you run a function. When the user plugs in their intended argument, the program then executes the function to produce a final output. Array: An array is a data structure composed of a list of elements of the same data types which keeps all related data under one name. For example, programmers could organize data listed as variable_1, variable_2 and variable_3 under variable (3). Camel case: This is a form of capitalization where the programmer uses lowercase for the first letter of the first word and capitalizes the first letter of the following words when naming their variables. An example of a camel case is "myVariable." Char: Char, which is short for character, is a single number, letter or symbol. It's a C++ data type that stores the value as an integer. Class: Object-oriented languages use classes to separate different types of objects based on their characteristics. Creating classes helps your program understand what types of data might exist and what to do with similar data. Conditional statements: Conditional statements are phrases that help a computer decide what to do next using an if/then format. For instance, "If the user enters their password, then they can enter their account profile." Constant: A constant is an element in code that remains unchanged when the program executes its code. Characters and strings can qualify as constants. Else statements: Else statements tell the computer to perform a task if something is true and otherwise to do something different. For example, a statement may tell a computer to accept visitors for a voting site if they're above the age of 18 and deny access if they're under the age of 18. Event: An event is an occurrence that triggers a response in a program. A user or a source, such as a mouse click, initiates these events. Expression: Any mathematical equation in code is an expression. These are common in programming as they instruct programs to execute arithmetic according to user input. For loops: For loops are blocks of codes that repeat multiple times. When using these, programmers specify the number of times to repeat the code. If statement: Similar to a conditional statement, an if statement is a piece of code that relies on specific information to execute. For example, a program may only execute a given function if the argument is a negative value. ICT reviewer Iteration: An interaction is a single completion of a loop or sequence where a set of code repeats. Whenever a program executes a block of code, one iteration occurs in the "for" or "while" loop. Nested: A nested function is one that lives within another function in your code. The program then executes that function as part of the greater function with which it lives. Operator: An operator is an arithmetic symbol, or combination of symbols, that represents an action or process. For instance, when "!=" appears between two variables, it means these variables aren't equal. Syntax: Syntax is the structure of a programming language. This states the order words appear in order to perform certain tasks. Each language follows its own syntax. While loop: A while loop is a piece of code that runs as long as a specific condition is true. Coders use this type of loop when they don't know how many times they need to repeat their code. Programming Terms and Definitions 1. Algorithm An algorithm is a set of instructions or rules designed to solve a definite problem. The problem can be simple like adding two numbers or a complex one, such as converting a video file from one format to another. 2. Program A computer program is termed as an organized collection of instructions, which when executed perform a specific task or function. A program is processed by the central processing unit (CPU) of the computer before it is executed. An example of a program is Microsoft Word, which is a word processing application that enables users to create and edit documents. The browsers that we use are also programs created to help us browse the internet. 3. API Application Programming Interface (API) is a set of rules, routines, and protocols to build software applications. APIs help in communication with third party programs or services, which can be used to build different software. Companies such as Facebook and Twitter actively use APIs to help developers gain easier access to their services. 4. Argument Argument or arg is a value that is passed into a command or a function. For example, if SQR is a routine or function that returns the square of a number, then SQR(4) will return 16. Here, ICT reviewer the value 4 is the argument. Similarly, if the edit is a function that edits a file, then in edit myfile.txt, ‘myfile.txt’ is the argument. 5. ASCII American Standard Code for Information Interexchange (ASCII) is a standard that assigns letters, numbers and other characters different slots, available in the 8-bit code. The total number of slots available is 256. The ASCII decimal number is derived from binary, which is assigned to each letter, number, and character. For example, the ‘$’ sign is assigned ASCII decimal number 036, while the lowercase ‘a’ character is assigned 097. 6. Boolean A Boolean expression or Boolean logic is an expression used for creating statements that are either TRUE or FALSE. Boolean expressions use AND, OR, XOR, NOT and NOR operators with conditional statements in programming, search engines, algorithms, and formulas. Boolean expressions are also called comparison expressions, conditional expressions, and relational expressions. 7. Bug A bug is a general term used to denote an unexpected error or defect in hardware or software, which causes it to malfunction. Even though bugs are often considered to be insignificant computer glitches, there have been instances where bugs have caused life-threatening conditions and led to major financial losses. This makes it imperative to invest in the process of finding bugs before programs are rolled out for their application. This process is known as testing. 8. Char Character (char) is a display unit of information equal to one alphabetic letter or symbol. The value of a char variable could be any one character value, such as ‘a’, ‘1’, ‘$’ and ‘X’. This definition of character relies on the general definition of a character as a sole unit of written language. However, char as an abbreviation is a reserved keyword in languages such as C, C++, C#, and Java. 9. Objects An object is a combination of related variables, constants and other data structures which can be selected and manipulated together. An object can include shapes that appear on a screen or the age of students in a school. 10. Object-Oriented Programming Object-oriented programming (OOP) is a model defined by programmers that revolve around objects and data rather than ‘actions’ and ‘logic’. In OOP, not only the data type of a data structure is defined, but also the types of functions that can be applied to it. Through this, the data structure becomes an object that consists of both data and functions. Languages that use OOP concepts are Java, Python, C++, and Ruby. ICT reviewer 11. Class In Object-Oriented programming, a class refers to a set of related objects with common properties. Classes and the ability to create new classes render OOP a powerful and flexible programming model. For example, there might be a class called shapes which contains objects which are triangles, pentagons, square and circle. 12. Code Code or source code is a term used to describe a written set of instructions, written using the protocols of a particular language, such as Java, C or Python. The code can also be used informally to describe text written in a specific language. There are instances where references to the code are made for different languages, such as ‘PHP Code’, ‘HTML Code’, ‘Java Code’ or ‘CSS Code’. 13. Command-line interface The command-line interface is a user interface based on the text. The UI is used to view and manage computer files. Command-line interfaces are also called command-line user interfaces, console user interfaces and character user interfaces. During the early 1960s and through the 1970s and 1980s, the command line interface was the primary means of interaction with most computers on terminals. 14. Compilation The process of creating an executable program through code written in a compiled programming language is called compilation. Through compiling, the computer can understand and run the program without using the programming software used to create it. A compiler is a program that translates computer programs written using letters, numbers, and characters into a machine language program. An example of a compiler in C++. 15. Conditionals Conditionals, conditional statements, and conditional expressions are features of programming language, which help the code make a choice and result in either TRUE or FALSE. These perform different actions depending on the need of the programmer, and multiple conditions can be combined into a single condition, as long as the final value of the condition is either TRUE or FALSE. Examples of conditional statements are ‘IF’, ‘IF-Else’, ‘While’ and ‘Else-If’. 16. Constants A constant (also known as Const) is a term used to describe a value that does not change throughout the execution of the program, unlike a variable. Constant cannot be altered and will remain fixed, and a constant can be a number, character, and string. 17. Data types A data type is the classification of a particular type of data. We as humans can understand the difference between a name and a number, but the computer cannot. The computer uses ICT reviewer special internal codes to distinguish between different types of data it receives and processes. The most common data types include integer type which are numbers, a floating-point number data type which are decimal based numbers, Boolean values which are TRUE or FALSE and character data type which is alphabets. 18. Array Arrays are lists or groups of similar types of data values that are grouped. All values in the array are of the same data type and are only differentiated by their position in the array. For example, the age of all students in a class can be an array as they will all be numbers. Similarly, the name of every student in a class will be an array as they will all be of the character data type. 19. Declaration A statement that describes a variable, function or any other identifier is called a declaration. A declaration helps the compiler or interpreter identify the word and understand its meaning, and how the process should be continued. Even though they are important, they are optional and may be used depending on the nature of the programming language. 20. Exception A special, unexpected and anomalous condition encountered during the execution of a program is known as an exception. It can also be termed as an error or a condition that alters the way of the program or the microprocessor to a different path. An example of an exception can be the case when a program tries to load a file from the disk, but the file does not exist. The exceptions must be handled and eradicated in the program code to avoid any fatal error. 21. Expression An expression is a legal grouping of letters, symbols, and numbers being used to represent the value of one or more variables. Expressions are highly used in a number of programming languages and many other programs, with each having its own set of legal and illegal expressions. Every expression contains one or more operands (objects being manipulated) and operators (symbols representing actions). For example, in the expression A+B-C, A, B and C are operands while + and – are operators. 22. Framework Framework in programming is a foundation with a specified level of complexity that may be altered by the programmer, making use of their code. A framework might include different software libraries, APIs, compilers and much more. In simpler terms, a framework provides a favorable environment for a certain type and level of programming for a project. A framework allows the developers to bypass the general necessities and focus on more project-related specifics. 23. Hardcode ICT reviewer In computer programming, the term hard code or hardcode is used to describe code that is not likely to change. Hardcoded features are built into hardware or software in such a way so that they cannot be modified later on. For example, if font size 10 is hardcoded in the software, then it might not change for a long time. 24. Loop A loop is a sequence of instructions that repeat the same process over and over until a condition is met and it receives the order to stop. In a loop, the program asks a question, and if the answer directs the program to perform an action, the action is performed, and the loop runs again, performing the same task. It runs until the answer is such that no action is required and the code can proceed further. Loops are considered one of the most basic and powerful concepts in programming. 25. Endless loop An endless loop or infinite loop is a continuous repetition of a program snippet, which is everlasting. This occurs majorly due to conditional operators and functions which redirect the code back to the snippet, making it endless. 26. Iteration Iteration is a single pass through a set of operations that deal with code. One form of iteration in computer programming is via loops. A loop will repeat a certain segment of code until a condition is met and it can proceed further. Each time the computer runs a loop, it is known as an iteration. In simple terms, iteration is the process to repeat a particular snippet of code over and over again to perform a certain action. 27. Keywords Words that are reserved by a programming language or a program as they have special meaning are known as keywords. These keywords are reserved to perform certain tasks, and they can be either commands or parameters. Each programming language has a set of reserved keywords (also known as reserved names) which cannot be used as variable names. Some keywords in ‘C’ language are ‘return’, ‘while’, ‘if’, ‘static’, ‘continue’ and ‘default’. 28. Null Null defines the lack of any value whatsoever. A null character is a programming code, which represents a character with no value, missing value or the end of a character string. If we state $val1= ”” and $val2= “1”, $val1 has a null value. 29. Operand An operand is a term used to denote the objects which can be manipulated using different operators. In the expression ‘A+F+Q’, ‘A’, ‘F’ and ‘Q’ are operands. ICT reviewer 30. Operator An operator is a term used to denote the object which can manipulate different operands. In the expression ‘A+F-Q’, ‘+’ and ‘-‘are operators. Examples of different operators are + (addition), -- (decrement), = (equals), != (not equal) and >= (greater than or equal to). 31. Variable A variable is a location that stores temporary data within a program which can be modified, store and display whenever need. For example, if we have an integer variable with a name XYZ and it stores a value 10. If the variable is again initiated with a different value, it will store the new value. So if XYZ=9 is implemented, the variable location of XYZ will discard the value 10 and store the new value, which is 9. 32. Pointer In programming, a pointer is a variable that contains the address of a location in the memory. The location is the commencing point of an object, such as an element of the array or an integer. Using pointers improves the performance of the program as it is cheaper in time and space to copy and dereference pointers than to copy and access the data to which the pointer is referring. 33. High-level language A high-level language (HLL) is a programming language that lets the developer write programs irrespective of the nature or type of computer. But if a computer has to understand a high-level language, it should be compiled into a machine language. HLLs are considered high-level because they are in close proximity to human languages and further from machine languages. High-level languages include BASIC, C, C++, Pascal, Prolog, and FORTRAN. 34. Low-level language A low-level language is a language that is very close to machine language and provides a little abstraction of programming concepts. Low-level languages are closer to the hardware than human languages. The most common examples of low-level languages are assembly and machine code. 35. Machine language Also known as machine code, machine language is a lowest-level programming language consisting of binary digits or bits that are read by computers. Machine language is the only language understood by computers. As it consists of only numbers, they cannot be comprehended by humans. Therefore, programmers write code in the high-level language, which is then translated into assembly language or machine language by a compiler, which is then converted to a machine language by an assembler. 36. Markup language A markup language is a relatively simple language that consists of easily understood keywords and tags, used to format the overall view of the page and its contents. The ICT reviewer language specifies codes for formatting the layout and style of a page, within a text file only. The most common markup languages are Hypertext Markup Language (HTML), Extensible Markup Language (XML) and Standard Generalized Markup Language (SGML). 37. Package A package is an organized module of related interfaces and classes. Packages are used to organize classes that belong to the same category or provide related functionality. 38. Runtime Runtime or runtime is the time period during which a program is, in fact, running on a computer. If an operation occurs at ‘runtime’, it occurred when a program is running or the moment at which the program begins to run. Also known as execution time, the runtime is part of the life cycle of the program, and it denotes the time between when the program begins running and until it is closed by the OS or the user. 39. Backend Backend is another term used for background in programming. A backend task is the one that is performed in the background with the user’s direct interaction. Similarly, a backend developer is a person who designs programs that process data and perform tasks that users don’t directly see. 40. Front-end The Front-end is the user interface of a computer or any device. For example, any operating system provides users with the ease of navigation. A program or OS is considered good if the UI or Front-end is easy to use and seamless to navigate. Front-end developers are the programmers who design and develop the user interface of a device. 41. Server-side When procedures and processes are performed on the server, they are deemed server-side. On the other hand, the client-side is at the end of the user. Many programming languages are designed for server-side programmings such as PHP, Perl, and ASP. With the internet boom, almost all websites make use of both server-side and client-side processing. An excellent example of a server-side script is a search engine. 42. Source data Source data or data source is the key location from which data is used in the program. The source data can come from a database, spreadsheet or even a hard-coded data location. When a program is executed to display data in a table, the program retrieves the data from its source and then presents it in the arrangement as defined in the code. 43. Statement In programming, a statement is a single line of code written legally in a programming language that expresses an action to be carried out. A statement might have internal ICT reviewer components of its own, including expressions, operators and functions. An example of a statement is A = A + 5. A program is nothing but a sequence of one or multiple statements. statements here 44. Syntax Similar to human languages, programming languages have their own set of rules on how statements can be conveyed. The set of these rules is known as syntax. While a number of programming languages share many features, functions, and capabilities, they differ in syntax. Without the proper use of the syntax, one cannot write an executable program, and a wrong syntax will lead to a plethora of errors. 45. Token A token is the smallest individual unit in a program, often referring to a portion of a much larger data piece. For example, if a person’s name is John Thomas Wood, it can be broken into tokens; ‘John’, ‘Thomas’ and ‘Wood’. The programmer can then go on to use only the portion or token they wish to. Tokens are classified into keywords, identifiers, literals, operators, and punctuators.