17
Fundaments of Computer Science Introduction Common misconceptions about CS Computer science is the study of computers Computer science is the study of how to write computer programs Computer science is the study of the uses and applications of computers and software What is Computer Science? is a scientific and engineering discipline that investigates ALL aspects of computing with computing machines o Formal and mathematical properties o Hardware realizations o Linguistic realizations o Applications found in many universities under Engineering Computer Science also means: o a lot of Math classes math is an integral part of many programs created o engineering how to build programs from scratch engineers build things!!! o electronics have to know how the computer will interact with: monitor 1

faculty.cse.tamu.edufaculty.cse.tamu.edu/slupoli/notes/CSOverview... · Web viewhow to build programs from scratch engineers build things!!! electronics have to know how the computer

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: faculty.cse.tamu.edufaculty.cse.tamu.edu/slupoli/notes/CSOverview... · Web viewhow to build programs from scratch engineers build things!!! electronics have to know how the computer

Fundaments of Computer Science Introduction

Common misconceptions about CS Computer science is the study of computers Computer science is the study of how to write computer programs Computer science is the study of the uses and applications of computers and

software

What is Computer Science? is a scientific and engineering discipline that investigates ALL aspects of

computing with computing machineso Formal and mathematical propertieso Hardware realizationso Linguistic realizationso Applications

found in many universities under Engineering Computer Science also means:

o a lot of Math classes math is an integral part of many programs created

o engineering how to build programs from scratch engineers build things!!!

o electronics have to know how the computer will interact with:

monitor printer anything external (or internal)

o software engineering how to build programs very common in Computer Science programs could be it’s own degree!!

1

Page 2: faculty.cse.tamu.edufaculty.cse.tamu.edu/slupoli/notes/CSOverview... · Web viewhow to build programs from scratch engineers build things!!! electronics have to know how the computer

Other areas of interest in Computer Science Information systems

o the application of computing technology for organizations and businesses

Bioinformaticso the application of computing technology for biological systems (DNA,

genes) Network Security

o investigates the vulnerabilities and weaknesses of computing systems and how protect them

What do I need to be successful in CS? have to like computers!! like to problem solve

o Computer scientist designs and develops algorithms to solve problems break complex problems into simple steps, then merge together

Algorithms building block of CS and programming Procedure for solving a mathematical problem in a finite number of steps that

frequently involves repetition of an operation A step-by-step method for accomplishing a task An ordered sequence of instructions that is guaranteed to solve a specific

problem Categories of operations used to construct algorithms

Same AlgorithmSTEP 1: Do something.STEP 2: Do something.STEP 3: Do something. . . . . . .STEP N: Stop. You are finished.

Sequential operations2

Page 3: faculty.cse.tamu.edufaculty.cse.tamu.edu/slupoli/notes/CSOverview... · Web viewhow to build programs from scratch engineers build things!!! electronics have to know how the computer

Carry out a single well-defined task; when that task is finished, the algorithm moves on to the next operation

ExampleAdd 1 cup of butter to the mixture in the bowlSubtract the amount of the check from the current account balanceSet the value of x to 1

Conditional operations Ask a question and then select the next operation to be executed on the basis

of the answer to that question

Examples1. If the mixture is too dry, then add one-half cup of water to the bowl2. If the amount of the check is less than or equal to the current account

balance, then cash the check; otherwise, tell the person that the account is overdrawn

3. If x is not equal to 0, then set y equal to 1/x; otherwise, print an error message that says we cannot divide by 0

Iterative operations Tell us to go back and repeat the execution of a previous block of instructions

Examples1. Repeat the previous two operations until the mixture has thickened2. While there are still more checks to be processed, do the following five steps3. Repeat steps 1, 2, and 3 until the value of y is equal to 11

Computing agent The machine, robot, person, or thing carrying out the steps of the algorithm Does not need to understand the concepts or ideas underlying the solution

CS different than Information technology (IT)?

3

Page 4: faculty.cse.tamu.edufaculty.cse.tamu.edu/slupoli/notes/CSOverview... · Web viewhow to build programs from scratch engineers build things!!! electronics have to know how the computer

CS is building programs (applications) to interact with hardware within/outside the computer

Information Technology is the more about the study of the use of computers to solve human/business problems. You study some programming, databases, applications, etc.

Concepts in Computer Science Stuff you will learn in this class (so all are an FYI)

o Computer Hardwareo Programmingo Software Development

Cycleo Complexity and Algorithm

Analysiso Software Engineeringo Boolean Algebrao Logic Gateso Hardware Design

o Cacheo Language Translationo Parallel Processingo Models of Computationo Artificial Intelligenceo Networkingo Interneto Data Structureso Security

Computer Careers to find latest numbers use BLS.GOV website

o Bureau of Labor and Statistics tracks employment trends and numbers http://www.bls.gov

In search, type “Computer Programmers” Find the:

Nature of Work Outlook

Outsourcing means what??

Defense contractors such as Lockheed Martin, Boeing, etc… cannot outsource, why??

4

Page 5: faculty.cse.tamu.edufaculty.cse.tamu.edu/slupoli/notes/CSOverview... · Web viewhow to build programs from scratch engineers build things!!! electronics have to know how the computer

also, look at your local newspaper for jobso I looked for “Java Developer” in Washington Post (Washington D.C.)o notice the number of listings!!!

Look up jobs in your home town!!! We’ll share!!Look for:

Salary Experience Degree Certifications

Location Salary Experience Degree CertificationSeattle, WAHouston, TXDallas, TXKansas CityChicago, ILMadison, WIBismarck, NDRaleigh, NCCharleston, WVMobile, ALJacksonville, FLMiami, FLSalt Lake City, UTFlagstaff, AZ

5

Page 6: faculty.cse.tamu.edufaculty.cse.tamu.edu/slupoli/notes/CSOverview... · Web viewhow to build programs from scratch engineers build things!!! electronics have to know how the computer

Man vs. Machine Trade offs items to consider whether a computer is better than a human when creating a

project/programo cost (equipment, salary, health care)o Speed (which would be faster to complete a job)o judgment (which could make a better decision)o project/program completion time (will it take a lot of time, or

impossible to program?)o maintenance (which will require more money or time to maintain?)o reliability

Which do you think would be better? Computer or Human? Why?Computer Human Why??

ChessSoldierBerry pickerToll CollectorAutomaker

Evolution of the Computer Why have me talk about it!! Let’s Watch!! Videos

o http://www.youtube.com/watch?v=iK0PT5q7GlE

o http://www.youtube.com/watch?v=gas2Xi0rW6A

The Early Period: Up to 1940 3,000 years ago: Mathematics, logic, and numerical computation

o Important contributions made by the Greeks, Egyptians, Babylonians, Indians, Chinese, and Persians

1614: Logarithmso Invented by John Napier to simplify difficult mathematical computations

Around 1622: First slide rule created 1672: The Pascaline

o Designed and built by Blaise Pascalo One of the first mechanical calculatorso Could do addition and subtraction

6

Page 7: faculty.cse.tamu.edufaculty.cse.tamu.edu/slupoli/notes/CSOverview... · Web viewhow to build programs from scratch engineers build things!!! electronics have to know how the computer

The Pascaline: One of the Earliest Mechanical Calculators

http://www.edumedia-sciences.com/en/a558-pascaline (try me!)

1674: Leibnitz’s Wheelo Constructed by Gottfried Leibnitzo Mechanical calculatoro Could do addition, subtraction, multiplication, and division

1801: The Jacquard loomo Developed by Joseph Jacquardo Automated loomo Used punched cards to create desired pattern

1823: The Difference Engineo Developed by Charles Babbageo Did addition, subtraction, multiplication, and division to 6 significant digitso Solved polynomial equations and other complex mathematical problems

1830s: The Analytic Engineo Designed by Charles Babbageo More powerful and general-purpose computational machineo Components were functionally similar to the four major components of today’s

computerso Mill (modern terminology: arithmetic/logic unit)o Store (modern terminology: memory)o Operator (modern terminology: processor)o Output (modern terminology: input/output)

1890: U.S. census carried out with programmable card processing machineso Built by Herman Holleritho These machines could automatically read, tally, and sort data entered on punched

cards

7

Page 8: faculty.cse.tamu.edufaculty.cse.tamu.edu/slupoli/notes/CSOverview... · Web viewhow to build programs from scratch engineers build things!!! electronics have to know how the computer

The Birth of Computers: 1940-1950 Development of electronic, general-purpose computers Did not begin until after 1940 Was fueled in large part by needs of World War II

What could computers help with war time scenarios?? (Come up with 5) (Slip)

http://www.youtube.com/watch?v=zY5C45NJavQ (don’t click yet, boring what it is!!)http://www.youtube.com/watch?v=1Y58dWSILYY&feature=related (in action, in a game)

Early computerso Mark Io ENIACo ABC systemo Colossuso Z1

Photograph of the ENIAC Computer

Stored program computer modelo Proposed by John Von Neumann in 1946o Stored binary algorithm in the computer’s memory along with the datao Is known as the Von Neumann architectureo Modern computers remain, fundamentally, Von Neumann machineso First stored program computers

EDVAC EDSAC

8

Page 9: faculty.cse.tamu.edufaculty.cse.tamu.edu/slupoli/notes/CSOverview... · Web viewhow to build programs from scratch engineers build things!!! electronics have to know how the computer

The Modern Era: 1950 to the Present First generation of computing (1950-1959)

o Vacuum tubes used to store data and programso Each computer was multiple rooms in sizeo Computers were not very reliable

Second generation of computing (1959-1965)o Transistors and magnetic cores replaced vacuum tubes o Dramatic reduction in sizeo Computer could fit into a single roomo Increase in reliability of computerso Reduced cost of computerso High-level programming languageso The programmer occupation was born

Third generation of computing (1965-1975)o Integrated circuits rather than individual electronic components were usedo Further reduction in size and cost of computerso Computers became desk-sizedo First minicomputer developedo Software industry formed

Fourth generation of computing (1975-1985)o Reduced to the size of a typewritero First microcomputer developedo Desktop and personal computers commono Appearance of o Computer networkso Electronic mailo User-friendly systems (graphical user interfaces)o Embedded systems

9

Page 10: faculty.cse.tamu.edufaculty.cse.tamu.edu/slupoli/notes/CSOverview... · Web viewhow to build programs from scratch engineers build things!!! electronics have to know how the computer

The Altair 8800, the World’s First Microcomputer

http://www.youtube.com/watch?v=WVwfDA4watU

Fifth generation of computing (1985-?)o Massively parallel processorso Handheld devices and other types of personal digital assistants (PDAs)o High-resolution graphicso Powerful multimedia user interfaces incorporating sound, voice recognition, touch,

photography, video, and televisiono Integrated global telecommunications incorporating data, television, telephone,

fax, the Internet, and the World Wide Webo Wireless data communicationso Massive storage deviceso Ubiquitous computing

Expectations of Computer Science Students solve problems! break down concepts

o ONE THING AT A TIME!! seek help when needed!! create own work or site source if code used from someone else

o much like a report expected to write proper English

o you WILL write reports and analysis!!!

10