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

Slides:



Advertisements
Similar presentations
Information and Software Technology Option: Artificial intelligence, simulation and modelling.
Advertisements

A Workflow Engine with Multi-Level Parallelism Supports Qifeng Huang and Yan Huang School of Computer Science Cardiff University
OPERATING SYSTEM An operating system is a group of computer programs that coordinates all the activities among computer hardware devices. It is the first.
Information and Software Technology
Computer Science It’s more than programming Eric Lantz.
Department of Mathematics and Computer Science
Digital Systems Emphasis for Electrical Engineering Students Digital Systems skills are very valuable for electrical engineers Digital systems are the.
LECTURE-2. Software Is a Product Designed by software engineers. Consists of : –Programs - that execute within a computer and provides desired functions.
INTRODUCTION COMPUTATIONAL MODELS. 2 What is Computer Science Sciences deal with building and studying models of real world objects /systems. What is.
What do Computer Scientists and Engineers do? CS101 Regular Lecture, Week 10.
Chapter Chapter Goals Describe the layers of a computer system Describe the concept of abstraction and its relationship to computing Describe.
Chapter 1 The Big Picture Chapter Goals Describe the layers of a computer system Describe the concept of abstraction and its relationship to computing.
©TheMcGraw-Hill Companies, Inc. Permission required for reproduction or display. COMPSCI 125 Introduction to Computer Science I.
CS 101 Course Summary December 5, Big Ideas Abstraction Problem solving Fundamentals of programming.
Programming Languages Structure
©TheMcGraw-Hill Companies, Inc. Permission required for reproduction or display. COMPSCI 125 Introduction to Computer Science I.
CS 1 with Robots CS1301 – Where it Fits Institute for Personal Robots in Education (IPRE)‏
Distinctions Between Computing Disciplines
1 6 Abacus An early device to record numeric values Blaise Pascal Mechanical device to add, subtract, divide & multiply Joseph Jacquard Jacquard’s Loom,
Chapter 1 The Big Picture Chapter Goals Describe the layers of a computer system Describe the concept of abstraction and its relationship to computing.
Chapter 0: Introduction CSCI-UA 0002 – Introduction to Computer Programming Mr. Joel Kemp.
Computer Programming My Home Page My Paper Job Description Computer programmers write, test, and maintain the detailed instructions, called programs,
Chapter 01 Nell Dale & John Lewis.
History of Programming Languages
Introduction to Computer and Programming CS-101 Lecture 6 By : Lecturer : Omer Salih Dawood Department of Computer Science College of Arts and Science.
Computer System Architectures Computer System Software
CS 21a: Intro to Computing I Department of Information Systems and Computer Science Ateneo de Manila University.
C OMPUTER S CIENCE, C OMPUTER E NGINEERING, I NFORMATION T ECHNOLOGY AND S YSTEMS, F LOW OF C ONTROL, B ATCH AND I NTERACTIVE P ROCESSING Week 5 Mr. Mohammed.
1 CSC 1401 S1 Computer Programming I Hamid Harroud School of Science and Engineering, Akhawayn University
Chapter 1. Introduction.
Introduction CSE 1310 – Introduction to Computers and Programming Vassilis Athitsos University of Texas at Arlington 1.
HERY H AZWIR Computer Software. Computer Software Outline Software and Programming Languages  Software  Programming  Programming language development.
© 2007 Pearson Addison-Wesley. All rights reserved 0-1 Spring(2007) Instructor: Qiong Cheng © 2007 Pearson Addison-Wesley. All rights reserved.
Chapter 1 The Big Picture.
Introduction CSE 1310 – Introduction to Computers and Programming Vassilis Athitsos University of Texas at Arlington 1.
Andrew C. Samuels, Information Technology Specialist Trainer c/o Ministry of Education Mona High School, Kingston, Jamaica 1 Unit 1 Module 1 Specific Objective:
1 ENERGY 211 / CME 211 Lecture 26 November 19, 2008.
Copyright © 2007 Addison-Wesley. All rights reserved.1-1 Reasons for Studying Concepts of Programming Languages Increased ability to express ideas Improved.
CS 3610: Software Engineering – Fall 2009 Dr. Hisham Haddad – CSIS Dept. Chapter 6 System Engineering Overview of System Engineering.
Chapter 1 Computer Systems. Why study Computer Architecture? Examples Web Browsing - how does the browser access pages from a server? How can we create.
INPUT#3 SOFTWARE ENGINEERING. QUALITY SOFTWARE?  Satisfies the needs of the users and programmers involved with it.
Introduction to Software Engineering. Why SE? Software crisis manifested itself in several ways [1]: ◦ Project running over-time. ◦ Project running over-budget.
1 MSCS 237 Overview of web technologies (A specific type of distributed systems)
Teaching Robots There are two ways to teach a robot how to do something: Type a program of instructions into the controlling computer. Use lead-through.
Major Disciplines in Computer Science Ken Nguyen Department of Information Technology Clayton State University.
Chapter 1 The Big Picture Chapter Goals Describe the layers of a computer system Describe the concept of abstraction and its relationship to computing.
ELEMENTS OF A COMPUTER SYSTEM HARDWARE SOFTWARE PEOPLEWARE DATA.
CSE 102 Introduction to Computer Engineering What is Computer Engineering?
CS 127 Introduction to Computer Science. What is a computer?  “A machine that stores and manipulates information under the control of a changeable program”
Computer Software Types Three layers of software Operation.
1 CS145 Lecture 26 What’s next?. 2 What software questions do we study? Where is software headed?
Introduction CSE 1310 – Introduction to Computers and Programming Vassilis Athitsos University of Texas at Arlington 1.
CSC 480 Software Engineering Lecture 17 Nov 4, 2002.
Chapter 4 Software. Introduction Program: is a set of sequence instructions that tell the computer what to do. Software: is a collection of programs,
CS4315A. Berrached:CMS:UHD1 Introduction to Operating Systems Chapter 1.
Software Integrado Team # What is an Embedded software? Is a computer software which plays an integral role in the electronics it is supplied with.
Lecture #1: Introduction to Algorithms and Problem Solving Dr. Hmood Al-Dossari King Saud University Department of Computer Science 6 February 2012.
CS 1 with Robots CS1301 – Where it Fits Institute for Personal Robots in Education (IPRE)‏
Sub-fields of computer science. Sub-fields of computer science.
The language focusses on ease of use
Concepts of Programming Languages
Basic 1960s It was designed to emphasize ease of use. Became widespread on microcomputers It is relatively simple. Will make it easier for people with.
Definition CASE tools are software systems that are intended to provide automated support for routine activities in the software process such as editing.
PROGRAMMING LANGUAGES
Introduction To software engineering
CS1301 – Where it Fits Institute for Personal Robots in Education
CS1301 – Where it Fits Institute for Personal Robots in Education
Principles of Programming Languages
CS1301 – Where it Fits Institute for Personal Robots in Education
COMPUTER GRAPHICS with OpenGL (3rd Edition) Donald Hearn M
Presentation transcript:

1 CS145 Lecture 24 What’s next?

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

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 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 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 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 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 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 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 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 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 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 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 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 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 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 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?