Hi,
I am very happy to inform you that one more book of mine “Joy Of Computing” is available at Amazon.
Indian Link: https://tinyurl.com/JoyOfComputingIN
US Link: https://tinyurl.com/JoyOFComputingUS
UK Link: https://tinyurl.com/JoyOfComputingUK
Canadian Link: https://tinyurl.com/JoyOfComputingCA
Australian Link: https://tinyurl.com/JoyOfComputingAU
Free open source resources developed for this book are given below. Also, preface and table of contents at the end.
All the resources are available on github also.
https://venkatritch.github.io/JoyOfComputing/
You may look at the youtube video that introduces the book at https://youtu.be/CkTjPjm-Uug
List of apps used in this book. You are most welcome to use them and share them even though you haven’t yet ordered the book. Obviously, explanations of the themes will be in the book.
Chapter 1:
The following app can be used to test basic understanding of students on tens place, hundreds place, etc.
https://scratch.mit.edu/projects/631746477
This app takes a random seven digit number one at a time. In that number, a digit will be selected at random and pointed with an arrow marker then the student will be asked to enter the weight of that digit either in words such as tens, hundreds, thousands, etc., or 1 or 10 or 100 or 1000, etc. Also, it randomly asks the value of the digit either at 10s place or 1000s place, etc.. Also, it randomly asks the value of the digit either at tens place or thousands place, etc. In total, ten seven digit random numbers are used to test and score value is displayed based on the responses of the user/student.
The following app can be used to represent the given decimal integer in the polynomial fashion.
https://scratch.mit.edu/projects/629846239
This app asks the reader/student to enter a five digit decimal number and expands the same in a polynomial fashion as mentioned above as Mathematical polynomial. We request readers/students to use paper and pen to calculate the value of expression shown by this app to improve their arithmetic skills. Of course, we love to supply the following for the perusal of those kids who did not yet come across with powers of a number in their academics.
The following app shows how a decimal number can be represented in a binary system and also as a binary polynomial.
https://scratch.mit.edu/projects/629398236
The following app represents a randomly selected integer in binary number system. In the binary number system, base is 2 instead of 10 in the well known decimal system. Also, 0 and 1 are the digits to represent any number in this system instead of 0-9 in the case of the conventional decimal system. Of course, as usual we request readers/students to use paper and pen to calculate the value of expression shown by this app to improve their arithmetic skills. Here, 2^0=1, 2^1=2, 2^2=4, 2^3=8, 2^4=16, and vice versa. In the following figure, decimal number 10 is shown as 01010 and is expressed as 0*2^4+1*2^3+0*2^2+1*2^1+0*2^0=0+8+0+2+0=10. We request the readers/students to play with this app for some number of times and cross check the expression with hand so as to feel what the binary number system is.
The following app can be used to expand any given number as a polynomial in any given base 2-16.
https://scratch.mit.edu/projects/629435418
For example, the following figure shows decimal number 87 in base 6. We can verify that 2*6^2+2*6^1+3*6^0=2*36+2*6+3*1=72+12+3=87.
In the following app, just click on the cards to select and deselect apples to your collection.
This is a demonstration app to explain what is the binary number equivalent of a decimal number.
https://scratch.mit.edu/projects/602116849
This app is to test binary code to decimal number conversion of the students.
https://scratch.mit.edu/projects/621571989
The following app demonstrates the same by expanding a fractional number in a polynomial fashion. Readers are expected to repeat the same with their hand to feel the concept.
https://scratch.mit.edu/projects/631052124
The following app takes a random real number and shows its binary code along with a sign.
https://scratch.mit.edu/projects/614650582
We welcome readers/students to play with the following interactive quiz to further their understanding about base and other concepts discussed above. If the base of a number system is more than 10 then the digits of it are taken as 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 and A, B, C, D etc. Also, for any decimal number, n, the least significant digit in base b is n modulus b. Similarly, for any decimal number, n, the most significant digit in base b is given as the integer portion of n/F where F is a largest integer of the form bp, where p is an integer and F<=n.
https://scratch.mit.edu/projects/632241243
One more quiz to fine tune your understanding of the concepts related bases.
https://scratch.mit.edu/projects/633509786
The following app takes a CAPITAL string (Name) from the user and displays how the same is stored in computer memory. For each character its ASCII code is displayed in consecutive bytes. If the given string contains any character other than CAPITAL characters, it prints 00000001.
https://scratch.mit.edu/projects/652345838
Chapter 2:
This app demonstrates how Random Access Memory(RAM) is organised and addresses of it’s bytes. We know that an n-bit RAM contains 2^n bytes or memory locations. This app animates such a RAM and how its memory is accessed one byte after another,
https://scratch.mit.edu/projects/656899539
We welcome readers not to miss seeing the following Java Applet that demonstrates an attometer(10-18) to the milky way.
https://micro.magnet.fsu.edu/primer/java/scienceopticsu/powersof10/index.html
The following link contains an app that simulates this Evil King puzzle. I welcome readers to use this app.
https://scratch.mit.edu/projects/661835215
The following link contains a quiz around the Evil King puzzle. Please do attempt the same.
https://scratch.mit.edu/projects/662084520
The following link contains a craps game developed in SCRATCH language by my neighbour's kid. You are most welcome to play with it.
https://scratch.mit.edu/projects/453021205/
Also, to make the reader to appreciate the things we want to represent this in still some
physical means. Thanks to blogger https://azblogs4u.blogspot.com/2018/03/tenalirama-man-who-bring-kingdom-to-its.html
Chapter 4
We welcome readers to visit the site https://logic.ly/demo/samples and play the D-Flip-Flop app.
Chapter 5
The following app can be used to expand any given number as a polynomial in any given base 2-16.
https://scratch.mit.edu/projects/629435418
You are welcome to play with the following app also.
https://scratch.mit.edu/projects/636496329
This app displays the binary code of a decimal integer and also it expands the same as a polynomial. It extracts digits from least significant digit to most significant digit.
https://scratch.mit.edu/projects/608969713
This app displays the Quaternary code of a decimal integer and also it expands the same as a polynomial.
https://scratch.mit.edu/projects/607287426
This app displays the Quaternary code of a decimal integer and also it expands the same as a polynomial. It extracts digits from least significant digit to most significant digit.
https://scratch.mit.edu/projects/608964709
This app displays the Octal code of a decimal integer and also it expands the same as a polynomial.
https://scratch.mit.edu/projects/607322293
This app displays the Octal code of a decimal integer and also it expands the same as a polynomial. It extracts digits from least significant digit to most significant digit.
https://scratch.mit.edu/projects/608959369
This app displays the Hexadecimal code of a decimal integer and also it expands the same as a polynomial.
https://scratch.mit.edu/projects/608364974
This app animates how a binary number is converted to Quaternary code. It takes a random decimal integer and shows it binary code first. Then, it takes two bits at a time from the least significant bit of the binary code and its equivalent base-4 digit is displayed.
https://scratch.mit.edu/projects/610263577
This app animates how a binary number is converted to octal code. It takes a random decimal integer and shows it binary code first. Then, it takes three bits at a time from the least significant bit of the binary code and its equivalent octal digit is displayed.
https://scratch.mit.edu/projects/610299696
This app animates how a binary number is converted to code. It takes a random decimal integer and shows it binary code first. Then, it takes four bits at a time from the least significant bit of the binary code and its equivalent hexadecimal digit (0-9A-F) is displayed.
https://scratch.mit.edu/projects/610302073
Chapter 6
We advise readers of the book to visit the following sites and play the app to feel more about the binary system.
http://mathszone.net/mw/bases/binary/index.html
https://www.csfieldguide.org.nz/en/interactives/binary-cards/
The following app is to further improve your skill set on binary systems.
https://www.csfieldguide.org.nz/en/interactives/base-calculator/
The following is another app for learning binary systems.
https://scratch.mit.edu/projects/602116849
This example shows a decimal number in binary fashion using human front and back standing poses.
https://scratch.mit.edu/projects/628807603
The following web site contains a marvelous testing utility to test your binary systems related knowledge.
https://studio.code.org/projects/applab/iukLbcDnzqgoxuu810unLw
The following app shows all the possible finger notations and their values for the perusal of readers.
https://scratch.mit.edu/projects/627804915
To test your knowledge on finger binary, you are welcome to use the following app.
https://scratch.mit.edu/projects/627920722
The following video demonstrates how to count 1 to31 using fingers.
The following app is used to check the binary skills of the reader while adding two finger configurations interactively.
https://scratch.mit.edu/projects/628312021
The following app is designed to test understanding of the student on the binary system. It poses ten binary numbers with front and back facing people and ask them whether it is the same as some number with a simple yes or no answer.
https://scratch.mit.edu/projects/629048885
This app tests the knowledge of students on signed binary numbers.
https://scratch.mit.edu/projects/621836816
This app also shows how to represent a binary number for the sake of understanding kids.
https://scratch.mit.edu/projects/629076966
Also, we request teachers to use the following that displays all the numbers from 1 to 31 using sitting dogs.
https://scratch.mit.edu/projects/629116134
This app displays the binary code of a random number 1-31.
https://scratch.mit.edu/projects/606219783
This app shows how a positive integer 1-31 is represented in a binary polynomial fashion.
https://scratch.mit.edu/projects/606827852
This is a demonstration app to explain what is the binary number equivalent of a decimal number.
https://scratch.mit.edu/projects/602116849
Also, we welcome teachers to see this video and try to replicate the same in the class.
Chapter 7
You may love to see its working in the youtube video https://www.youtube.com/watch?v=GcDshWmhF4A&t=92s
https://3dprint.com/92406/3d-printed-binary-adding/ describes how to 3D print the marble machine. https://www.thingiverse.com/thing:925312 contains more details for printing its parts.
https://www.sciencefriday.com/educational-resources/write-your-name-in-binary-code/
The following app takes a CAPITAL string (Name) from the user and displays how the same is stored in computer memory. For each character its ASCII code is displayed in consecutive bytes. If the given string contains any character other than CAPITAL characters, it prints 00000001.
https://scratch.mit.edu/projects/652345838
The following shows binary time.
https://binary.onlineclock.net/time/
Chapter 8
You are welcome to use the following app for experimenting with the above conversions.
https://www.calculator.net/hex-calculator.html
Also, the following link contains a nice conversion tool.
https://learn.sparkfun.com/tutorials/hexadecimal/all
Also, the following link contains a nice conversion tool.
https://www.cut-the-knot.org/binary.shtml
Also, the following link contains a nice conversion tool.
https://www.mathwarehouse.com/solved-problems/conversions/convert-1110110110000-from-binary-to-octal
Also, play the following binary game to improve your confidence in 0s and 1s.
https://games.penjee.com/binary-bonanza/index.html
Also, another interesting game to test your speed in dealing with binary numbers.
https://learningcontent.cisco.com/games/binary/index.html
Another interesting game to improve skills in binary numbers.
https://games.penjee.com/binary-numbers-game/index.html
Also the following page is a little interesting.
https://blog.penjee.com/what-is-a-binary-number/
Also, the following link contains nice convertor to Hex, Octal, etc.
https://www.mathwarehouse.com/calculators/binary-hexadecimal-calculator.php
The following site contains marvellous apps to do number conversions
http://www.cut-the-knot.org/blue/SysTable.shtml
Chapter 9
The following app is used to test how students can recognize the digits of Mayan system.
https://scratch.mit.edu/projects/651186633
The following app is used to test basic skills of students about digits in Mayan system. It displays all the possible digits of Mayan system and asks the reader to click on some specified digits.
https://scratch.mit.edu/projects/651290800
The following app is used to test basic skills of students about Mayan system. It shows a number in Mayan system and asks the reader to guess what it is.
https://scratch.mit.edu/projects/651221110
The following app is used to test basic skills of students about Mayan system. It shows two numbers in Mayan system and asks the reader to guess what is their sum is.
https://scratch.mit.edu/projects/651277154
Chapter 10
We welcome readers to experiment the following full adder circuit at https://logic.ly/demo/ and https://logic.ly/demo/samples
This app takes two random decimal integers and shows their binary codes first. Then, it demonstrates how to add the bits from least significant bit and what is the carry value.
https://scratch.mit.edu/projects/613350058
Chapter 11
This gives a random binary bit sequence and asks the user whether it is same as some decimal integer.
https://scratch.mit.edu/projects/621611777
This app is to test unsigned binary numbers to decimal number conversion skill of the students.
https://scratch.mit.edu/projects/621571989
This app is used to test signed integers knowledge of the students.
https://scratch.mit.edu/projects/621593145
The following app animates binary odometer. We welcome readers to play with it.
https://scratch.mit.edu/projects/622331264
This app takes a random decimal integer and first calculates its binary code. In order to calculate its 2's complement, we first calculate 1's complement and add 1 for it.
https://scratch.mit.edu/projects/612565613
Chapter 13
This app takes a random decimal integer and shows its binary code. Then, it calculates parity bit using odd parity. That is, if the binary code contains an odd number of 1s then parity bit value is taken as 1; otherwise parity bit value is taken as 0.
https://scratch.mit.edu/projects/610880868
This app takes a random decimal integer and shows its binary code. Then, it calculates parity bit using odd parity. That is, if the binary code contains an even number of 1s then parity bit value is taken as 1; otherwise parity bit value is taken as 0.
https://scratch.mit.edu/projects/610900873
We advise readers to visit http://candle.ctit.utwente.nl/wp5/tel-sys/exercises/datalinkp2p/hamming74demo.html and experiment with the available online Hamming code demo.
The following app selects a decimal integer and then calculates the parity bits as discussed above.
https://scratch.mit.edu/projects/610924743
https://products.aspose.app/barcode/generate/postnet
https://electricalfundablog.com/barcode-number-system/
Chapter 14
The following app can be used to know ASCII symbols and respective binary codes.
https://www.csfieldguide.org.nz/en/interactives/unicode-binary/
At present we are using UNICODE to represent symbols of many languages around the world. Of course, ASCII is a subset of it. Using the following app we can see symbols associated with the given UNICODE values. You may try entering values from 3077 onwards to see Telugu alphabets.
https://www.csfieldguide.org.nz/en/interactives/unicode-chars/
Chapter 15
We welcome readers and teachers to play with some sound samples with various sampling rates and quantization levels to understand these concepts in live. We advise readers to visit the following site for many more examples on this theme.
https://makeabilitylab.github.io/physcomp/signals/QuantizationAndSampling/index.html
In all the following sound clippings, the word “Hello” is uttered by a person with various quantization levels. We welcome viewers to feel what happens if the quantization levels become small. The following audio clipping is sampled at 44100KHz and at 16-bit quantization levels.
https://drive.google.com/file/d/1OyD7jVH0TfQu-Y5MgqlC_mL-0wTOlhyX/view?usp=sharing
The following audio clipping is sampled at 44100KHz and at 8-bit quantization levels.
https://drive.google.com/file/d/1gLxmmx7Gf87DA5enb7HzPMKRXGtMxkgl/view?usp=sharing
The following audio clipping is sampled at 44100KHz and at 6-bit quantization levels.
https://drive.google.com/file/d/1eVIOee3kvaNJ5LkKd-tdPT4rJppILRv5/view?usp=sharing
The following audio clipping is sampled at 44100KHz and at 4-bit quantization levels.
https://drive.google.com/file/d/1msge5oaJJSPGP4n-zQAnOtS3FTjiZ1Z7/view?usp=sharing
The following audio clipping is sampled at 44100KHz and at 3-bit quantization levels.
https://drive.google.com/file/d/1BKWC9BwT6UCctFtuamuhCw2ffIEJyaUb/view?usp=sharing
The following audio clipping is sampled at 44100KHz and at 2-bit quantization levels.
https://drive.google.com/file/d/1NLal9oeRj-dzfUPC-4MV_1jlQAWd4Z82/view?usp=sharing
Levitating huge objects
The Music of Proteins Is Made Audible Through a Computer Program That Learns From Chopin
For example, music generated from the receptor protein that binds to the hormone and neurotransmitter oxytocin has some recurring motifs due to the repetition of certain small sequences of amino acids.
https://drive.google.com/file/d/1ISAHkY8gT1zmBxY9BW2DhFz-LUN_lk8k/view?usp=sharing
On the other hand, music generated from tumor antigen p53, a protein that prevents cancer formation, is highly chromatic, producing particularly fascinating phrases where the music sounds almost toccata-like, a style that often features fast and virtuoso technique.
https://drive.google.com/file/d/1f56akrby2oeZJprzM3WUHbloe-M6F_yL/view?usp=sharing
The following link contains technical details of Levitation that was used in olden days by Buddist monks.
http://www.thelivingmoon.com/44cosmic_wisdom/02files/Levitation03.html
Chapter 16
Sending kisses over Internet
Sending smell through Internet
The following website contains many handy tools for IPv4 and IPv6 address manipulation.
https://www.ipaddressguide.com/netmask
The following app takes a string from the user and converts the same into pig latin. That is, we append a character like 'k' in each character of the string and then print the same.
Example Input:Rama
Example Output: kRkakmka
https://scratch.mit.edu/projects/648088595
The following app takes a string that is in pig latin from the user and converts the same into the original string. That is, we remove characters like 'k' before each character of the given string and then print the original string.
Example Input: kRkakmka
Example Output:Rama
https://scratch.mit.edu/projects/648162603
This app takes a CAPITAL string from the user and encrypts the given string by replacing each character of it with a character that is four units from it. That is, symbol A is replaced with symbol E, symbol P is replaced with symbol T, symbol V is replaced with Z, symbol Y is replaced with C, symbol Z is replaced with D and vice versa.
Example Input:RAMA
Example Output: VEQE
https://scratch.mit.edu/projects/652138128
This app takes a CAPITAL string from the user and decrypts the given string by replacing each character of it with a character that is four units before it. That is, symbol E is replaced with symbol A, symbol T is replaced with symbol P, symbol Z is replaced with V, symbol C is replaced with Y, symbol D is replaced with Z and vice versa.
Input string:VEQE
Output string:RAMA
https://scratch.mit.edu/projects/652170492
This app takes a CAPITAL string from the user and encrypts the given string by replacing each character of it with a character that is n units from it. That is, if n value is 4 or 30 or 56 or 264 or -22 or -48 or -282 , symbol A is replaced with symbol E, symbol P is replaced with symbol T, symbol V is replaced with Z, symbol Y is replaced with C, symbol Z is replaced with D and vice versa.
Input string: RAMA
Input value of n: 4 or 30 or 56 or 264 or -22 or -48 or -282
Output string:VEQE
https://scratch.mit.edu/projects/652211991
This app takes a CAPITAL string from the user and decrypts the given string by replacing each character of it with a character that is n units before it. That is, for value of n, 4 or 30 or 56 or 264 or -22 or -48 or -282 symbol E is replaced with symbol A, symbol T is replaced with symbol P, symbol Z is replaced with V, symbol C is replaced with Y, symbol D is replaced with Z and vice versa.
Input string: VEQE
Input value of n: 4 or 30 or 56 or 264 or -22 or -48 or -282
Output string:RAMA
https://scratch.mit.edu/projects/652221285
The above Cipher wheel encryption is available at the following link for experimentation.
https://scratch.mit.edu/projects/653034058
Decryption for the above Cipher wheel encryption is available at the following link for experimentation.
https://scratch.mit.edu/projects/653039480
Scientists Crack Largest Encryption Key After 35 Million Hrs Of Computing
Wow. Now you can buy virtual plot in EARTH2 metaverse(https://earth2.io/)
Chapter 18
Teachers are advised to use the following app to demonstrate phase, their reflections etc on basic particles such as protons and electromagnetic waves.
The following link contains a simulation app that demonstrates what a spin is. We request readers to use this app before proceeding further.
https://www.st-andrews.ac.uk/physics/quvis/simulations_html5/sims/spin1/spin1.html
We welcome readers to play with the following app to understand the states 0, 1 and mixed state 0 and 1.
The following links contain various apps that demonstrate the state of a qubit.
https://www.st-andrews.ac.uk/physics/quvis/simulations_html5/sims/blochsphere/blochsphere.html
https://www.st-andrews.ac.uk/physics/quvis/simulations_html5/sims/QuantumBombGame/Quantum_bomb.html
https://devblogs.microsoft.com/qsharp/visualizing-quantum-programs-using-the-qdk/
The following SCRATCH app also can be used to demonstrate the various states of a qubit. Play with various gates such as “A”, “X”, etc.
https://scratch.mit.edu/projects/420214047
We welcome readers to use this entanglement simulation app to visualize the concept entanglement discussed above.
https://www.st-andrews.ac.uk/physics/quvis/simulations_html5/sims/entanglement/entanglement.html
The following virtual lab also has an extensive collection of examples to demonstrate the concepts to first level students.
https://lab.quantumflytrap.com/lab/quantum-teleportation?mode=laser
The following SCRATCH seems to be apt in demonstrating the entanglement with 2-Qubit system.
https://scratch.mit.edu/projects/412175983
Private keys for message transactions: messages can be accompanied by a cloud of uncertainty that encrypts their contents; only those who send and those who receive the message can decrypt the content.
The following animations will illustrate the use of quantum computers for cryptography.
https://www.st-andrews.ac.uk/physics/quvis/simulations_html5/sims/BB84_photons/BB84_photons.html
http://www.st-andrews.ac.uk/physics/quvis/simulations_html5/sims/cryptography-b92/B92_photons.html
List of Quantum Computer simulators
This list provides an overview of available QC simulators grouped by programming language
https://quantiki.org/wiki/list-qc-simulators
Preface
Like many people, I did maintain a slam book during my under-graduation and had wishes from many of my friends. I love to bring the first page of the same book which I always recollect being a teacher to deliver concepts in a big way(more clarified way) in my classes whatever small is that concept.
During the 30-35 years of Computer Science teaching, I have observed thousands of students putting blank faces when any one tries to probe them at bit level. I know that the concept of bits & bytes is the basis for whole development related to Computer Science, IT and allied areas. Thus, I was aiming at expanding the simple “bits” concept in a big way so as to be appreciated by the students community and teaching fraternity. Certainly the above quotation of my friend is instrumental in thinking like this.
It is always good to deliver the first level courses as appreciation courses or joyful courses. I mean, they have to develop interest in the course theme and build enthusiasm among the students. Thus, I have selected the title of the book as “Joy of Computing”. I am sure you will agree with me that the courses can be joyful by including animations, “to do” examples, and puzzles. Thus, this book is designed to have many animations, puzzles, ready to run programs, relating to historical developments, and interesting real life examples. Also, questions asked in International Competitions such as Bebras, PISATEST, etc., are included to give a little more bliss to the book.
Another important objective of conceptualising this book is to create a pool of resources to be used by the teachers in their first classes while introducing computers to kids.
First chapter introduces the concepts such as number system, polynomial expansion of a number and the radix of a number system, etc. All the chapters are augmented with many apps to experiment or practice the concepts including this chapter. In this chapter itself, the binary system is introduced. Second chapter is designed to relate bits and logarithms. This is another conceptual gap which I have observed in CSE/IT interns. What is an n-bit computer? Here, what n conveys in the programmer's point of view is covered.
Also, when to use ‘B’ and when to use ‘b’ is explored in the third chapter. Also, this chapter clarifies whether K(kilo) stands for 1024 or 1000(103). This chapter also elucidates the layman’s meaning of 1MB?
Fourth chapter explains what is the practical speed of a computer and how the same is represented in terms of MIPS(Million Instructions per Second), FLOPS(Floating Point Operations per Second). Fifth chapter number conversions from one base to another base.
Sixth chapter is an exclusive for binary number system. This chapter explains “Why binary numbers are used in present digital computers”. It also explains counting using fingers along with how real numbers can be represented in a binary system. Seventh chapter historical development of “Computing Machines” from Leibniz wheel.
Eighth chapter also deals with number conversions from one base to another base. Many conversion tools are designed for the perusal of students. Ninth chapter includes concise discussion on how number systems are developed historically. Tenth chapter explains operations of binary numbers such as addition, subtraction, multiplication, and division.
Eleventh chapter introduces sign-magnitude representation, 1’s complement representation, 2’s complement representation, BCD representation, exceptional situations such as overflow, underflow during the computations. Twelfth chapter explores IEEE 754 floating point representation and allied apps.
Chapter thirteen deals with error correction and detection codes in practical computer communications. ISBN number, Hamming code, 2 out 5 code, US POSTNET code, etc. are explained along with many puzzles related to these concepts. Chapter fourteen explains the need for standards (common agreement) in computer communication. Also, it explains about ASCII, UNICODE etc., standards along with many easy to use apps. Also, it introduces the endianness of a processor and its effect on practical computer communication.
Chapter fifteen makes a tour of the digital era. It introduces concepts such as analog systems, digital systems, sampling, quantization, Nyquist theorem, sensors, etc. Chapter sixteen introduces the reader to the Internet, WWW, Metaverse. Also, this chapter is designed to have many encryption based simple puzzles, apps to make them appreciate the need for data security because of the public nature of the Internet.
Seventeenth chapter is an exclusive on qubits, aka quantum computing which is predicted to give many breakthroughs in computing research. This chapter is also made to have many apps to illustrate the concepts easily to the students. I have included many descriptive questions, objective questions to be used by the prosperous teachers.
Table of Contents
Introduction
Ha. Ha. This is a marvellous synonym to the computer!
Explore about Computing, the offspring of Counting
Mathematical meaning of fixed or integer numbers
Ok. Ok. What is the Mathematical meaning of a Fractional or real number?
Base (or radix) of a Number System
Acceptable Digits in a Number System
A Funny question raised by a 9 year old kid
A simple note on base 10 system
Puzzle: Echo and Response
I liked this video a lot. What about you?
Bits and Logarithms
Logarithms put numbers on a human-friendly scale
Logarithms in Science and engineering
Do you remember using the log scale in your drawings?
Measurement Scale: Google PageRank
Happiness Law and logarithms
Little briefing about practical logarithms and their applications
A Convenient Relationship between Base 2 and Base 10 Numbers
By the way what is meant by 1MB really?. How to convey the same to a lay man?.
How many pictures can I store on a CD or DVD?
A simple game
Craps game: another game
Wheat and chessboard problem
B or b? Kilo means1024 or 1000?
When and where one uses Bytes and where one uses bits?
Connecting I/O to Processor and Memory
Netflix & YouTube Video Bandwidth requirements
What bandwidth is needed for my house camera surveillance system to remotely assist my old mom?
FLIP-FLOPS and FLOPS
What is a Flip-Flop?
What is the speed of a processor?
.
Number conversions
Converting from Base 10 to Other Bases
Another method for converting numbers from base 10 to other bases
Binary System
Another way of Converting from Decimal to Binary
Puzzle: An evil king and his wine bottles
Finger Binary
Why is the Binary System used in Computers?
Puzzle: Flags
Puzzle: Binary Gate
Puzzle: Happy binary cake
Puzzle: Sixteen Diodes
Puzzle: Gamma Code
Puzzle: Binary counter
Puzzle: Binary Card Game
Worksheet for teachers
Binary Numbers in Lights
Puzzle: Counterfeit Coin detection
Glimpses of binary computing machines
Example: If you want to add 13 to 44, perform the following steps:
Using the Machine to Subtract
Simple Rules For Number Conversions
Binary → Denary
Quaternary → Denary
Octal → Denary
Hexadecimal → Denary
Binary → Quaternary
Binary → Octal
Binary → Hexadecimal
Quaternary → Binary , Octal → Binary , Hexadecimal →Binary
Quaternary → Hexadecimal
Hexadecimal→ Quaternary
Octal ↔Hexadecimal, Octal ↔ Quaternary
Binary → Denary
Popular Number Systems:Inspirers of the current day computers
Ternary system
Finger Ternary
Oh, my God! Systems with a negative base? Negabinary
Senary System
Duodecimal System Dozenal System
Vigesimal
Hexavigesimal
Sexadecimal
Binary Arithmetic
Representation of integers in Practical Computers
Unsigned Numbers
The Concept of complement
Diminished Radix Complement :
Radix Complement
Representation of Signed Integer in 1's Complement Form
A simple odometer analogy to elucidate overflow
Representation of Signed Integer in 2's Complement Form
Some points to remember about overflow/underflow
Other codes used in representing numbers
IEEE 754: Practical Representation of Real Numbers in the present Computers
Fixed-point representation
Floating-point representation
IEEE 754 standard floating point format:
Error Detection and Correction codes
2 out of 5 code
Bi-quinary
Puzzle: BSBN
Puzzle: Observing Beavers
Puzzle: KIX Code
Puzzle: Let us encode numbers
Puzzle: Lights
Puzzle: Code
Puzzle: Card Code
ASCII to UNICODE Standards
Puzzle: Bowling
Big endian, Little Endian, Middle Endian machines
The Digital Era aka era of bits and bytes
What is digital?. What is Analog?.
Digital systems
Sampling and Quantization
Analog to Digital Converter (ADC) and Digital to Analog Converter (DAC)
Number of bits per sample
How much memory is required to record 1 second of music?
Properties of digital sound
A Note on Digital Representations
Glimpses of daily life sensors which is secret of SMARTNESS
An Ultrasonic Sensor
Application of Ultrasonic Sensor
Touch Screens
Flying bits: Internet, WWW, and Metaverse
What is the Internet?
IP Addresses
How To Test Internet Connectivity?
Knowing Our Machines IP Address and Domain Name
Is the Internet secure? Is our data secure over the Internet?
Puzzle: John's Secret Message
Puzzle: Cipher Wheel
Puzzle: ABug
Puzzle: Secret message
Puzzle: Encrypted eMail
Puzzle: International Bebra Contest, Pakistan, 2015
Puzzle: Beaver's code
Puzzle: Crypto-Beaver
Puzzle: Secret number reminder
Puzzle: Send a secret
Puzzle: Secret Typewriter
Puzzle: Intrusion!
Puzzle: Breaking the cipher
Puzzle: Robber language
Puzzle: B-Enigma
Puzzle: Decryption Decryption Map
Puzzle: Grid alphabet
Puzzle: Displacement cipher
Puzzle: 2 simple Ciphers
Meta Verse
Let us take a snap of Qubit
Bits vs Qubits
Spin
POLARIZATION QUBIT
PATH QUBIT
TIME QUBIT
Superconducting qubit
How does a quantum computer work?
What makes QC interesting?
Speed like you’ve never imagined achieving with classical computer
Everywhere at once
Some example uses of QC
A little about Mathematical representations
List of Quantum Computer simulators
Review Questions
Objective Questions
Some useful online resources
Acknowledgements
I thank all of my students of BITS, Pilani, RITCH CENTER, GVPCE, AITAM, GVPCEW to whom I have taught various programming and algorithms related courses during the last three decades. Their queries, their question mark faces made me scribble this book.
I thank my college Management Prof PS Rao, Prof Soma Raju, Principal, Vice-Principal, and fellow colleagues.
I thank COVID because of which I have got some free time to collate all the examples of the book.
I thank my Mrs. Dr Garimella Venkata Saradama and daughter for allowing me to use their time to concentrate on this book project; otherwise this would have not been seen in its current form.
Author
NB Venkateswarlu