Machine learning in a NUTSHELL

Machine learning is not solely a Computer Science correlated thing instead it has a wide horizon which includes in the filed of Engineering, Medical, Science, Business, Probability & Stats, Sports, Space and many more interesting areas.








Computer Science Glossary-1



Dr. Robert B. Heckendorn
Computer Science Department, University of Idaho


  • 256 – This is 2 to the 8th power. It is the number of dierent numbers that you can store in a byte (8 bits), usually ranging from 0 to 255. An 8 bit number can be represented by two hexadecimal digits or three octal digits.
    (see ASCII)
  • AI – Articial Intelligence.
  • ASCII – Pronounced ass-key. Stands for the American Standard Code for Information Interchange. It is a 7bit code for characters. For example: the letter ‘x’ is represented as 1111000. Because it is only 7 bits long, an ASCII
    character can be stored in a byte.
  • Abstraction – Removing detail of something to focus on a subset of the features without confusing details.
  • Address – a) A location in memory or identifying a particular piece of memory. b) An identication that allows access to something such as an internet address which allows one to access a device on the internet.
  • Agent Based Modeling – A method of simulating the real world in which individual agents interact with their environment and each other to simulate real world behaviors and conditions. NetLogo is good at Agent Based Modeling.
  • Agent – Independent acting sections of code and data that represent active interacting pieces of a model or system.
  • Algorithm – A set of instructions for accomplishing a task that when executed will terminate.
  • Analog – Measured in continuous values. The audio signal from a microphone is analog. A clock with hands is considered analog.
  • Application – A runable program that provides some service.
  • Argument – One of the pieces of data provided as input to a procedure or function through the call to the procedure or function.
  • Articial Intelligence – The subfield of computer science that involves the creation of programs that attempt to do what was formerly believed to be able to be done by humans.
  • Autonomous – Controlled by computer programs and not people.
    Bandwidth – Refers to the volume of information that can be transmitted or processed. It is usually measured in bits or bytes per time unit like \bits per second”.


  • Big Data – The problem beginning in the 21st century of processing vast amounts of data coming at or refreshing
    at very high speed. For example satellite sensor data, city monitoring sensors, gene sequencing data, etc.
  • Binary – The base 2 number system. Integer can be encoded as binary which is a string of 0’s and 1’s. Binary is a place-value system in which each bit position denotes a power of 2 (unlike decimal which uses 10 symbols and powers of 10). k bits of information can represent 2k dierent numbers. For example counting in 3 bits of binary you can count from 0 to 7: 000, 001, 010, 011, 100, 101, 110, 111.
  • Bit – A binary digit. The smallest unit of information represented by one of two states (usually 0 or 1). It is often denoted by a lower case ‘b’ as in Mbs (mega-bits per second). Or the amount of information gained when
    answering a yes or no question.
  • Boot Program – The program run when the computer hardware is powered up.
  • Boot – To restart a computer as if the computer had been powered down regardless of whether it was on and running or not.
  • Broadcast – In messaging passing it is to send the same message to all who can listen.
  • Bus – a) the main path for bits traveling in parallel in and out of a CPU. It is often many bits wide. b) Any pathway for bits to travel in parallel.
  • Byte – 8 bits. It is often denoted by a capital B as in MB (mega-bytes).


  • Call – A statement in a language that starts or invokes a procedure or function.
  • CPU intensive – A program that spends most of its time running on the CPU with a disproportionately small amount of time waiting for data from memory.
  • CPU – Central Processing Unit. Where the computer instructions are executed.
  • Cache – Is memory used to speed memory access, that stores data that is anticipated to be used next or was just used and may be used again. For example: cache may exist on slow physically rotating discs to save information of data that is near to the data just accessed or to hold data without writing it to disc until it is likely not to change again.
  • Card – A circuit board which can be plugged into your computer motherboard.
  • Central Processing Unit – Processing unit that takes streams of bits as data and instructions and executes the instructions on the data yielding more data and possibly instructions.
  • Character – A single letter or symbol that is represented by a small set of bytes in the computer. See ASCII and Unicode.
  • Chip – A integrated electronic circuit generally with from thousands to billions of components such as transistors and capacitors that perform complex functionality such as addressable memory, CPU, I/O functions.
  • Clock – The internal \drummer” or heartbeat that keeps the CPU activities across the chip and across the motherboard in sync. Often measured in megahertz or gigahertz.
  • Cloud Computing – Rather than computation occurring \locally” on one’s own computer the computation is on distant machines accessible via the internet.
  • Cloud Storage – Rather than the information being stored \locally” on one’s own computer the information is stored on distant machines accessible via the internet.
  • Cloud – In the phrase \in the cloud” refers to information being stored not on one’s own computer but on a distant mass storage device accessible via the internet.
  • Cluster Computer – Also known as a cluster is a supercomputer made up of many smaller computers such as PCs connected with very fast network hardware.
  • Compiler – A program for translating a program written in one language into code that can be executed.
  • Computer science – a) the study of process, data and computation. b) A very cool profession. (No bias here. 😉 ).
  • Computer – An electronic device for storing and processing information based on programs stored in the computer.
    Control structure – Code that changes the order of execution for instance an if-statement conditionally executes code while a loop may perform a section of code repeatedly.
  • Core – A processor on a chip. Usually used when there are more than one processor on a single chip.
  • Customer Base – The set of loyal customers a company or other software supplier supports.


  • Data Mining – Using algorithms to infer complex results for masses of data such as sensor data or the world’s web pages. Generally to be data mining most of the data available is not relevant but large enough amounts arethat it is nontrivial to draw conclusions.
  • Data intensive – A program that spends most of its time waiting for data from memory rather than computing. Sometimes called memory intensive.
  • Database – An organized collection of data and services to access them in a variety of ways relevant to the data.
    Device – A unit or piece of hardware with a specific purpose such as a disk, keyboard, audio board, etc.
  • Digital Divide – The societal advantages for those with internet or computer access over those who do not have access.
    Digital – Measured in a set of discrete steps. The audio signal on a CD or in an mp4 le is digital. cf. Analog.
  • Disk – A magnetic storage device that records data on a spinning disk. The bulk of long term storage on a today’s computers is \on the disk”.
  • Drone – An unmanned ying vehicle (See UAV). May be remote controlled or autonomous.
  • Emacs – A classic highly recongurable editor that challenges vi for dominance of UNIX based text editing.
  • Executable – A le that can be executed by the operating system.
  • External hard drive – A disk that is a peripheral.


  • File Extension – when naming a le there is often a part after the last period in the le name called the le extension that indicates the type of the le such as pdf, jpg, txt, etc.
  • File – a single block of information allocated by an operating system for retention beyond the execution time of any program.Floating Point Number – A number with a decimal in it like 3.141592653589.
  • Functional Abstraction – Abstraction to what a section of code will do rather that the details of how it does it. A function denition allows for abstracting the contained code to a function call.
  • Function – A standalone segment of code with a clear set of inputs and output that performs a specic function and returns a value. It is essentially a procedure that returns a value.


  • Giga- – A billion, (109) as in a gigabyte or gigahertz or gigabananas (billion bananas).
  • Global variable – A variable that is accessible from anywhere in the code. It is also persistent for the duration of the program.
  • Graphics card – Is a circuit board containing a CPU that processes instructions specically targeted at graphics processing. This is especially useful for games and simulation programming.
  • Graphics processing – Image construction and manipulation.


  • HSV – Stands for \Hue, Saturation, Value”. It is a way of specifying a color by giving the amount of each of three contributing factors to make the color: Hue is the color in the color wheel, Saturation is the amount of color versus white, Value is how bright the color is or distance from black. HSV is also sometimes called HSB.
  • HTML – Hypertext Markup Language. A language used to write internet based documents that can refer to each other.
  • HW – abbreviation for hardware.
  • Hard drive – A disk. A spinning disk of magnetic media for storing data.
  • Hardware – Physical components of a computer or related equipment.
  • Hertz – A cycle or oscillation per second. A second hand on a standard analog clock ticks at 1 hertz. The clock on most computers is currently on the order of 1 gigahertz.
  • Hexadecimal – The base 16 number system (compare with binary). It is often used to express binary numbers in shorter strings than binary or octal. Counting to 20 using two hex symbols: 01, 02, 03, 04, 05, 06, 07, 08, 09,0a, 0b, 0c, 0d, 0e, 0f, 10, 11, 12, 13, 14.
  • Hex – Short for Hexadecimal.
  • High Level Language – A language that is NOT similar to the one that runs on the hardware and deals more complex data types and control structures than the hardware. Languages like Java, C, C++, Python…
  • I/O – Input and output.
  • IDE – Integrated Development Environment. A software tool to help you write software. Examples include the open source: Eclipse and NetBeans and the proprietary Microsoft Visual Studio.
  • IT – Information Technology. This refers to general hardware, OS, and network design and support.
  • Instruction – a) A single executable action for the CPU b) the binary encoded form for the instruction.
  • Integer – A whole number, that is, with no fractional part. Maybe be positive, negative, or zero.
  • Interface – The formal way in which two things interact. In particular how humans and machines interact or two pieces of software interact.
    Interpreter – A combination of a compiler and runtime environment that translates and executes a program.


  • Kilo- – A thousand, as in a kilobyte.
    Kilobyte – may be 1000 bytes or 210 bytes which is equal to 1024 bytes depending on situation.


  • Linux – An operating system authored by Linus Torvalds as a free operating system. Companies that distribute Linux make their money in conguration and support. It is based on the UNIX operating systems.
  • Local variable – A variable that is accessible only in a portion of the code. Generally, within a procedure and is created as you enter a procedure and destroyed as you leave.
  • Loop – A control structure in the code that causes repeated execution of a section of code.


  • Machine Instructions – The instructions executed by a CPU. The bit level instructions of a computer.
  • Mega- – A million, (106) as in a megabyte or megahertz.
  • Memory – Addressable storage for storage and retrieval of bytes of data. Memory generally refers to the memory
    that is o CPU. Cache memory is on .
  • Message Passing – A way to pass information between processes, machines, or threads that are running in parallel.
  • Motherboard – The main circuit board generally connecting most major components of a computer such as CPU,
    memory, I/O devices.
  • Multi-Core processor – a chip with multiple processors and cache memory to speed execution.
  • Nano- – a) a billionth, as in a nanosecond or a nanometer. b) a very small thing like nanotechnology.
  • Network an interconnected set of computers that can share information.
  • Northbridge – connects the CPU to high speed data components such as memory and graphics cards.


  • OS – Operating System.
  • Object Oriented programming – A programming style in which variables and functions are associated in an object and visibility of the contents of the object is constrained. For example in Scratch, a sprite \owns” its own local variables and scripts/threads.
  • Object – A collection of variables and functions brought together in a programming system to represent a physical thing, its data and its function.
  • Octal – The base 8 number system (compare with binary). It is often used to express binary numbers in shorter strings. Counting to 10 using two octal symbols: 01, 02, 03, 04, 05, 06, 07, 10, 11, 12.
  • On Chip – Generally means the functionality is on the CPU chip or the chip under discussion. Can refer to hardware as in \The north bridge can now be found on chip” or refer to execution as in \the data and instructions are
    cached on chip”.
  • Open Source – An application or software in which is provided with the source code usually with few restrictions
    for repurposing or augmenting.
  • Operating System – The program that runs on the computer hardware creating information objects such as les and processes and assures the fair and secure allocation of processor time for processes, access to les, access
    to devices, and other resources.
  • PC – Personal Computer or sometimes stands for a Personal Computer running the Windows operating system.
  • Pairs Programming – A programming methodology that has two programmers set down at a single keyboard and
    display to program as a team eort. Producing more and better working code.
  • Parallel Computing – The eld of Computer Science that deals with algorithms, techniques and hardware that enables simultaneous execution of many streams of instructions.
  • Parallel – processes run in parallel means they are executing at the same time on dierent CPUs or cores.
  • Peripheral – A physical device used by a computer that is not part of the physical box containing CPU and memory. A printer is an example.
  • Peta- – A quadrillion (1015) as in a petabyte.
  • Port – A socket on a computer for attaching the computer to external devices such as a printer or a router.
  • Powers of Two – A number that is the product of two multiplied together many times. The kth power of two is denoted 2k. Powers of two are very important in computing because k bits can be used to number 2k things
    in binary. The rst few powers of two are: 1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 2048, 4096.
  • Procedure – A standalone segment of code with a clear set of inputs and output that performs a specic function. Compare with function.
  • Process – A running program.
  • Programming – Constructing a program; usually in a high level language. The art of instructing computers how to store, retrieve, and process data automatically.
  • Program – An implementation of an algorithm.
  • Proprietary – Owned by an individual or company and whose use generally requires payment.
  • Protocol – A standard for communication between pieces of hardware or between pieces of software that allows information and commands to be exchanged.
  • RAM – Random Access Memory. Generally refers to memory that is not in the CPU.
  • RGB – Stands for \Red, Green, Blue”. It is a way of specifying a color by giving the amount of each of three contributing primary colors to make the desired color.
  • Reboot – To restart a computer as if the computer had been powered down even though it was turned on and possibly running.
  • STEM – Science Technology Engineering and Mathematics – The set of elds many educational institutions and governments are focusing on to improve enrollments and retention.
  • SW – abbreviation for software.
  • Scalable Computing – An application supported on an amount of hardware that automatically adjusts to the size of the demand thereby saving money by using less hardware when demand is light an d more when the demand is heavy.
  • Semantics – The meaning of statements in a language as distinct from the syntax.
  • Server – A computer that provides some service and is accessible over the internet.
  • Simulation – Modeling the behaviors and conditions of the real world.
    Software – A set of information that includes at least one program and optionally many programs and data les. The set of information is generally related and used with a specic goal in mind such as image processing
  • Solid state disk (SSD) – Uses chips to emulate a disk but with no moving parts. Much faster than rotating mechanical disks but currently not as much storage and more expensive.
  • Southbridge – connects the CPU to lower speed data components such as internet, keyboard, audio, USB, etc.
  • Speed of Light – Generally means the speed of light in a vacuum. It is about 1 foot per billionth of a second.
  • String – a) An ordered sequence such as a string of bits or characters. b) a string of characters.
  • Supercomputer – A computer with a much higher than average performance.
  • Syntax – The grammar for a language or the rules to decide if a statement is in the language but not the meaning.


  • Telepresence – A set of technologies which allows a person to feel as if they were present, to give the appearance of being present, and/or to have an eect as if present.
  • Tera- – A trillion (1012) as in a terabyte.
  • Text – a) just the set of bits that represents a stream of symbols in a language. It does not include any formatting information such as font or color. b) any representation of a set of symbols. c) text encoded in ASCII.
  • Thread – A thread is a \lightweight” subunit of execution of a process that can run in parallel with other threads in the process. It is a way to have parts of a process run simultaneously.
  • Time sharing – Fairly splitting up time between running processes.
  • Type – The kind of data that can be stored or referred to and has a specic set of operations that apply to it such as addition is an operation that is used on integers. Popular types are int, oat, boolean. Processing supports
    types like color and string as well.


  • UAV – Unmanned Aerial Vehicle and autonomous drone.
  • UNIX – A variety of operating system that originated in the 70s as an independent project in Bell Labs and has grown to be the basis of many of today’s operating systems including Linux and Apple distributions .
  • USB – Universal Serial Bus. A popular standard for creating a data path between computers and peripherals. It includes the capability of powering a device. More recently USB has been used as a power source alone,
    disregarding its data protocols.
  • Unicode – A method for encoding a string of symbols as bits. This set of schemes can be used to represent nearly any symbol including Chinese. However, Klingon (plqaD) is not currently in the standard. However: Unicode Registry.
  • Virtual Machine – A virtual machine is a software implementation of a machine that executes programs like a physical machine. The machine that is mimicked need not really have a hardware implementation but only exist as a virtual machine.
  • Visibility – Said of a variable. A variable is visible if its contents can be accessed by its name. A local variable in one function might not be visible from inside another function.
  • Vi – The classic text editor on a UNIX machine. Generally available on all UNIX based operating systems. The
  • modern version of vi is vim.
  • Windows – The proprietary operating system distributed by Microsoft.