Title: What is Computer Science?
1What is Computer Science?
- The study of the foundations of computing, data
storage, and information processing - Computer Scientists develop applications that
allow computers to solve real-world problems - 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
2How is CS different?
- Computer Scientists develop applications for
computer systems - 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 have flexible employment
opportunities
3What Computer Scientists do?
- Employed in top programming jobs
- Invent new applications for computer systems
- World Wide Web
- Google search engine
- Peer-to-Peer networks
- Wireless systems
- Develop better ways to solve computing problems
- More secure ways to encrypt information
- More efficient ways to send audio/video over the
Internet
4What 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
5A Sample of CS areas
- Distributed systems development
- Computer game development
- Database administration
- Search engine technologies
- Computer security (Prof.Furst)
- Computer game development (Prof.Linhoff)
- Computer graphics (J. Schnepp, PhD candidate)
6Distributed 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_at_home
- World Wide Web
- Online games
- Grids
7A sample job listing (excerpts)
- Applications Developer - Computer Professional
- Department Computing Division, Fermilab.
- Must have software analysis, development, testing
and debugging skills. - Excellence in distributed software development
and integration using some or all of C, Java,
and Python is needed. - Experience with database systems
- Proven ability in oral and written communication
is essential. - Demonstrated ability for analysis and resolution
of problems in distributed and/or networked
systems.
8Computer Game development
- Game software development requires an
understanding of - Mathematics
- Computer graphics
- Computer architecture
- Operating systems
- Network programming
- Parallel processing
9A sample job listing (excerpts)
- Online Programmer
- Midway Games Inc, Chicago, IL
- Responsibilities
- Design, define and develop the next generation of
online gameplay and networking technology for
multiple platforms. - Requirements
- Extensive knowledge of C programming.
- Strong multithreaded/parallel programming would
be beneficial. - Effective analytical, written, oral, team,
interpersonal, planning and organizing skills are
essential. - Education
- Bachelors degree or higher in Computer Science is
preferred.
10Database administration
- Databases are used to store and organize data in
ways to make insertion, search and retrieval of
information efficient - Databases are used in the following industries
- Financial industry
- Search engines
- Travel industry
11A sample job listing (excerpts)
- Title Database Administrator, Chicago Mercantile
Exchange - Responsible for the administration of Oracle 10g
RAC, Grid and ASM running on Sun Unix or Linux
operating systems. - Must be able to implement databases on Unix and
Linux platforms. - Requirements
- In depth knowledge in the works of Oracle 10g,
RAC, ASM and Grid, TOAD, DB2 and SQL Server a
plus - Experience in a very high transaction rate OLTP
applications required - Working knowledge of Linux and Unix operating
systems are required. NT and MVS is a plus.
12Search Engine Technologies
- A Search Engine is a computer program that is
used to find information stored in a software
system such as the World Wide Web - How does a search engine return web pages that
are relevant to the query? - Technologies include databases, distributed
systems, artificial intelligence, networking etc.
13A sample job listing (excerpts)
- Openings in Software Engineering, Google
- We need world-class engineers to join our
engineering team in developing our
next-generation search engine () - Working on problems in () cutting-edge
information retrieval algorithms, scalability
issues related to dealing with huge amounts of
data, and a variety of novel search features. - Requirements
- Enthusiasm for solving interesting problems.
- Experience with Unix/Linux or Windows
environments, C development, distributed
systems, machine learning, information retrieval,
network programming
14The 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
15Advanced 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
16Sample 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?
17Sample 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?
18Software Engineering Concentration
- This concentration integrates
- the foundational Computer Science material with
- engineering practices developed for building and
maintaining software applications. - Six additional SE courses.
19Current Career Outcomes
Average starting salary of a 2007 DePaul CS
graduate 55,313
20Employment projections (BLS)
Table 2 Fastest-growing occupations, 2006-16 Table 2 Fastest-growing occupations, 2006-16 Table 2 Fastest-growing occupations, 2006-16
(Numbers in thousands) (Numbers in thousands)
2006 National Employment Matrix code and title 2006 National Employment Matrix code and title Employment Employment Change Change Quartile rank by 2006 median annual wages1 Most significant source of postsecondary education or training2
2006 National Employment Matrix code and title 2006 National Employment Matrix code and title 2006 2016 Percent Number Quartile rank by 2006 median annual wages1 Most significant source of postsecondary education or training2
1 Network 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
4 Computer software engineers, applications 507 733 44.6 226 VH Bachelor's degree
5 Veterinary 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
27 Computer software engineers, systems software 350 449 28.2 99 VH Bachelor's degree
21An opportunity for the few
The number of students entering the CS field is
at historical lows More opportunities when you
graduate
22Shortages of CS professionals
Today, there simply arent 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)
23So, why choose CS?
Source Money Magazine, April 12, 2006
24And why choose CS atDePaul?
- Because our students are successful!
- Ranking of the top 12 US teams at the 2006 World
Programming Contest