cs spotlight october09.ppt

26
What is Computer Science? The study of the foundations of computing, data storage, and information processing Computer Scientists use this knowledge to develop applications we all use Computer Science spans diverse areas: Security and cryptography Robotics and computer vision Data mining and databases Distributed and mobile systems Intelligent systems and gaming Computational biology Computer networks Computer graphics and animation More…

Upload: peterbuck

Post on 07-Nov-2014

488 views

Category:

Documents


0 download

DESCRIPTION

 

TRANSCRIPT

What is Computer Science?• The study of the foundations of computing, data

storage, and information processing

• Computer Scientists use this knowledge to develop applications we all use

• Computer Science spans diverse areas:– Security and cryptography– Robotics and computer vision– Data mining and databases– Distributed and mobile systems– Intelligent systems and gaming– Computational biology– Computer networks– Computer graphics and animation– More…

How is CS different?

• Computer Scientists develop applications for computer systems

• To do this, computer scientists obtain a comprehensive foundation that permits them to adapt to as well as create new technologies, new paradigms and new ideas.

• Foundation consists of:– Mathematics and problem solving– Modeling and programming– Computer systems

• Computer Scientists can work in ALL areas of IT

What is Software Engineering?

• Many Computer Scientists work in the software development industry.

• Software is often developed by large developer teams that require all developers to use common approaches/rules/practices to software development

• Software engineering is a field that studies and defines the best approaches/rules/practices for software development and maintenance

A Sample of CS areas

• Distributed systems development

• Computer game development

• Financial transaction software

• Search engine technologies

• Computer security

• Computer graphics

• Recommender systems

Distributed System development

• A distributed system is software system that uses multiple independent computers communicating over a network to accomplish a common task.

• Examples:– Email– Napster and SETI@home– World Wide Web– Online games– Grids

A sample job listing (excerpts)

Applications Development and Systems Analyst IComputing Division, Fermilab, Batavia, IL

• Responsibility:– participate in the design, coding, … and maintenance of CorralWMS

(a next generation grid).

• Requirements:– Experience with software development … on UNIX/Linux platforms;

– Good knowledge of C/C++ or Java …. Working experience of python

– Excellent written and verbal communication skills;

– Experience with virtual environments and/or cloud computing;

• Education:– Bachelor's degree

Computer Game development

• Game software development requires an understanding of:

– Mathematics

– Computer graphics

– Computer architecture

– Operating systems

– Network programming

– Parallel processing

A sample job listing (excerpts)

Gameplay Programmer, High Voltage Software

Chicago, IL

• Responsibilities:– Design and implement core gameplay components such as AI,

physics, character control, cameras, event systems, VFX, etc.

• Requirements:– Deep knowledge of C/C++

– Excellent math and/or physics foundation

– Exceptional problem solving, debugging and troubleshooting skills

– Experience with scripting languages such as Ruby, Perl or Python

– Demonstrated knowledge of good software engineering practices

• Education:– MS degree in Computer Science or related discipline desirable.

Financial Software Development

• Today, almost all financial transactions are done electronically

• The financial services industry is constantly working on improving the speed, scale, and security of their transaction computer applications.

A sample job listing (excerpts)Java Intern – Fall, Chicago Mercantile ExchangeChicago, IL

• Responsibilities:– The intern will have the opportunity to learn about trading, clearing and

apply fundamental computer science algorithmic solutions to problems.

• Requirements:– Prior Java programming knowledge/experience

– Excellent verbal and written communication skills

– Continuous learner and ability to work both independently and as a team

• Education:– Must be currently enrolled in school pursuing either a BS or MS in CS

Search Engine Technologies

• To handle information at the scale of the web requires ideas from just about every area of computer science, including:– information retrieval,

– artificial intelligence,

– natural language processing,

– distributed computing,

– large-scale system design,

– networking,

– security,

– data compression,

– user interface design, etc.

(From Google’s Job Ad)

A sample job listing (excerpts)

Software Engineer, GoogleChicago,IL

• Responsibility:– Write server-side code for web-based applications, … and develop

prototypes; … client application development for Chrome, Toolbar, etc, … embedded systems and mobile apps (Android), …

• Requirements:– A solid foundation in computer science, with strong competencies in

data structures, algorithms, and software design.

– Extensive programming experience in C/C++ and/or Java (strong OO skills preferred). Coding skills in Python …, database design and SQL, and/or knowledge of TCP/IP and network programming…

• Requirements:– Degree in Computer Science

The Bachelor of Science in Computer Science

• Mathematical tools

• Problem solving, algorithms, and structured programming

• Modelling and object oriented programming

• Computer Systems

• Communication skills

• Senior Capstone

Advanced Coursework

• Theory• Data storage• Computer Systems• Data analysis and mining• Artificial intelligence• Computer vision• Human computer interaction• Computer gaming• Software engineering• Computer graphics and animation• Computational Sciences• Network programming• and more to come…

Sample CS topics covered at CTI

• How does Google work and why is it such a good search engine?

• How does a computer beat the World Chess Champion?

• How does information get routed on the Internet?

• How does encryption work and how can encrypted messages be broken?

• How do the Mars robots see and process the landscape around them?

Sample CS topics covered at CTI

• How does one protect a system against an attack?

• How are players synchronized in an online computer game?

• What techniques are being developed to increase the speed of microprocessors?

• What makes a Graphical User Interface user-friendly?

• What problems are Computer Scientists currently solving in the field of Computational Biology?

Software Engineering Concentration

• This concentration integrates:– the foundational Computer Science material with– engineering practices developed for building and

maintaining software applications.

• Six additional SE courses.

Current Career Outcomes

Average startingsalary of a2007 DePaulCS graduate:

$55,313

Current Career Outcomes

Employment projections (BLS)Table 2: Fastest-growing occupations, 2006-16          

(Numbers in thousands)

2006 National Employment Matrix code and title

Employment ChangeQuartile rank by

2006 median annual wages1

Most significant source of postsecondary education or training2

2006 2016 Percent Number

1Network systems and data communications analysts 262 402

53.4 140 VH Bachelor's degree

2 Personal and home care aides 767 1,156 50.6 389 VL Short-term on-the-job training

3 Home health aides 787 1,171 48.7 384 VL Short-term on-the-job training

4Computer software engineers, applications 507 733

44.6 226 VH Bachelor's degree

5Veterinary technologists and technicians 71 100

41.0 29 L Associate degree

6 Personal financial advisors 176 248 41.0 72 VH Bachelor's degree

……23

Marriage and family therapists 25 32

29.8 7 H Master's degree

24 Dental assistants 280 362 29.2 82 L Moderate-term on-the-job training

25 Computer systems analysts 504 650 29.0 146 VH Bachelor's degree

26 Database administrators 119 154 28.6 34 VH Bachelor's degree

27Computer software engineers, systems software 350 449

28.2 99 VH Bachelor's degree

An opportunity … for the few

The number of students entering the CS field is at historical lows

=More opportunities when you graduate

Shortages of CS professionals

“Today, there simply aren’t enough people with the right skills to fill the growing demand for computer scientists and engineers. This is a critical problem …” (Bill Gates, 02/19/2008)

Annual Degrees and Job Openings in Broad S&E Fields

-

20,000

40,000

60,000

80,000

100,000

120,000

140,000

160,000

Engineering Physical Sciences Mathematical/Computer Sciences

Biological/Agricultural Sciences

PhD

Master's

Bachelor's

Projected Job Openings

SOURCES: Tabulated by National Science Foundation/Division of Science Resources Statistics; degree data from Department of Education/National Center for Education Statistics: Integrated Postsecondary Education Data System Completions Survey; and NSF/S RS: Survey of Earned Doctorates; Projected Annual Average Job Openings derived from Department of Commerce (Office of Technology Policy) analysis of Bureau of Labor Statistics 2002-2012 projections

So, why choose CS?Average payJob growthCareer

$66,21622.78%Real estate appraiser8

$83,42736.10%Computer/IT analyst7

$82,31720.19%Market research analyst6

$75,11749.65%Physician assistant5

$73,73123.47%HR manager4

$122,46225.92%Financial advisor3

$81,49131.39%College professor2

$80,42746.07%Software engineer1

Source: Money Magazine, April 12, 2006

What about the current recession?

• There are job losses in most industries, including IT… However,

• “Amid the worst job market in 25 years, IT is holding steady. Most CIOs are maintaining their current staffing levels; while a few are hiring specialists who have in-demand IT skills.”(NetworkWorld, March 2009)

• According to the Bureau of Labor Statistics, future job prospects for computer science graduates are higher than for any other science or engineering field.

So, why choose DePaul CS?

• A set of core courses that is continuously updated to reflect technical developments in the field and industry

• A choice of more than 70 major electives, from Artificial Intelligence to Web Server Operations

• CS faculty have PhDs from the top Research Universities and now they are educating you.

• DePaul is a Teaching University; while CS faculty are active in research, their first job is to teach you.

• DePaul is centrally located in the Loop with an amazing choice of internship opportunities right outside the door.

So, why choose DePaul CS?

• Because our students are successful!• Ranking of the top 12 US teams at the 2006

World Programming Contest:

Wisconsin, Mad.7Washington, St.L. 4

Rice7Maryland, Coll.P.4

Virginia Tech7Caltech4

Georgia Tech7DePaul3

Carnegie Mellon7Princeton2

Duke7MIT1

TeamRankTeamRank