overview of computer science john k. antonio, director school of computer science college of...

51
Overview of Computer Science John K. Antonio, Director School of Computer Science College of Engineering University of Oklahoma Norman, Oklahoma November 2004 www.cs.ou.edu

Upload: arnold-gabriel-black

Post on 26-Dec-2015

226 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Overview of Computer Science John K. Antonio, Director School of Computer Science College of Engineering University of Oklahoma Norman, Oklahoma November

Overview of Computer Science

John K. Antonio, DirectorSchool of Computer Science

College of EngineeringUniversity of Oklahoma

Norman, Oklahoma

November 2004

www.cs.ou.edu

Page 2: Overview of Computer Science John K. Antonio, Director School of Computer Science College of Engineering University of Oklahoma Norman, Oklahoma November

Outline

• Computing Before Time: Pre-1980’s

• Computing in the Future: CS Research at OU

• Overview of the School of Computer Science

Page 3: Overview of Computer Science John K. Antonio, Director School of Computer Science College of Engineering University of Oklahoma Norman, Oklahoma November

Computing Before Time: Pre-1980’s

This historical perspective starts in the year 1622 and goes through to the year 1976

References for this Section• [1] IEEE Computer Society Web Site on the “History of

Computing,” http://www.computer.org/history/

• [2] E. C. Hall, Journey to the Moon: History of the Apollo Guidance Computer, AIAA, Reston VA, 1996.

Page 4: Overview of Computer Science John K. Antonio, Director School of Computer Science College of Engineering University of Oklahoma Norman, Oklahoma November

1622: The slide rule (originally circular) based on Napier's logarithms

Computing Before Time: Pre-1980’s

Page 5: Overview of Computer Science John K. Antonio, Director School of Computer Science College of Engineering University of Oklahoma Norman, Oklahoma November

1642: Blaise Pascal created an adding machine with automatic carries from one position to the next

Computing Before Time: Pre-1980’s

Page 6: Overview of Computer Science John K. Antonio, Director School of Computer Science College of Engineering University of Oklahoma Norman, Oklahoma November

1673: Using a stepped cylindrical gear, Gottfried Leibniz built a calculator capable of multiplication in which a number was repeatedly and automatically added into an accumulator.

1822: Charles Babbage recognized that mathematical, celestial, and navigation tables were full of errors; leading to the loss of ships.

He suggests that it should be possible to compute the table entries using a steam engine.

He begins to design the Difference Engine for the purposes of computing the entries in navigation and other tables.

Computing Before Time: Pre-1980’s

Page 7: Overview of Computer Science John K. Antonio, Director School of Computer Science College of Engineering University of Oklahoma Norman, Oklahoma November

Babbage’s Difference Engine (1822)

Computing Before Time: Pre-1980’s

Page 8: Overview of Computer Science John K. Antonio, Director School of Computer Science College of Engineering University of Oklahoma Norman, Oklahoma November

1833 - 1847: Charles Babbage designed the Analytical Engine that had the basic components of a modern computer

He completed 21 drawings for its construction, but did not complete the manufacture himself.

From these plans, a working version of the machine was constructed in 1991 using only 1800’s technology.

Computing Before Time: Pre-1980’s

Page 9: Overview of Computer Science John K. Antonio, Director School of Computer Science College of Engineering University of Oklahoma Norman, Oklahoma November

1854: George Boole describes his system for symbolic and logical reasoning that becomes later the basis for computer design

1890: Herman Hollerith won the competition for the delivery of data processing equipment to assist in the processing of the data from the 1890 US Census.

1914: Calculating-Tabulating-Recording (C-T-R) company founded by Hollerith and others.

1924: C-T-R renamed IBM.

1937: Alan Turing developed the idea of a “Universal Machine” capable of executing any describable algorithm, and forming

the basis for the concept of “computability.”

Turing’s ideas differed from those of others who were solving arithmetic problems by introducing the concept of “symbol processing.”

Computing Before Time: Pre-1980’s

Page 10: Overview of Computer Science John K. Antonio, Director School of Computer Science College of Engineering University of Oklahoma Norman, Oklahoma November

1930’s: Aikens conceives the Harvard Mark I, also known as the IBM Automatic Sequence Control Calculator (ASCC).

An automatic, general purpose, electromechanical calculator.

The ASCC was not a stored program machine but instead was driven by a paper tape containing the instructions.

Computing Before Time: Pre-1980’s

Page 11: Overview of Computer Science John K. Antonio, Director School of Computer Science College of Engineering University of Oklahoma Norman, Oklahoma November

1944: Grace Murray Hopper went to work for Aiken at Harvard and became a programmer (then called “coders”) on the Mark I.

When the machine stops (frequently) Hopper tells Aiken that they are “debugging” the computer.

The first computer bug (found in hardware!) was beaten to death in the jaws of a relay, literally.

Computing Before Time: Pre-1980’s

Page 12: Overview of Computer Science John K. Antonio, Director School of Computer Science College of Engineering University of Oklahoma Norman, Oklahoma November

The first computer bug (Hopper glued it into her logbook).

Computing Before Time: Pre-1980’s

Page 13: Overview of Computer Science John K. Antonio, Director School of Computer Science College of Engineering University of Oklahoma Norman, Oklahoma November

As a pioneer Computer Programmer and co-inventor of COBOL, Rear Admiral Grace Murray Hopper was known as the Grand Lady of Software, Amazing Grace, and Grandma COBOL.

Computing Before Time: Pre-1980’s

Page 14: Overview of Computer Science John K. Antonio, Director School of Computer Science College of Engineering University of Oklahoma Norman, Oklahoma November

1943: A major need for supporting the war effort was to decrypt the intercepted messages of the German forces.

A team, including Alan Turing, built a series of machines culminating in 1943 with Colossus.

1943: Work on ENIAC was started in 1943 under the guidance of John Brainerd, Dean of the Moore School of Electrical Engineering at the University of Pennsylvania.

1943-1956: By 1956, the ENIAC had grown to 17,000 vacuum tubes, weighed 60,000 pounds (about 20 Buicks), required 16,000 cubic feet (about 25’ x 25’ x 25’) of space, and consumed 174 KW of electrical power (about 3,000 reading lamps).

Computing Before Time: Pre-1980’s

Page 15: Overview of Computer Science John K. Antonio, Director School of Computer Science College of Engineering University of Oklahoma Norman, Oklahoma November

Photo shows Eckert on left and Goldstine on right, holding an arithmetic unit from the ENIAC.

Computing Before Time: Pre-1980’s

Page 16: Overview of Computer Science John K. Antonio, Director School of Computer Science College of Engineering University of Oklahoma Norman, Oklahoma November

Photo of the ENIAC.

Computing Before Time: Pre-1980’s

Page 17: Overview of Computer Science John K. Antonio, Director School of Computer Science College of Engineering University of Oklahoma Norman, Oklahoma November

1947: William Shockley, John Bardeen, and Walter Brattain invent the “transfer resistance” device, later to be known as the transistor that will revolutionize the computer and give it the reliability that could not achieved with vacuum tubes.

Computing Before Time: Pre-1980’s

Page 18: Overview of Computer Science John K. Antonio, Director School of Computer Science College of Engineering University of Oklahoma Norman, Oklahoma November

1954-1957: John Backus proposed the development of a programming language that would allow user to express their problems in commonly understood mathematical formulae -- later to be named FORTRAN.

Computing Before Time: Pre-1980’s

Page 19: Overview of Computer Science John K. Antonio, Director School of Computer Science College of Engineering University of Oklahoma Norman, Oklahoma November

1956: Bell Labs unveils the transistor.

1958: Jack Kilby of Texas Instruments, Inventor of the Integrated Circuit. Awarded the 2000 Nobel Prize in Physics!

1961: President Kennedy announces a national goal to land a man on the moon and return him safely to earth; to be accomplished before the end of the decade.

1969: Apollo 11 completes mission of manned lunar landing and return.

Without the creation of the sophisticated high-technology guidance computer, the Apollo 11 mission would not have

been possible.

Computing Before Time: Pre-1980’s

Page 20: Overview of Computer Science John K. Antonio, Director School of Computer Science College of Engineering University of Oklahoma Norman, Oklahoma November

Functional characteristics of the Apollo Computer

Computing Before Time: Pre-1980’s

Page 21: Overview of Computer Science John K. Antonio, Director School of Computer Science College of Engineering University of Oklahoma Norman, Oklahoma November

Early bench implementations of the Apollo Computer

Computing Before Time: Pre-1980’s

Page 22: Overview of Computer Science John K. Antonio, Director School of Computer Science College of Engineering University of Oklahoma Norman, Oklahoma November

The integrated circuit made it possible to reduce the size of the Apollo guidance and control computer to enable it to fit!

Computing Before Time: Pre-1980’s

Page 23: Overview of Computer Science John K. Antonio, Director School of Computer Science College of Engineering University of Oklahoma Norman, Oklahoma November

The “DSKY” of the Apollo computer (DSKY = Display and Keyboard)

Computing Before Time: Pre-1980’s

Page 24: Overview of Computer Science John K. Antonio, Director School of Computer Science College of Engineering University of Oklahoma Norman, Oklahoma November

Command module with DSKY circled.

Computing Before Time: Pre-1980’s

Page 25: Overview of Computer Science John K. Antonio, Director School of Computer Science College of Engineering University of Oklahoma Norman, Oklahoma November

1969: Work on ARPAnet begins.

Bell Telephone Laboratories withdrew from Project MAC (Multics).

Ritchie and Thompson began work on their own operating system, that instead of being targeted to multiple users, would concentrate on the single user and thus in a play on the name Multics, it was named UNIX.

1973: Don Knuth delivers three volumes that turn out to be the “bibles” of software development.

Contained many of the basic algorithms of the field that became known as “data structures” and many of the techniques of programming that would become the basis of “software engineering.”

Computing Before Time: Pre-1980’s

Page 26: Overview of Computer Science John K. Antonio, Director School of Computer Science College of Engineering University of Oklahoma Norman, Oklahoma November

1975: Edward Roberts, William Yates, and Jim Bybee develop the MITS Altair 8800. The price was $375, contained 256 bytes of memory (not

256k),but had no keyboard, no display, and no auxiliary storage device.

Later, Bill Gates and Paul Allen wrote their first product for the Altair -- a BASIC compiler (named after a planet on a Star Trek episode).

Computing Before Time: Pre-1980’s

Page 27: Overview of Computer Science John K. Antonio, Director School of Computer Science College of Engineering University of Oklahoma Norman, Oklahoma November

1976: Steve Jobs and Steve Wozniak produced the Apple II that was assembled and complete with its own keyboard and monitor.

Computing Before Time: Pre-1980’s

Page 28: Overview of Computer Science John K. Antonio, Director School of Computer Science College of Engineering University of Oklahoma Norman, Oklahoma November

Outline

• Computing Before Time: Pre-1980’s

• Computing in the Future: CS Research at OU

• Overview of the School of Computer Science

Page 29: Overview of Computer Science John K. Antonio, Director School of Computer Science College of Engineering University of Oklahoma Norman, Oklahoma November

Wearable ComputingProfessor Andrew H. Fagg

• Anytime, anywhere computing and

communication

• Digital assistants for the automated

retrieval and management of

information

• Multimodal interfaces: dynamically

deciding how to communicate with the

user through the display or through

speech

• Interaction with robots and sensor

networks

Research Issues

• Sensor processing and fusion for the

extraction of user context

• Machine learning approaches for tuning

the computer’s interaction with the user

• Distributed agent architectures

• User interface designSchool of Computer Science

Page 30: Overview of Computer Science John K. Antonio, Director School of Computer Science College of Engineering University of Oklahoma Norman, Oklahoma November

Adaptation and Learning at All Levels in Intelligent RobotsProfessor Dean F. Hougen

Problem: How can teams of robots learn to improve their behavior at all levels, from low-level sensing and acting to high-level team collaborations?

Importance: Robots can move beyond factories to more workplaces and homes if they can learn as they work.

Current Solution: Hard-coded behaviors for most or all parts of robot behavior.

Weaknesses: Hand-coding is expensive and resulting behaviors are inefficient .

Solution: Emerging machine-learning methods, such as memetic learning, combined with hybrid control.

Research Issues• Informing behaviors at different levels of newly learned information.

• Learning quickly from a small number of training examples.

School of Computer Science

Page 31: Overview of Computer Science John K. Antonio, Director School of Computer Science College of Engineering University of Oklahoma Norman, Oklahoma November

Pipeline Monitoring: Multi-hop Sensor Wireless NetworkProfessor Sridhar Radhakrishnan

Problem: Develop continuous real-time monitoring of pipelines to determine leak and other structural damages.

Importance: Failure of gas pipelines will result in both human, property, and environmental damage.

Current Solution: Low flying aircraft, visual inspection, and use of pigs for internal monitoring.

Weaknesses: Expensive, non-continuous monitoring, fail-first, fix-later solutions.

Solution

Multi-hop wireless sensor network with appropriate sensor fusion technologies.

Research Issues• Communication in the presence of unreliable

sensors• Power aware strategies• Optimal sensor configuration and data fusion

School of Computer Science

Page 32: Overview of Computer Science John K. Antonio, Director School of Computer Science College of Engineering University of Oklahoma Norman, Oklahoma November
Page 33: Overview of Computer Science John K. Antonio, Director School of Computer Science College of Engineering University of Oklahoma Norman, Oklahoma November

Research on molecular/DNA computingProfessor Qi Cheng

Advantages of using molecular/DNA computers

High information density: One gram of dry DNA can hold as much information as approximately one trillion CDs.

Massive parallelism: DNA replication can easily reach the rate equivalent to 1000Gbits/sec.

Inexpensive: 1017 DNA sequence for $30.

Research issues:

Reliability.

School of Computer Science

Why do we study molecular/DNA computers?

We are hungry for computing power in processors and information densityin memory chips.

Page 34: Overview of Computer Science John K. Antonio, Director School of Computer Science College of Engineering University of Oklahoma Norman, Oklahoma November

Mobile Ad Hoc Database Systems [Funded by NSF]Professor Le Gruenwald

Problem: To provide a real-time information management system in a mobile environment where there are no fixed infrastructures.

Importance: To be used in time-critical mobile applications in Battlefield and Disaster recovery situations like fire fighting, earth quake rescue operations.

Current Solution: Communication through walkie-talkies.

Weaknesses: Cannot store and retrieve information conveniently, is a hassle in hostile situations, is not secure, does not take energy and timing constraints into consideration.

SolutionA Real Time Energy-Efficient Database System for Mobile Ad-Hoc Networks using single/multi hop communication.

Research Issues• Transaction Management• Data Caching and Data Replication• Concurrency Control Protocol• Commit Protocol• Recovery Subsystem• Energy and Timing Constraints Handling

School of Computer Science

Page 35: Overview of Computer Science John K. Antonio, Director School of Computer Science College of Engineering University of Oklahoma Norman, Oklahoma November

TraSH: Seamless Handover in Data and Space Networks

•Simulation and Linux-based experimental testbed is being used to test the performance of TraSH.

•Performance of TraSH will be compared with that of Mobile IP for achieving seamless handover.

•Develop Transport layer Seamless Handover (TraSH) for next generation data and space networks based on multihoming.

•Solve the problem of packet loss, latency during handovers, security and deployment issues.

Mohammed Atiquzzaman/University of OklahomaProblem

Procedure

• Mobile IP can be used for handover in data and space networks.

• Mobile IP results in packet losses and high latency during handovers. Other problems include: inefficient routing, interaction with security solutions, and deployment issues.

Seamless Handover

Primar

y

SCTP

Secondary

SCTP

Subnet 1 Subnet 2

Internet

Objective

Page 36: Overview of Computer Science John K. Antonio, Director School of Computer Science College of Engineering University of Oklahoma Norman, Oklahoma November

Real Software EngineeringProfessor Rex Page

Problem: Apply principles of science and mathematics (especially logic) in the design and construction of software.

Importance: “Software engineering” has, here-to-for, had little to do with engineering, according to the dictionary definition of the term. As a result, software products are usually delivered way late, if at all, and in bad repair. Real engineering may improve this state of affairs.

Current Solution: Hack ‘til it seems to work (or you’re too brain-fried to care, or your boss tells you to stop).

Weaknesses: Expensive software projects, scheduling nightmares, and bad software.

SolutionApply mechanized logic, using products like ACL2, Coq, and HOL, in practical, software design and development projects.

Research Issues• Applying mechanized logic in small projects• Scaling mechanized logic to larger projects• Measuring effectiveness of mechanized-

logic approaches to software engineering

School of Computer Science

Page 37: Overview of Computer Science John K. Antonio, Director School of Computer Science College of Engineering University of Oklahoma Norman, Oklahoma November

Project: Abstraction and Structure for Software EngineersProfessor Deborah A. Trytten

Problem: Integrating proper software engineering practices into lower division computer science textbooks.

Importance: Many CS students will go on to practice software engineering professionally. We need to build these skills in our students as early and as often as possible.

Current Solution: Students learn some software engineering practices in lower division courses that are improved in the senior capstone course.

Weaknesses: Students spend years developing bad software engineering habits that have to be changed in the capstone sequence, or on the job.

SolutionI am writing a textbook for McGraw-Hill that will make it possible for students with as little as one semester of programming experience to use light weight software engineering processes that are designed to model processes used industrially.

Research Issues• Selection of relevant software processes• Selection of relevant software tools,

particularly those that are legally available free of charge to students

• Development of unique case studies to demonstrate the processes

• Development of case studies that are socially relevant

• Placement of material relative to other common computer science classes, such as data structures

School of Computer Science

Page 38: Overview of Computer Science John K. Antonio, Director School of Computer Science College of Engineering University of Oklahoma Norman, Oklahoma November

Outline

• Computing Before Time: Pre-1980’s

• Computing in the Future: CS Research at OU

• Overview of the School of Computer Science

Page 39: Overview of Computer Science John K. Antonio, Director School of Computer Science College of Engineering University of Oklahoma Norman, Oklahoma November

• Overview of the School of Computer Science

Brief History

1972: CS began under direct Provost supervision

1976: CS combined with EE to create School of EE&CS

1991: Task force recommends forming separateSchool of CS

1992: School of CS formed with eight faculty

2004: School of CS has fifteen tenured/tenure-track faculty

Page 40: Overview of Computer Science John K. Antonio, Director School of Computer Science College of Engineering University of Oklahoma Norman, Oklahoma November

Strategic Planning

• All CoE schools devise strategic plans in support of a common vision:

To produce graduates sought first …

• Strategic plan involves four basic strategies:

1. Innovation in education

2. Expanding traditional research role of faculty

3. Attracting excellent students

4. Emphasis on Interdisciplinary Research

• Overview of the School of Computer Science

Page 41: Overview of Computer Science John K. Antonio, Director School of Computer Science College of Engineering University of Oklahoma Norman, Oklahoma November

CS at OU - Undergraduate Program

CS-administered degrees and programs:• BS in CS• Minor in CS• Accelerated BS/MS dual-degree programs

CS-supported degrees and programs• Computer Engineering• IE degree with IT option• Math degree with CS option

Page 42: Overview of Computer Science John K. Antonio, Director School of Computer Science College of Engineering University of Oklahoma Norman, Oklahoma November

CS at OU - Undergraduate Program

BS in CS• Accredited by CSAB in 1997• Reaccredited by ABET in 2004• Only accredited CS program from public institution

in Oklahoma• Curriculum newly revised• Enrollment management policy enforced in 1999 to

limit rapidly growing enrollment (2.8 GPA required to take upper division courses)

Page 43: Overview of Computer Science John K. Antonio, Director School of Computer Science College of Engineering University of Oklahoma Norman, Oklahoma November

Required Math and Science Courses for BS in CS• Math 1823 Calculus I• Math 2423 Calculus II• Math 2433 Calculus III• Math 2443 Calculus IV• Math 3113 Differential Equations• Math 3333 Linear Algebra • *Math 4753 Applied Statistics (or IE 3293)• *Math 4073 Numerical Analysis (or AME 3723)• Chem 1315 General Chemistry I• Phys 2514 General Physics• Chem 1415 General Chemistry II or Phys 2424 General Physics

* By taking Math versions of Applied Statistics and Numerical Analysis,CS students earn a minor in Mathematics

CS at OU - Undergraduate Program

Page 44: Overview of Computer Science John K. Antonio, Director School of Computer Science College of Engineering University of Oklahoma Norman, Oklahoma November

Highlighted are typical courses used to satisfy the requirements for BS in CpE, BS in IE (IT Option), BS in Math (Comp. Opt.), and Minor in CS

Required CS Courses for BS in CS• CS 1323 Intro. to Computer Programming• CS 1813 Discrete Mathematics• CS 2334 Programming Structures and Abstractions• CS 2413 Data Structures• CS 2613 Computer Organization• CS 3053 Graphical User Interfaces• CS 3113 Introduction to Operating Systems• CS 3823 Theory of Computation• CS 4263 Software Engineering I• CS 4273 Software Engineering II• CS 4313 Programming Languages• CS 4413 Algorithm Analysis

CS at OU - Undergraduate Program

Page 45: Overview of Computer Science John K. Antonio, Director School of Computer Science College of Engineering University of Oklahoma Norman, Oklahoma November

Elective CS Courses for BS in CS (Must take at least three from the following list)• C S 4013 Artificial Intelligence• C S 4023 Introduction to Intelligent Robotics• C S 4053 Computer Graphics• C S 4113 Operating Systems Theory• C S 4133 Data Networks• C S 4323 Compiler Construction• C S 4433 Computation Methods in Discrete Optimization• C S 4513 Database Management• C S 4613 Computer Architecture• C S 4743 Scientific Computing I• C S 4973 Cyber Forensics

CS at OU - Undergraduate Program

Page 46: Overview of Computer Science John K. Antonio, Director School of Computer Science College of Engineering University of Oklahoma Norman, Oklahoma November

CS at OU - Undergraduate Program

CS 1323

CS 2334 CS 1813

CS 2413 CS 2613

ECE 2213

CS 3113CS 3823CS 3053

CS 4313 CS 4263

CS 4413

CS 4273

CS 4743

CS 4613

CS 4513CS 4433 CS 4323 CS 4133

CS 4113CS 4053

CS 4013

Math 1523 Math 1823

ENGR 3293+Math 3333 ENGR 3723*Math 2433

CS 4023

KeyRequired CSElective CSOutside Prerequisites

* Math 4073 may be used in place of ENGR 3723+ Math 4753 or Math 4743 may be used in place of ENGR 3293

Prerequisite Structure for required CS Courses

Page 47: Overview of Computer Science John K. Antonio, Director School of Computer Science College of Engineering University of Oklahoma Norman, Oklahoma November

CS at OU - Undergraduate Program

CS Students• Student enrollment in the BS program grew from about

250 in 1995 up to 350 in 2001. Now stabilized at ~ 300.

• Number of women in program:18.6% (13 year average)• 12% national scholars; 23% in honors program; 24%

have ACT score of 30 or greater• ACM programming team competition

•Top two regional teams (of 70) go to World Finals•OU often makes World Finals (e.g., we did 2000)

• Graduates are sought after by top national and regional companies

Page 48: Overview of Computer Science John K. Antonio, Director School of Computer Science College of Engineering University of Oklahoma Norman, Oklahoma November

CS at OU - Research

Research Areas:• Bioinformatics• Computer Architecture• Cryptography• Database Systems• DNA Computing• Education• Embedded Computing• High Performance Computing• Human Computer Interface• Intelligent Systems and Robotics• Networking and Telecommunications• Scientific Computing• Software Engineering• Security and Computer Forensics• Theory

Page 49: Overview of Computer Science John K. Antonio, Director School of Computer Science College of Engineering University of Oklahoma Norman, Oklahoma November

CS at OU - Faculty

Teaching Mission• Currently 15 tenure-track or tenured faculty• Employ two part-time instructors• Employ about fifteen TAs (plus about 30 RAs) • Strong commitment to teaching – numerous awards

Scholarly and Creative Activity:• About 4 scholarly publications annually per faculty

member• Externally funded research expenditures increased by

600% in five years (from $120K to over $1M)• Two IEEE Fellows, one ACM Fellow, one GLC Professor,

one Hitachi Chair, one Presidential Prof

Page 50: Overview of Computer Science John K. Antonio, Director School of Computer Science College of Engineering University of Oklahoma Norman, Oklahoma November

CS at OU - Summary

• Excellent undergraduate and graduate students/programs

• Have an excellent record of scholarship and professional service

• A number of senior-level faculty have excellent national visibility

• Strongest program in the state; well-respected by Big-12 peers

• Able to recruit top junior faculty from top institutions • Computer Science at OU has all the ingredients to

continue to rise to a level of national prominence

Join the Excitement!

Page 51: Overview of Computer Science John K. Antonio, Director School of Computer Science College of Engineering University of Oklahoma Norman, Oklahoma November

CS Students DO Graduate!

Questions?