0% found this document useful (0 votes)
10 views56 pages

CSC105 1 Wu Ch1

The document outlines the course CSC 105 Introduction to Computer Science for Technical Majors, including course information, grading policies, and essential programming concepts using Python. It emphasizes the importance of class attendance, timely assignment submissions, and academic integrity. Additionally, it covers fundamental hardware and software components of computers, as well as how data is stored and processed in binary format.

Uploaded by

Kyshawn Williams
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
10 views56 pages

CSC105 1 Wu Ch1

The document outlines the course CSC 105 Introduction to Computer Science for Technical Majors, including course information, grading policies, and essential programming concepts using Python. It emphasizes the importance of class attendance, timely assignment submissions, and academic integrity. Additionally, it covers fundamental hardware and software components of computers, as well as how data is stored and processed in binary format.

Uploaded by

Kyshawn Williams
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 56

3:28 PM

CSC 105 Introduction to Computer Science for


Technical Majors

Chapter 1
Introduction to Computers and Programming

Dr. Longfei Wu
Department of Mathematics and Computer Science
Fayetteville State University

Modified from the PPT of “Tony Gaddis, Starting Out With Python, 4th edition, Pearson”
3:28 PM
Course Info
❖ Textbook
✦ Starting Out with Python, 4th Edition by Tony Gaddis, Wiley, 2017.
ISBN-10: 0134444329 and ISBN-13: 978-0134444321.
❖ Supplementary textbook
✦ A free online Python tutorial: https://www.learnpython.org/.
✦ MyProgrammingLab associated with the textbook will NOT be used.
❖ General information:
✦ Class meetings: MWF 11:00 am - 11:50 am
✦ Classroom: Sci & Tech Bldg 238
✦ Office hour: MWF 2:20pm – 5:00pm
✦ Office location: Sci & Tech Bldg 215
✦ Contact: lwu@uncfsu.edu
3:28 PM
Grading Policy
❖ Grading scheme 1 (the default grading scheme)
✦ Class attendance: 5% (no penalty for excused absence)
✦ Chapter Homework: 25% (multiple choice, T/F questions, one for each chapter)
✦ Take-home Exercises: 25% (mostly Programming)
✦ Chapter Tests: 20% (5 Tests, one for each chapter)
✦ Final Exam: 25%
❖ Grading scheme 2 (upon request, must request before the final exam)
✦ Class attendance: 5% (no penalty for excused absence)
✦ Chapter Tests: 25% (5 Tests, one for each chapter)

Hardness: Chapter Tests > Take-home Exercises > Final Exam > Chapter Homework

After weighted, each Chapter Homework is worth more than a Chapter Test.

get the easy points!


3:28 PM
Course Policy
❖ Attend class on time.
✦ If you are new to programming, this course could be vey difficult.
✦ Attending the lectures is much more efficient than self-study (Grading
Scheme 2 is only for students with prior programming experience).
❖ Be prepared for lectures (concentration; preview encouraged), tests.
❖ FN grade: failure due to non-attendance and/or excessive absences
✦ Faculty will assign FN grade to students who have excessive absences.
✦ FN grade is assigned only within the first 33% of the semester or term;
faculty may remove FN for student whose explanation of absences is
accepted by the faculty member and who resumes class attendance.
✦ Students who receive FN grades will be warned that they should begin to
attend class or withdraw. If the students takes no action, the FN grade
will remain as the final grade.
3:28 PM
Course Policy
❖ Late Assignments/Tests
✦ Late submission of chapter homework and take-home exercises within
two weeks after the due can still be accepted, but 30% of the score
earned in the late submission will be deducted as the late penalty. (100 *
0.7 = 70).
✦ Tests missed due to an unavoidable reason can be made up only with
convincing evidence and the instructor’s permission. For missed tests,
students must email the instructor by the end of the test day. The make-
up test should be taken within two weeks after the student’s return.
3:28 PM
Course Policy
❖ Dishonesty in academic affairs
✦ All forms of acts of dishonesty should be prohibited, including cheating,
plagiarism, misrepresentation, fabrication of information.
✦ The chapter tests and the final exam must be taken in the lab room,
attendance will be taken; The exams are online on Canvas, must be
taken using the Lockdown Browser (other browsers like Chrome, Firefox
won’t work).
✦ Smartphone usage prohibited during exams. If you are found using your
phone, the phone will be taken to the front desk.
3:28 PM
Tips
❖ Practice programming!!! (chapter 2-5)
❖ Reading the materials is only enough for conceptual questions.
Programming is a skill that needs you to practice (like driving). For
the current CSC 105, learning just the concepts (without actual
programming practice) can only get you a “C” at best.
❖ To practice programming, you need to write the code, run the code
to see the result; If errors found, correct the code and re-run it.
❖ Timely complete take-home programming exercises (It will be hard
to pick up through self-study; late submission can get you 70% of
the score).
❖ The solution code will be uploaded to Canvas in the folder
“Exercise Solutions” shortly after the due. If the code you submit
doesn’t work, compare it with the solution code to locate the
mistakes in you code.
3:28 PM
Tips
❖ Continuous efforts is required to keep up with the class
❖ Assignments will NOT be re-opened after two weeks from the due.
❖ Waiting until the last month to catch up would result in the withdraw
or failure of the course.
❖ It is strongly recommended to have the programming software
(Python IDLE) installed on your personal computer for programming
practice.
❖ Review of the content learned (after the class) is very helpful to
enhance your understanding and memorization.
❖ Check Canvas at least twice a day to keep updated to
assignment/rearrangement.
3:28 PM
1.1 Introduction
❖ A computer can perform a wide range of tasks that the programs
tell it to do.
✦ General purpose devices: personal computers (PCs) and mobile
devices (smartphones, tablets, smart watches, etc.).

✦ Special purpose devices: car navigation system, smart appliances


3:28 PM
1.1 Introduction
✦ Definition by Wikipedia: a computer is a system of devices
that can be instructed to carry out arbitrary sequences of
arithmetic or logical operations automatically (namely to
“compute”).
✦ Can they be called a computer? (Do they compute?)
3:28 PM
1.1 Introduction
❖ Program: set of instructions that a computer follows to perform a task.
✦ A program is commonly referred to as software.
❖ Programmer: person who can design, create, and test computer
programs.
✦ High-level programmer known as software developer/software engineer.
❖ Computer Programmer and Software Developers salary in 2017.
3:28 PM
1.1 Introduction
❖ General goal of this course
✦ Learn fundamental concepts of computer (components, how it works)
✦ Learn basic programming skills, using the Python programming language.
❖ Python programming language
✦ Good for beginners: easy to learn, program can be written in fewer lines
of codes compared with other programming languages.
✦ Powerful: extensive libraries (play video, transfer files)
✦ Popular among professional software developers.
3:28 PM
1.2 Hardware and Software
❖ A computer is NOT one single device, but a system composed of
several components (devices) that all work together.
❖ The physical devices that a computer system is made of are referred
to as the computer’s hardware.
❖ The programs that run on a computer are referred to as software,
which contain data and computer instructions (e.g., 1+2=3).
3:28 PM
1.2 Hardware and Software
1.2.1 Hardware
❖ Hardware components of a typical computer system
✦ Central processing unit (CPU).
✦ Main memory.
✦ Secondary storage devices.
✦ Input devices
✦ Output devices.
3:28 PM
1.2 Hardware and Software
1.2.1 Hardware – CPU
❖ Central processing unit (CPU): the part of the computer that
actually runs/executes the programs.
✦ Most important component (without it, computer cannot run software): it
performs the basic arithmetic, logical, control and input/output (I/O)
operations specified by the program/software.
✦ Used to be a huge device (1st computer ENIAC 1945)
✦ Now microprocessor (modern CPUs in small chips)
3:28 PM
1.2 Hardware and Software
1.2.1 Hardware – memory
❖ Main memory: where computer stores a program while program is
running and also the data used by that program.
✦ For example, Microsoft Word
❖ Commonly Known as Random Access Memory (RAM)
✦ CPU is able to quickly access data in RAM
✦ Volatile memory used for temporary storage while program is running
✦ Contents are erased when computer is off
✦ RAM is stored in chips
3:28 PM
1.2 Hardware and Software
1.2.1 Hardware – secondary storage
❖ Secondary storage is the type of
memory that can hold data for long
periods of time, even when there is no
power to the computer.
✦ Programs are normally stored here
and loaded to main memory when
needed (e.g., to be executed)
✦ Personal data (e.g., word documents)
is saved to secondary storage.
3:28 PM
1.2 Hardware and Software
1.2.1 Hardware – secondary storage
❖ Types of secondary storage device
✦ Secondary storage device mounted in computer’s case
✦ Disk drive: magnetically encodes data onto a spinning circular disks/platters
✦ Solid state drive (SSD): faster than disk drive, no moving parts, stores data in
solid state memory (flash memory chips)
✦ External storage device connected to computer’s communication ports
✦ Flash memory (also known as USB drive/memory stick/flash drive): portable, no
physical disk inside
✦ Optical devices: data encoded optically, such as CD (compact disc) and DVD
(digital versatile disc)
floppy disk drive
3:28 PM
1.2 Hardware and Software
1.2.1 Hardware – comparison

❖ Key differences between main memory and secondary storage


3:28 PM
1.2 Hardware and Software
1.2.1 Hardware – input devices
❖ Input: data that computer collect from people and other devices.
✦ Can be text, image, audio, video, etc.
❖ Input device: the hardware component that collects data
✦ Examples: keyboard, mouse, touchscreen, touchpad, microphone,
camera.
✦ Disk drives and optical devices can also be considered input devices
because programs and data stored in them can be retrieved from them
and loaded into the computer’s main memory.
3:28 PM
1.2 Hardware and Software
1.2.1 Hardware – output devices
❖ Output: data produced by the computer for other people or devices.
✦ Can be text, image, audio, video, etc.
❖ Output device: component that formats and presents the output data.
✦ Examples: video display (e.g., monitor, projector), printer, headphones,
speaker.
✦ Disk drives, USB drives, and CD recorders can also be considered
output devices because data may be sent to them for storage.
3:28 PM
1.2 Hardware and Software
1.2.1 Software
❖ Everything the computer does is controlled by software (from “power
on” until “shut down”).
❖ Two general categories
✦ System software
✦ Application software
3:28 PM
1.2 Hardware and Software
1.2.1 Software – system software
❖ System software: programs that control and manage the basic
operations of a computer.
❖ General types of system software
✦ Operating system: the most fundamental set of programs on a computer
✦ Control operations of hardware components
✦ Support other programs to run on the computer
✦ Utility program: perform specific tasks to enhance computer operation or
safeguard data, such as antivirus, file compression, and data backup
software.
✦ Software development tools: tools used by the programmers to create,
modify, and test software programs, such as assemblers, compilers, and
interpreters.
3:28 PM
1.2 Hardware and Software
1.2.1 Software – application software
❖ Application software: programs that make computer useful for
every day tasks.
✦ By Wikipedia: perform special functions or provide entertainment
functions beyond the basic operation of the computer.
✦ Examples: word processing, email, games, and Web browsers.

Question: difference of application software to utility program ??

Benefits the user Vs. Enhance the computer


3:28 PM
1.3 How Computers Store Data
Decimal numbering system
❖ Each decimal digit is between 0 and 9 (10 possible values).
✦ The position values of the digits in a decimal number are base 10.
3:28 PM
1.3 How Computers Store Data
❖ All data in a computer is stored in sequences of 0s and 1s.
❖ A computer’s memory is divided into tiny storage locations known as
bytes.
✦ One byte is only enough memory to store a letter of alphabet or a small
number.
✦ Each byte can be divided into eight smaller storage units known as bits.
❖ The term bit stands for binary digit (in contrast to decimal digit).
✦ Think of bits as electrical components that can hold positive or negative
charge, like on/off switch.

On <-> 1 <- Point out “byte” and “bit”


Off <-> 0 in this picture ?
3:28 PM
1.3 How Computers Store Data
Storing numbers
❖ The on/off pattern of bits can represent a number stored in the byte.
❖ Each bit is one of the two possible values: 0 (off) and 1 (on).
❖ Computers use binary numbering system – the numeric values in
computers are written as a sequence of 8 bits (e.g., 11010101).
✦ The position values of the bits in a binary number have base 2.
✦ Starting from the rightmost bit and moving left, the position values are 20,
21 , 22 , 23, 24, 25 , 26 , 27 (doubled as moving left).
3:28 PM
1.3 How Computers Store Data
Binary to Decimal conversion
❖ Convert a binary number to its corresponding decimal number =
Evaluate the decimal value of that binary number.
3:28 PM
1.3 How Computers Store Data
Binary to Decimal conversion
❖ Step 1: draw the “position values table”.
3:28 PM
1.3 How Computers Store Data
Binary to Decimal conversion
❖ Step 2: calculate the value obtained on each bit.
3:28 PM
1.3 How Computers Store Data
Binary to Decimal conversion
❖ Step 3: add up the values obtained on all digits.
3:28 PM
1.3 How Computers Store Data
Storing numbers
❖ The range of numbers a byte (8 bits) can represent:
✦ Maximum number (255): all position values are obtained.

✦ Minimum number (0): all position values are not obtained.

✦ To store larger numbers or negative numbers, multiple bytes will be used.


3:28 PM
1.3 How Computers Store Data
Binary to Decimal conversion
❖ Another example: evaluate the value of binary number 1010101.
✦ If the binary number to convert is less than 8 bits, append 0(s) on its left.
3:28 PM
1.3 How Computers Store Data
Decimal to Binary conversion
❖ Convert a decimal number (between 0 and 255) to its corresponding
binary number = Decompose the decimal number to get the value on
each bit.
❖ Step 1: draw the “position values table”.

For any given decimal number (0-255), it must be the sum of either all
of the position values or a subset of them.
3:28 PM
1.3 How Computers Store Data
Decimal to Binary conversion
❖ Step 2: compare with the position values to decide the values (0/1) at
each of the 8 bits (starting from bit 7, down to bit 0).
✦ For example, convert 213 to binary number.

bit 7: 213 ≥ 128? 213-128=85 bit 6: 85 ≥ 64? 85-64=21 bit 5: 21 ≥ 32?


Step 1: Yes -> 1XXXXXXX Yes -> 11XXXXXX Yes -> 111XXXXX
list all No -> 0XXXXXXX No -> 10XXXXXX No -> 110XXXXX
position
values
bit 0: 1 ≥ 1? Step 2: bit 4: 21 ≥ 16?
Yes -> 11010101 comparisons with Yes -> 1101XXXX
No -> 11010100 the position values No -> 1100XXXX
21-16=5
bit 1: 1 ≥ 2? 5-4=1 bit 2: 5 ≥ 4? bit 3: 5 ≥ 8?
Yes -> 1101011X Yes -> 110101XX Yes -> 11011XXX
No -> 1101010X No -> 110100XX No -> 11010XXX
3:28 PM
1.3 How Computers Store Data
Storing characters
❖ Any data (number or character) stored in computer must be stored as
binary number.
❖ When a character (letters, punctuation marks) is stored in memory, it
is first converted to a numeric code. The numeric code is then stored
in memory as a binary number.
✦ Historically, the most important coding scheme is ASCII (American
Standard Code for Information Interchange): digits 0 to 9, “a” to “z”, “A” to
“Z”, punctuation symbols, control codes.
✦ ASCII is limited: defines codes for only 128 characters.
✦ Unicode coding scheme is becoming standard
• Compatible with ASCII
• Able to represent characters for other languages (more bits are used)
3:28 PM
1.3 How Computers Store Data
Storing characters
3:28 PM
1.3 How Computers Store Data
Advanced Number Storage
❖ Simple binary numbering system cannot represent negative numbers
and real numbers. Encoding schemes have to be used along with the
binary numbering system:
✦ Negative numbers (e.g., -2) encoded using two’s complement.
✦ Real numbers (e.g., -3.14, 7/8) encoded using floating-point notation.

Detail about how these two encoding


schemes work is not required!

But remember which encoding scheme


encodes which type of number!
3:28 PM
1.3 How Computers Store Data
Other Types of Data
❖ Computers are often referred to as digital devices. The term “digital”
can be used to describe anything that uses binary numbers.
✦ Digital data is data that is stored in binary (e.g., numbers and characters).
✦ Digital device is any device that works with binary data.
3:28 PM
1.3 How Computers Store Data
Other Types of Data
❖ Beyond numbers and characters, computers also work with many
other types of digital data.
✦ Digital images (composed of tiny dots of color known as pixels).
✦ The terms pixel stands for picture element
✦ To store images, each pixel is converted to a binary number representing the
pixel’s color.
✦ Digital music (composed of sections called samples).
✦ To store music, each sample is converted to a binary number.
3:28 PM
1.4 How a Program Works
❖ When installing a new software (program), if the program is stored in
an external storage device (e.g., CD, USB). Typically, it will first be
copied to the computer’s secondary storage drive.
❖ When running a program, program has to be copied into main
memory (RAM) in order to be executed by the CPU.
✦ For example, when a Microsoft Word document is clicked, the Microsoft
Word program and the data in the document will be copied from the disk
into main memory. Then the computer’s CPU executes the copy of the
program and data (e.g., a letter) that are in the main memory.
3:28 PM
1.4 How a Program Works
How CPU works
❖ CPU is the “brain” and is “smart”?
✦ Actually not! CPU has to be told what to do by a program. The program
can be viewed as a list of instructions that commands the CPU to
perform operations.
✦ Each instruction in a program is a command that tells the CPU to
perform a specific operation.
✦ CPU is designed to perform only basic operations on pieces of data
✦ Reading a piece of data from main memory
✦ Adding two numbers; Subtracting one number from another number
✦ Multiplying two numbers; Dividing one number by another number
✦ Moving a piece of data from one memory location to another
✦ Determining whether one value is equal to another value
How can these simple operations be related to our daily usage of
computers (e.g., watching video, gaming, surfing the Internet)?
-> to carry out a meaningful functionality, CPU must perform many operations.
3:28 PM
1.4 How a Program Works
Machine language
❖ A computer’s CPU can only understand instructions that are written in
machine language.
✦ Machine language is a low-level programming language that generally consists
entirely of numbers. Machine language instructions always have an underlying
binary structure.

Hexadecimal: 16 distinct symbols hexadecimal “ba” <-> binary “10111010”


3:28 PM
1.4 How a Program Works
❖ CPU executes program in cycles. The cycle is known as the fetch-
decode-execute cycle (3 steps), and is repeated for each instruction
in the program. The steps are
✦ Fetch: read the next instruction from memory into CPU
✦ Decode: CPU decodes the fetched instruction, to determine which
operation to perform
✦ Execute: perform the operation
3:28 PM
1.4 How a Program Works
From machine language to assembly language
❖ A program can have thousands or even millions of binary instructions,
writing such a program in the low-level machine language is impractical.
Hence, more advanced programming languages have been invented.
✦ Assembly language uses short words (mnemonics) for instructions
instead of binary numbers (e.g., “add” for addition).
✦ However, CPU only understands machine language -> A special program
named assembler is used to translate assembly language to machine
language for execution by CPU.
3:28 PM
1.4 How a Program Works
High-level language
❖ Assembly language is also considered low-level language (close in
nature to machine language). It still requires programmers to:
✦ know a lot about CPU basic operations
✦ write a large number of instructions (the same amount as machine language)
❖ High-level languages allow programmers to create complex program
✦ without knowing how CPU works or writing large number of instructions
✦ only use words that are easy to understand
✦ Examples: Visual Basic, C, C++, Java, Python, etc.
3:28 PM
1.4 How a Program Works
Key Words, Operators, and Syntax: an Overview
❖ Key words (Python key words summarized in Table 1-2)
✦ Each high-level language has its own predefined words used to write a program,
known as key words or reserved words.
✦ Each key word has a specific meaning, and cannot be used for any other
purpose (e.g. naming a variable or function).
✦ Like “if”, “while”, “for”, “def”.
❖ Operators: perform operations on data
✦ e.g., mathematical operators, relational operators, and logical operators.
❖ Syntax: set of rules to be followed when writing a program
✦ The syntax rules dictate how key words, operators, and various punctuation
characters must be used in a program. For example, Python 2 allows print 'Hello,
World!’, while Python 3 does not (it has to be print('Hello, World!’) ).
✦ When learning a programming language, you have to learn the syntax rules for
that particular language (even different version of one programming language).
3:28 PM
1.4 How a Program Works
Key Words, Operators, and Syntax: an Overview
❖ Statement: individual instruction (not the CPU instruction in machine
language) used in high-level programming language.
✦ Statement is like a sentence in human language.
❖ Source code or simply code: statements written by programmer in
high-level language.
✦ Programs written in high-level languages must be translated into machine
language to be executed.
✦ Syntax error prevents source code of the program from being translated.
✦ A syntax error is a mistake such as a misspelled key word, a missing punctuation
character, or the incorrect use of a character…
3:28 PM
1.4 How a Program Works
Compilers and Interpreters
❖ Programs written in high-level languages must be translated into
machine language to be executed. Depending on the language that the
program is written in, either a compiler or an interpreter is used.
✦ Compiler: a program that translates a high-level language program (the
entire program) into a separate machine language program. The machine
language program can then be executed any time, without using the
compiler.
3:28 PM
1.4 How a Program Works
Compilers and Interpreters

✦ Interpreter: a program that translates and immediately executes the


instructions in high-level language program. It interprets one instruction at a
time (instead of the whole program). Typically, no separate machine
language program is created.
3:28 PM
1.4 How a Program Works
Compilers and Interpreters
❖ Differences between a compiler and an interpreter.
✦ Major difference:
▪ a compiler only translates and does not execute the program, while

an interpreter both translates and executes the program.


(Python uses an interpreter)

✦ Other differences:
▪ a compiler translate the whole program together, while an interpreter

translate one instruction at a time.


▪ a compiler creates an executable machine language program, while
an interpreter does not.
3:28 PM
1.5 Using Python
Set up Python
❖ Download and install Python
✦ Detailed instructions in the Appendix A of the textbook:
https://www.python.org/downloads/ (you can download Python 3.6 or 3.7)
✦ Alternative online Python interpreter
(e.g., https://repl.it/languages/python3)
❖ Launch Python IDLE
✦ In Windows system, type “IDLE” in the Windows search box. Select the
software with name “IDLE (Python 3.x)”. (“3.x” indicates the version.
There may be “Python 2.7” in the search results as well, make sure you
clicked and opened Python 3.x).
✦ “IDLE” is an Integrated Development Environment (IDE) for Python. For
simplicity, you can just think it as the software which allows you to write
Python program and execute it.
3:28 PM
1.5 Using Python
Interactive Mode and Script Mode
❖ After Python IDLE is opened, it by default brings user to Interactive
Mode (also called “Python Shell”).
✦ In the Interactive Mode, IDLE waits for user to enter a statement. Once
user has typed in and press “enter”, IDLE executes the statement and
then waits for the next statement (“>>>” prompts user to enter).
✦ Error message displayed in Shell if you incorrectly typed a statement.
✦ In the Interactive Mode, statements entered and executed are not saved.
If you want to modify them or reuse them in the future, you have to
manually type in again. To save time and effort, choose Script Mode.
3:28 PM
1.5 Using Python
Interactive Mode and Script Mode
❖ In the Script Mode, code is entered into a separate text editor window.
✦ Click “File” in the menu bar of Shell, then click “New File” in the dropdown list to
create a file (text editor window).
✦ To execute a program in the Script Mode, the file has to be saved first. The
Python program ends with the “.py” extension.
✦ Execute the program by clicking “Run” in the menu bar of the text editor window
then click “Run Module”; alternatively, press the shortcut key F5.
✦ The execution result is displayed in the Shell.
✦ Syntax error, if any, will be marked in the text editor window.
3:28 PM
1.5 Using Python
IDLE features
❖ IDLE is an Integrated Development Environment (IDE) that includes
several development tools:
✦ A text editor that colors the code: Python keywords and other parts of programs.
✦ A search tool that allows you to find text in one or more files.
✦ A text formatting tool that helps you maintain consistent indentation levels in a
Python program. In many other languages, the indention is not necessary but
only to improve the readability. In Python, indentation replaces the function of
Braces { } hence is necessary. IDLE can automatically add indentation as needed.

C++ Java Python


✦ A debugger that allows you to execute one single step at a time through a Python
program and watch the values of variables change as each statement executes.
3:28 PM
1.5 Using Python
Code Coloring Scheme

✦ Keywords: orange.
✦ Comments: in red.
✦ String literals: in green.
✦ Functions and classes: blue.
✦ Built-in functions: purple.

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy