There are many, many ways of representing data within the computer. There are representations for numeric data, text data, image data, sound data, and much more. And within each type of data, there are likely to be many different ways of representing data of that type.
This collection of videos is meant to provide you with an introductory level understanding of some of the many ways in which data might be represented. The coverage is not meant to be comprehensive, by any stretch, but it should provide a solid foundation upon which your future understanding may be built.
Since all data representation within a computing system is accomplished using the binary number system, you will find this series of videos much easier to follow and understand if you have first completed the Numbers for Computing videos!
If you wish to access the slides used in the videos, they are available for download.
It is strongly recommended that you watch these videos in the order indicated below.
Video: ~8 minutes
This video reviews some of the key concepts from the Numbers for Computing series (which you should definitely have watched before starting this series) and establishes the basis for the videos that follow.
Video: ~16 minutes
This video introduces binary-coded decimal as a mechanism for representing decimal values using only the zeroes and ones of the binary number system. It's not a particularly common approach, but it's a good place to begin because it is relatively intuitive and requires us to consider the underlying limitations of binary representations.
Video: ~9 minutes
This video examines the role of signs in numeric representations and the problems that signs pose for the computer. Signed-magnitude and complementary representations of numeric values are introduced.
Video: ~27 minutes
Although it is not actually used inside modern computers, understanding 9's complement as a means of representing integer values is an important stepping stone to understanding the 1's complementary representations that are commonly used. As such, it is highly recommended that you watch this video before moving on to the discussion of 1's complementary representations.
Video: ~10 minutes
This video builds upon the 9's complement understanding established in the previous video to develop an understanding of the 1's complementary representation that is actually used inside some modern computers. In essence, 1's complement is simply the binary version of 9's complement.
Video: ~6 minutes
As with 9's complement, 10's complement is not actually used by computers. However, it's an important basis for understanding 2's complement. This video introduces 10's complement by building upon the understanding of 9's and 1's complement in previous videos.
Video: ~18 minutes
This video builds upon the 10's complement understanding established in the previous video to develop an understanding of the 2's complementary representation that is actually used inside some modern computers. In essence, 2's complement is simply the binary version of 10's complement.
Video: ~7 minutes
In order to understand how computer's represent non-integer values, it's important to review your understanding of exponential notation. That is the objective of this video.
Video: ~31 minutes
This video explains an illustrative example of a floating point number format that is based in the decimal number system. Obviously, such a format is not practical for use inside a binary computer, but as with previous coverage, it's helpful to understand a decimal-based model before jumping into the binary-based models in which we are most interested. This video explains the model format and how to convert values stored in that format into their more familiar signed-magnitude representations.
Video: ~15 minutes
This video uses the decimal-based model format for floating point values that was presented in the previous video and explains how to generate representations of values in that format.
Video: ~12 minutes
This video examines the mechanics behind performing arithmetic on values expressed in our decimal-based model floating point format.
Video: ~22 minutes
This video takes what we've learned in the previous several videos and transfers that knowledge to an understanding of binary-based models for representing floating point values, such as the IEEE standard floating point representations.
Video: ~9 minutes
This video provides a last overview look at numeric data representation techniques, considering some of their pros and cons.
Video: ~23 minutes
This video provides an initial overview look at non-numeric, multimedia data, such as text, images, video, and audio.
Video: ~19 minutes
This video introduces the concept of a character sets and provides a brief survey of ASCII, Latin-1 Extended ASCII, EBCDIC, and Unicode.
Video: ~14 minutes
This video delves into greater detail with respect to commonly encountered character encodings, such as ASCII and Unicode.
Video: ~8 minutes
This video offers a high level overview of representing image data within a computer, with details left to subsequent videos.
Video: ~15 minutes
This video offers a closer look specifically at bitmap (or raster) image representations, including the underlying concepts and terminology.
Video: ~9 minutes
This video offers a closer look specifically at object (or vector) image representations, including the underlying concepts and terminology.
Video: ~31 minutes
This video offers a broad overview of data compression concepts and terminology. It introduces compression ratios, endeavors to distinguish between lossless and lossy forms of compression, and explains the idea of keyword encoding as a means of compressing textual data. It is intended to set the stage for the more specific videos on compression that follow.
Video: ~12 minutes
This video explains the properties of Huffman codes and how they can be used to compress text.
Video: ~15 minutes
This video examines run-length encoding as a compression mechanism, with a particular focus on its use in compressing image data.
Video: ~16 minutes
This video offers a cursory overview of some of the concepts and techniques that are employed in the representation and compression of video data. It is highly recommended that you ensure you first have a solid understanding of the previous videos in this series before viewing this one.
Video: ~11 minutes
This video offers a cursory overview of some of the concepts and techniques that are employed in the representation of audio data.
Video: ~10 minutes
This video takes the material covered throughout this entire series and begins to tie it to the daily experience of computer users and programmers.