Generally, I create a separate video about a separate subtopic so that it’s easier for me to edit and for you to navigate.
Introduction
- Contact:
- [Best] Microsoft Teams, search for
jgu
orJetic Gū
. - Email:
jgu@columbiacollege.ca
, please include course number and section number in your title (like [CSCI150S10])
- [Best] Microsoft Teams, search for
- Grading criteria
- Multiple attempts for Assignments.
- All assignments are due on Sundays, check the main course website for detailed time.
- All exams are in person. Quizzes as well. Dates in the course website.
- Labs are more important than ever!
- Read and follow instructions carefully.
- To be submitted on Moodle.
- Multiple attempts for Assignments.
Lecture 1: Digital Information Representation I
LS1 Part 1: Digital vs Analogue Circuits, Digital Integrated Circuits
Highlight:
- Information Representation in Digital vs Analogue circuits (using voltage)
- Advantages of Digital
- Digital integrated circuits
- What is SSI, MSI, LSI (roughly, exact numbers are not important)
LS1 Part 2: von Neumann Architecture, Embedded Systems
Highlight:
- von Neumann Architecture is the most popular computer architecture now, examples include your smart phone, tablet, laptop, raspberry pi, desktop computer, and super computers.
- Three major components:
- Input/Output devices (I/O device): Keyboard, Mouse, Monitor, Mic, Headphone, Webcam, Hard Drive, SSD, etc.
- Memory: memory sticks, my desktop machine has 64GB DDR4 (4x16GB)
- CPU (Central Processing Unit): contains Control Unit and Datapath
- Three major components:
- Embedded Systems
- Simpler than von Neumann machines
- not general purpose, designed to do specific tasks much more efficiently than von Neumann machines
- Fast, light-weight, usually not programmable
- Examples:
- USB Sticks
- Smart lightbulbs
- GPUs
- Japanese high-tech toilets
- Certain Printers and Scanners
LS1 Part 3: Binary/Hexadecimal System Conversions
Highlight
- Number systems, decimal system
- Base 10
- Base digit left to the decimal point
- From other base systems to base 10
- Conversions
- From binary to decimal using the binary table
- From decimal to binary using the binary table
- Between binary and hexadecimal
- Between hexadecimal and decimal (through conversion to binary first!)
LS2 Part 1: Digital Number systems
Highlight
- Digital Binary Systems
- Fixed number of bits for every number, minimum a byte
- Your computer is most likely 64bit, which means every number (or value) is represented in 64bits of binary
- Bits & Bytes, 8 x difference
LS2 Part 2: Basic Arithmetics, Signed Integers in Digital Systems
Highlight
- Binary addition and subtraction
- Most importantly, individual carries and borrows. We’ll be seeing them in later lectures as well.
- Textbook method of converting decimal numbers to binary
- This method is slower than my binary table, and also easy to make mistakes.
- Fractions are introduced here, but NOT required.
- Signed Integers
- The first bit of a signed integer is always the sign bit
- 0 means not negative
- 1 means negative
- Counting in signed 3bit! (Smallest to Greatest)
- 100 (-4), 111 (-3), 110 (-2), 101 (-1), 000 (0), 001 (1), 010 (2), 011 (3)
- Representation range:
- Unsigned N-bit:
- Signed N-bit:
- Unsigned N-bit:
- The first bit of a signed integer is always the sign bit
LS2 Part 3: A Case Study, of Analogue to Digital Conversion
Highlights:
- To convert a piece of analogue waveform to digital, first, you need to decide a sample rate:
- Frequency is measured in Hz. 10 Hz means 10 repetitions in a second.
- Sample rate is the number of samples per second.
- For each sample, you measure the voltage during that time period. Say your sample rate is 1000 per sec, then each sample is 1/1000s. You would measure continuously for 1000 times every second, and obtain 1000 voltage values for every second.
- Every voltage value is stored in binary code (if there are negatives, you must you signed code).
- Bitrate is the number of bits needed to store one second of recording. Say each sample takes 8bits, at a sample rate of 16K, your bitrate would be 16Kbps=2KBps.
- Bitrate can usually be used to measure recording quality. A higher bitrate usually means better quality (but necessarily if your sampling rate is lower).
LS3: Binary Coded Decimal, ASCII and UTF8, Parity Code
Highlights:
- Binary Coded Decimals
- Decimal numbers are represented as strings of single digit, with each decimal digit represented by 4bits of binary code.
- 234 -> 2, 3, 4 -> (0010 0011 0100)BCD
- ASCII for representing strings
- 8bit for every character, the first bit is always 0
- Every character, from ‘A’ to ‘Z’, ‘a’ to ‘z’, ‘0’ to ‘9’ and symbols such as ‘,’ ‘.’ ‘-‘ has an index in the ASCII table, which is the value used to represent them in a computer system.
- E.g. an ASCII text file with “Aha” written inside, is stored on your hard drive as
416861h
(binary:1000 0001 0110 1000 0110 0001
) - UTF8 is an extension to ASCII, which includes all accented letters as well as characters used in all computerised languages, as well as emojis.
- Parity
- An additional bit for every byte of transmission, used for error detection
- The position of the parity is agreed upon by the two computers in communication. In this course, we denote it using underscore (e.g. 110101100)
- Even parity and Odd parity
- Does NOT correct error
- Cannot detect error when there are more than one