Presentation is loading. Please wait.

Presentation is loading. Please wait.

1 CS145 Lecture 24 What’s next?. 2  What questions does Computer Science study?  Where is programming and Computer Science headed? –With special emphasis.

Similar presentations


Presentation on theme: "1 CS145 Lecture 24 What’s next?. 2  What questions does Computer Science study?  Where is programming and Computer Science headed? –With special emphasis."— Presentation transcript:

1 1 CS145 Lecture 24 What’s next?

2 2  What questions does Computer Science study?  Where is programming and Computer Science headed? –With special emphasis on software

3 3 What questions do we study  Basic Questions  Programming Languages  System Software  Network Software  Middleware  Information Systems  Scientific Computing  Embedded and Real-Time Systems  Graphics  Artificial Intelligence  Software Engineering

4 4 Basic Questions  Data structures for storing and representing different kinds of data –Some kinds of structures  Maps (map one type of object to another)  Trees, Graphs  Sets  Analysis of Algorithms –Time and space efficiency of algorithms and data structures  Computer Architectures –How to make computers work better with various kinds of software  Better = Faster, Cheaper, Less Power Consumption, etc.

5 5 Programming Languages  Imperative Languages –Ada, C, C++, Java, C#, …  Scripting Languages –Perl, Python, Ruby, JavaScript, …  OO Languages –C++, Java, C#, Python, …  LISP, Scheme  Functional –Haskell, CAML, …

6 6 System Software  System Software: Software that supports other kinds of software –As opposed to application software: Software that faces the user  Some kinds of system software: –Operating systems  Including File Systems –Compilers and Virtual Machines for Programming Languages –Database Management Systems

7 7 Network Software  Supports communication between systems and applications –Definition and Implementation of communication protocols  Interesting protocols –TCP/IP –HTTP (as opposed to HTML) –FTP –SSL

8 8 Middleware  Software that sits between systems and applications –Typically systems (i.e. support) type software with more of an application focus  Some examples –Software for integrating different applications –Model Driven Architecture  Build your integration software by drawing the right kinds of diagrams

9 9 Information Systems  Usually systems that support the operation of a business –More generally: Systems that store and manipulate business kinds of information  Some interesting areas: –Data Base (the organization of data, not the underlying software) –Business applications  ERP, CRS, … –Business rules  Just describe the rules and the necessary software is automatically generated

10 10 Scientific Computing  Large numeric computations for science and engineering applications  Issues –Efficient algorithms for large computations –Efficient coordination of large computing resources  Some examples –Predict the weather or climate –Wind tunnel –Simulate nuclear weapons –Protein folding  Driver for much of the work on Clustered Systems

11 11 Embedded and Real-Time Systems  Control operation of machines, equipment, etc.  Some issues –Operating systems supporting real-time (deadline) processing  Examples –Fly an airplane –Drive a car –Run a factory –Record a television program –Run the graphics card in your computer

12 12 Graphics  Generate realistic graphics (pictures, video) from digital descriptions  Issues –Understanding how light interacts with physical objects –Efficient algorithms  Examples –Shrek, Gollum, Polar Express –Cleaning up old movies

13 13 Artificial Intelligence  Software and systems that behaves as if they were intelligent  This is a large area with many sub areas: –Rule based systems –Neural Network –Natural language processing –Evolutionary algorithms –Machine Learning –Robotics –Game playing –Proving Software Correct –And more …

14 14 Software Engineering  How to we go about building software?  Areas of interest –Requirements, Requirements Management –Architecture and Design –Testing –Software Methodology and Process –Diagramming Software (e.g. UML) –Managing Building Software –Costing and Scheduling of Software Development

15 15 Where are Computers headed?  How good is your crystal ball?  Near-term growth in hardware capability is predictable  Right now no “killer aps” on the horizon

16 16 Where are Computers headed? (My predictions)  Hardware –More parallelism in hardware (Multi-core systems) –Address heat/power consumption limits  Programming languages and systems –Try to make software developers more efficient –Have the software work harder to make developers job easier  Artificial Intelligence –More “intelligent” systems  Example of current work: Spam filters –Near-term focus: Robotics

17 17 My predictions (continued)  Business applications –Standard “easily tailorable” applications  All areas –Make better use of increasing processing power and storage capacity  Software Engineering –“Software is always late and over budget” –Can we fix this?


Download ppt "1 CS145 Lecture 24 What’s next?. 2  What questions does Computer Science study?  Where is programming and Computer Science headed? –With special emphasis."

Similar presentations


Ads by Google