Parallel and Distributed Computing - Computer Science Department
Overview of Computing. Computer Science What is computer science? The systematic study of computing...
-
Upload
georgia-wilkerson -
Category
Documents
-
view
225 -
download
2
Transcript of Overview of Computing. Computer Science What is computer science? The systematic study of computing...
Overview of Computing
Computer ScienceWhat is computer science?The systematic study of computing systems and computation. Contains theories for understanding computing and methods; design, algorithms, and tools, testing; analysis and verification; and knowledge representation and implementation
Ok…In short, it is primarily the study of information processing:• Machines that do processing• The processes themselves• The information (and how to
structure it)• How to implement
So?Used for EVERYTHING…
Soon to do EVERYTHING humans do and more. Theoretically has no element that limits it.
Programming vs Engineering• Centered around practice of
computer science concepts to build systems (or solve problems)
• Engineering: Discipline of applying scientific, social, practical knowledge to design and build products
The Computer• Typically called the “hardware” or the
physical piece• Just a machine that can carry out
operations• General computers changed everything• Based on electronics, so handles binary• Other computers exist: DNA computer,
quantum computer, etc
Computer Components• CPU: Central processing unit, execute programs by doing math, logic,
and input/output– Registers: CPU working memory, typically for 1 instruction (address,
number, etc)– Cache: Fast storage of recent data and instructions accessed
• RAM: Random access memory, typically storing all data and instructions of stuff running (or soon running)
• Hard disk: Usually regarded as center of “secondary storage.” Mass storage, stable, but slow.
• ROM: Read only memory• LAN: Local area network. Interconnection of computers in limited area • WAN: Wide area network. Interconnection of computers in a broad
area, typically slower than LAN
Programs• Essentially can be seen as some
entity that given some input, gives certain output
• Typically runs on a general computer
Input / OutputBinary – Each digit has 2 possible values rather than 10Binary: 0,1Decimal: 0,1,2,3,4,5,6,7,8,9• Because electrical signals are
easy to distinguish on or off
Information• We can represent information
using this same idea• Putting lots of these together
lets us represent more information
• Complex information like letters need to be given a number representation
Decimal
Binary
Binary
Binary
ASCII
Hexadecimal (Hex)0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F
• Shorthand for binary• Meant to be easier to read as
well
Hex
0010 10110+0+2+0
8+0+2+12 B
Key Areas of CS• Algorithm: A procedure with a finite number of steps for solving a problem • Data structure:A way of storing and organizing data so it may be used efficiently
Algorithm ExampleHow do I find “Mike Smith” in a phone book?
Data Structure• Can be as simple as ASCII to
represent numbers (data type)• As complex as Google’s Big
Table (custom system that makes them so fast)
Psuedocode• High level description of steps
needed to solve the problem• Language independent• Usually best way to start when
solving a problem
Pseudocodepick up phone bookopen to middle of the phone booklook at names (line 3)if “Smith” is among names
call Mikeelse if “Smith” is earlier
open to middle of left halfgo to line 3
else if “Smith” is lateropen to middle of right halfgo to line 3
elsegive up