UW-Madison COMPSCI 302 - Computer Science, It’s More than Programming

Unformatted text preview:

Computer Science It’s more than programmingSlide 2What is Computer Science?HistorySlide 5ArchitectureOperating SystemsNetworksDatabasesProgramming LanguagesGraphicsArtificial IntelligenceAlgorithms and Data StructuresTheoryOther fieldsComputer ScienceIt’s more than programmingEric LantzComputer science is no more about computers than astronomy is about telescopes. Edsger DijkstraWhat is Computer Science?•Computer Science is a science of abstraction - creating the right model for a problem and devising the appropriate mechanizable techniques to solve it. - A. Aho and J. Ullman •Study of the theory and application of computationHistory•In the 1820’s Charles Babbage began work on an Analytical Engine. a mechanical device to perform calculations specified on cards•Mathematician Ada Lovelace wrote the first program for the (never built) machine to calculate the Bermoulli numbersFrom Wikipedia:Prior to the 1920s, the term computer referred to a human clerk that performed calculations. Early researchers in what came to be called computer science, such as Kurt Gödel, Alonzo Church, and Alan Turing, were interested in the question of computability: what things can be computed by a human clerk who simply follows a list of instructions with paper and pencil, for as long as necessary, and without ingenuity or insight? Part of the motivation for this work was the desire to develop computing machines that could automate the often tedious and error-prone work of a human computer.During the 1940s, as newer and more powerful computing machines were developed, the term computer came to refer to the machines rather than their human predecessors.Architecture•Designing logic circuits•Memory•Processor design•Parallel processing•Communication between unitsOperating Systems•Methods for solving problems dealing with software interactions•Processor sharing•Memory allocation•Communication between programs•Devices•File systemNetworks•How do you move data quickly from one side of the globe to another?•Protocols (TCP/IP)•Reliability•Scalability•Security•appletDatabases•Storing large amounts of data•How to retrieve it efficiently?•How to store it efficiently?•How to answer questions about complex relationships?•What should you put in a convenience store next to the diapers?Programming Languages•Properties of languages: types, control flow, syntax and semantics •Expressivity•Portability•Compilers / SpeedGraphics•How do we represent the real world on a flat screen?•Modeling light, texture, curves•Visualizing data•AnimationArtificial Intelligence•Computer vision•Machine learning•Formulating rules or models to tell things apart•Game Playing•Expert systems•Neural Network exampleAlgorithms and Data Structures•Basis for most CS disciplines•What is the best way to sort a list? Search through it?•Doing things the right way can mean the difference between it finishing in your lifetime or during your lunch break.•Analyzing best/worst/average case tradeoffs•Traveling SalespersonTheory•What is computable? What is not?•Power of Turing machines•P vs NP•Computational complexity•Cryptography•Quantum computingOther fields•Natural Language Processing•Human-Computer Interaction•Software Engineering•Formal Methods•Robotics•Scientific


View Full Document

UW-Madison COMPSCI 302 - Computer Science, It’s More than Programming

Download Computer Science, It’s More than Programming
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view Computer Science, It’s More than Programming and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Computer Science, It’s More than Programming 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?