faculty.cse.tamu.edufaculty.cse.tamu.edu/slupoli/notes/csoverview... · web viewhow to build...
TRANSCRIPT
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
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
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
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
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
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
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
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
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
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