Review and Introduction to Computation Notes

Classroom Procedures and Logistics

Room 249: Digital Information Technology

  • Restroom Policy: Only one male or one female student is permitted to go to the bathroom at a time.
  • Process: Raise a hand and point toward the Kiosk. Use the Kiosk system (when operational) and Hall Passes.
  • Office/Clinic Pass: A specific form must be filled out in addition to using the Kiosk.

Classroom Rules and Courtesy

  • Communication: When the instructor is talking, students must remain silent. Similarly, when another student is addressing the class or the instructor, others must listen.
  • Garbage: Disposal of waste should wait until the end of the class period.
  • Movement: Students are not to wander or walk around the classroom unless engaged in group work.
  • Behavioral Standard: There is a strict policy against bullying or talking down to others.
  • Device Usage: Computers are to be turned on or off only when instructed. Logins use generic DAS credentials, and files are stored in Google Drive. Students must remain on task and use only approved programs or apps on Clever.

Grading and Syllabus Highlights

  • Course Goal: Cover a large volume of material at a medium depth level for High School credit.
  • Tests and Quizzes: Account for 60%60\% of the total grade (100100 points per test, 6060 points per quiz). These are largely administered via online Google Forms or presentations.
  • Homework, Projects, and Classwork: Account for 40%40\% of the total grade. This includes notebook checks and online submissions.
  • Bell Work: Graded notebook checks often include unscrambling technical terms such as:
    • 1. MEHOTR (Mother)
    • 2. RADBO (Board)
    • 3. CPBA (PCBA)
    • 4. OMTEUPCR (Computer)
    • 5. TSRCEA (Traces)
    • 6. TUIIRCC (Circuit)
    • 7. EBUSS (Buses)
    • 8. CRAD (Card)
    • 9. PTRO (Port)
      1. LOTS (Slot)

Introduction to Computing

Definitions and History

  • Computing: This refers to what is done with Computer Science. It involves using tools to perform work, specifically adding, subtracting, and repetitive mechanical patterns.
  • Evolution: Progressed from mechanical systems to electrical and finally to electronic systems. Early computing was rooted in math, counting, and repeatable, verifiable statements.
  • The Abacus: Dated to approximately 27002300BC\sim 2700-2300\,BC in Babylon. Its original form consisted of lines in the sand with small stones. It is described as a "Hand Operated Counting Tool."

Number Systems

  • Binary: Base-2 system using symbols 00 and 11 (Bits).
  • Roman Numerals: Uses symbols II, VV, XX, LL, CC, DD, MM.
  • Decimal/Denary: Base-10 system using symbols 00, 11, 22, 33, 44, 55, 66, 77, 88, 99.
  • Hexadecimal: Base-16 system using symbols 090-9 and letters AA, BB, CC, DD, EE, FF.
  • Counting Logic: In any base, move to the rightmost position and add ONE until the pattern repeats, then carry ONE over to the next column.
    • In Binary: 1+1=101 + 1 = 10.
    • In Decimal: 9+1=109 + 1 = 10.
    • In Hexadecimal: F+1=10F + 1 = 10.

Unit Prefixes for Magnitude

PrefixSymbolFactorPower
teraTT1,000,000,000,0001,000,000,000,000101210^{12}
gigaGG1,000,000,0001,000,000,00010910^{9}
megaMM1,000,0001,000,00010610^{6}
kilokk1,0001,00010310^{3}
hectohh10010010210^{2}
decadada101010110^{1}
(none)-1110010^{0}
decidd0.10.110110^{-1}
centicc0.010.0110210^{-2}
millimm0.0010.00110310^{-3}
microμ\mu0.0000010.00000110610^{-6}
nanonn0.0000000010.00000000110910^{-9}
picopp0.0000000000010.000000000001101210^{-12}

Standard Storage Units vs. Binary Storage Units

Name (Decimal)StorageName (Binary)Storage
Kilobyte1,000B1,000\,BKibibyte1,024B1,024\,B
Megabyte1,000,000B1,000,000\,BMebibyte1,048,576B1,048,576\,B
Gigabyte1,000,000,000B1,000,000,000\,BGibibyte1,073,741,824B1,073,741,824\,B
Terabyte1,000,000,000,000B1,000,000,000,000\,BTebibyte1,099,511,627,776B1,099,511,627,776\,B
Petabyte1,000,000,000,000,000B1,000,000,000,000,000\,BPebibyte1,125,899,906,842,624B1,125,899,906,842,624\,B

Computer Hardware and Moore's Law

Moore's Law

  • Observation: The number of transistors on a microchip doubles approximately every 22 years.
  • Purpose: It serves as a guide for long-term planning and sets R&D targets for the semiconductor industry.
  • Impact: It is linked to the reduction in quality-adjusted prices of processors, memory capacity increases (RAM/Flash), sensor improvements, and digital camera pixel density.
  • Future: The industry may be approaching the physical limitations of this law.

Modern Digital Computer Architecture

  • Logic Base: Computers are built on binary numbers, logic gates, instruction sets, and switches (transistors or vacuum tubes).
  • Central Processing Unit (CPU): Now primarily a semiconductor Integrated Circuit (IC).
  • Graphics Processing Unit (GPU): A specialized processor designed specifically for handling graphics tasks.
  • Memory/Storage:
    • Memory: Temporary storage for instructions that can change (RAM).
    • Storage: Long-term storage of data (SSD - Solid State Drives, HDD - Hard Disk Drives, RAIDS).
  • Buses: Wires or metal "traces" that move data between components.
  • Printed Circuit Board Assembly (PCBA): The board containing the CPU, GPU, memory, and supporting electronic components (resistors, capacitors, inductors).

Software and Operating Systems

Software Categories

  • System Software: Includes the Operating System, Middleware, Firmware, and BIOS.
  • Application Software: Tools for specific tasks, such as office suites, web browsers, databases, graphics software, and communication platforms.
  • Programmable Software: Languages used to create programs, such as Assembly, C/C++C/C++, Java, and Python. These are often compiled into binary/executable files or run via emulators.

The Operating System (OS)

  • Primary Responsibilities:
    • Processor management.
    • Memory management.
    • Device management.
    • Storage management.
    • Application Interface.
    • User Interface.
  • Generations of OS:
    • First Generation (194519551945-1955): Vacuum tubes and plugboards; no OS; programmed in machine language; very slow.
    • Second Generation (195519651955-1965): Transistors and batch processing (punch cards); jobs grouped to reduce idle time.
    • Third Generation (196519801965-1980): Integrated Circuits; introduced multiprogramming (multiple jobs in memory) and time-sharing (multi-user access, e.g., UNIX).
    • Fourth Generation (1980Present1980-Present): LSI microprocessors; Personal Computers; Graphical User Interfaces (GUIs), networking, and mobile operating systems (Windows, MacOS, Linux, iOS, Android).

BIOS and UEFI

  • BIOS (Basic Input/Output System): A program embedded on a microprocessor that initializes hardware and manages data flow between the OS and devices during bootup.
  • History: Invented by Gary Kildall in 19751975; integrated into the IBM PC in 19811981.
  • UEFI (Unified Extensible Firmware Interface): The modern replacement for BIOS.
    • Introduced in 20022002.
    • Supports drives larger than 2.2TB2.2\,TB using GUID Partition Table (GPT) instead of Master Boot Record (MBR).
    • Features superior speed, security, and user interfaces.
  • Types of BIOS:
    • Legacy: Older firmware with text-only menus and a 2.1TB2.1\,TB disk limit.
    • EFI: Developed by Intel to fix BIOS shortcomings.
    • UEFI: Maintained by the Unified EFI Forum (including Apple, Intel, Microsoft, and IBM).

Microsoft OS History

MS-DOS (Microsoft Disk Operating System)

  • Origin: Derived from Seattle Computer Products' QDOS (Quick and Dirty Operating System), licensed by Microsoft for $25,000\$25,000 in July 19811981.
  • Versions:
    • 1.0 (19811981): Official release for the IBM PC.
    • 1.1/1.25 (19821982): Supported double-sided disks; first version titled "MS-DOS."
    • 2.0/2.1 (19831983): Supported hard drives (PC XT) and ROM cartridges.
    • 3.0-3.2 (198419861984-1986): Developed for IBM PC AT; introduced LAN support (3.13.1) and 3.53.5-inch floppy disks (3.23.2).
    • 3.3/4.0 (198719881987-1988): Supported 1.44MB1.44\,MB disks and multitasking (4.04.0, primarily in Europe).
    • 5.0 (19911991): Introduced the "edit" text editor and himem.sys for Upper Memory Area (UMA) loading.
    • 6.0-6.22 (199319941993-1994): Included double-space disk compression. Version 6.216.21 had to remove DBLSPACE due to legal infringement of STACKER software; it was replaced by DRVSPACE in 6.226.22.

Windows Versions

  • Windows 1.0 (19851985): Graphical operating environment; limited multitasking.
  • Windows 2.0 (19871987): Introduced Control Panel, Word, Excel, and overlapping windows.
  • Windows 3.0 (19901990): First version to receive critical acclaim; better multitasking and memory management.
  • Windows 95 (19951995): The first "complete" Operating System; introduced the taskbar, Start menu, and Long File Names; shifted from 1616-bit to 3232-bit GUI.
  • Windows Vista (20072007): Improved GUI; first to use DVD-ROM for installation.
  • Windows 7 (20092009): Redesigned taskbar; introduced "Libraries."
  • Windows 8 (20122012): Optimized for touchscreens; increased cloud integration; redesigned Task Manager.
  • Windows 10 (20152015): Virtual desktop system; automatic file compression to save storage.
  • Windows 11 (20212021): Redesigned Start menu; "Widgets" panel; integrated Microsoft Teams; Auto HDR and DirectStorage for gaming.

UNIX and Linux History

UNIX

  • Development: Created by Ken Thompson at AT&T Bell Labs in 19691969 on a PDP-7 minicomputer.
  • Portability: Dennis Ritchie and Ken Thompson rewrote UNIX in the CC programming language in 19731973, allow it to run on different hardware.
  • Variants: Included Berkeley Software Distribution (BSD), which was suppressed in the 1990s1990s by an AT&T lawsuit (USL v. BSDi).

Linux

  • Development: Started in 19911991 by Linus Torvalds at the University of Helsinki as a hobby project for his 80386-based PC.
  • Naming: The kernel was eventually named Linux; Torvalds released the first version (0.010.01) on September 1717, 19911991.
  • Licensing: Relicensed under the GNU General Public License (GPL) in 19921992.
  • Distributions:
    • Slackware (19931993): Oldest currently existing distribution.
    • Debian (19931993): Largest community distribution.
    • Red Hat/SUSE (19941994): Commercial Linux distributions.
    • Ubuntu (20042004): Reached 22,000,00022,000,000 users by 20142014.
  • Key Milestones:
    • 19961996: Version 2.02.0 introduced Symmetric Multiprocessing (SMP); TUX the penguin became the mascot.
    • 19981998: IBM and Oracle announced support; Linux appeared on the TOP500 supercomputer list.
    • 20132013: Android (Linux-based) claims 75%75\% of the smartphone market.
    • 20172017: All TOP500 supercomputers run Linux.

File Systems and Command Shells

File System Fundamentals

  • Purpose: A structure used by the OS to organize data on storage devices. It prevents resource contention and data corruption.
  • Naming Convention: Uses the format filename.extension. For example, .sys files are typically large system files.
  • Hierarchy: Uses a Root Directory (usually labeled as the "C:" drive in Windows) containing directories (folders) and files.

Windows CMD Commands

  • copy: Moves one or more files to a different location.
  • del: Deletes files.
  • rename (or ren): Changes a file's name.
  • attrib: Changes file attributes (e.g., attrib -h -s -r to show hidden/system/read-only files).
  • cd: Changes the current directory.
  • dir: Lists files and subdirectories.
  • tree: Displays the folder structure graphically.
  • mkdir (or md): Creates a new directory.

Linux Terminal Commands

  • Note: Commands in Linux are case sensitive.
  • pwd: Print Working Directory (shows current location).
  • ls: List directory contents (equivalent to dir).
  • ls --help: Displays usage format for the ls command.
  • man ls: Opens the manual (help pages) for ls.
  • df -h: Shows free disk space in a human-readable format.
  • cd: Change directory.