Presentation is loading. Please wait.

Presentation is loading. Please wait.

Computer Science Prof. Bill Pugh Dept. of Computer Science.

Similar presentations


Presentation on theme: "Computer Science Prof. Bill Pugh Dept. of Computer Science."— Presentation transcript:

1 Computer Science Prof. Bill Pugh Dept. of Computer Science

2 Developing software vs. programming As we move forward, writing software is looking less and less like programming In some ways, harder – need to understand how to build secure, concurrent, distributed systems that scale to millions of users and tolerate failure In others, easier – http://appinventor.googlelabs.com/about/ http://appinventor.googlelabs.com/about/

3 What is computer science? Only kind of a science, only partially about computers (or programming) A combination of math, engineering, art, architecture, science and philosophy Understanding and solving problems in an abstract world, and connecting that to real world needs

4 Be a rock star In computing, an individual or small team can develop a vision, prototype it, refine it, get feedback on it, and get it into the hands of hundreds, thousands or millions of people – Even in corporations and large software projects, individuals or small teams have their responsibilities, and can see their vision become reality Perhaps, one of the fields where this is easiest

5 Computing is everywhere We're all aware of the huge role of gadgets and the Internet in our lives But what about other fields? – aerospace – engineering – finance – biology and genetics – defense – movie making – medicine – physics

6 Large Hadron Collider CERN launched the largest computing grid in the world which is destined to analyze the data coming from world’s biggest particle accelerator, the Large Hadron Collider (LHC). The computing grid consists of more than 140 computers centers from around the world in order to be capable to analyze 15 million GB of LHC’s data annually (40 thousand GB per day)

7 Need Computational Thinkers The world needs people who can take problems and systems, figure out how to think about and model them abstractly, figure out how to make them happen and improve them – Can do back of the envelop designs and calculations, work with people implementing those designs MythBusters is great training!

8 Sound scary? It isn't. Just means we need problem solvers who can think in abstract terms – break problems down into chunks that can be automated Not so much of a need for learning all the details of how to code it up in the programming language of the week

9 We don't need coding? Well, actually, we do need people who can transform those abstract ideas into computer code – It is a very promising and interesting career path But the language of the week/year/decade changes all the time – whatever language you learn, your dream job may require another language And we also need a lot of people can think about breaking problems down into computation steps – even if they don't write the code themselves

10 Undergraduate computer science Math and logic – discrete math, logic, probability, recursion, proofs, induction, sets, graphs, trees, lists, algorithms, computational complexity Programming and software development – programming languages, how to design a solution to a problem, how to gain confidence in the correctness of your software, how to design software so it can be extended and understood by others

11 Topics Theory – advanced algorithms and proofs, fundamental questions about which problems are hard and which are unsolvable, cryptology Artificial intelligence – machine learning, natural language translation, planning, vision and speech recognition

12 Topics Databases – how to efficiently and securely store and access data Systems – computer infrastructure: operating systems, networks, chips, supercomputers, security – all the stuff that tries to stay out of your way

13 Topics Software – Making it easier for people to write correct and fast software Human computer interactions – Understanding how to design, evaluate and improve a user interface Software engineering – Managing and getting the requirements right for large software projects

14 Topics Scientific computing – Figuring out the fastest and most accurate way to perform scientific simulations and calculations Geometric and visual computing – route planning, computer graphics Bioinformatics – gene sequencing – protein structures – finding genes linked to diseases – Health records finding important/helpful patterns security and privacy

15 Example Consider the problem of computing three dimensional partial differential equations – don't need to know what those are – but they come up in simulating oil wells, nuclear reactions and airfoils Over 40 years, – hardware alone got 500,000 times faster – software alone got 250,000 faster » combined: 125 billion times faster » computation that used to take centuries now can be done in a second

16 DARPA Urban Challenge This event required teams to build an autonomous vehicle capable of driving in traffic, performing complex maneuvers such as merging, passing, parking and negotiating intersections. This event was truly groundbreaking as the first time autonomous vehicles have interacted with both manned and unmanned vehicle traffic in an urban environment. – http://www.youtube.com/watch?v=iCTlEHXiidM http://www.youtube.com/watch?v=iCTlEHXiidM


Download ppt "Computer Science Prof. Bill Pugh Dept. of Computer Science."

Similar presentations


Ads by Google