Title: What%20is%20Computer%20Science?
1What 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
2How 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
3What 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
4A Sample of CS areas
- Distributed systems development
- Computer game development
- Financial transaction software
- Search engine technologies
- Computer security
- Computer graphics
- Recommender systems
5Distributed 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
6A sample job listing (excerpts)
- Applications Development and Systems Analyst I
- Computing 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
7Computer Game development
- Game software development requires an
understanding of - Mathematics
- Computer graphics
- Computer architecture
- Operating systems
- Network programming
- Parallel processing
8A 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.
9Financial 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.
10A sample job listing (excerpts)
- Java Intern Fall, Chicago Mercantile Exchange
- Chicago, 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
11Search 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 Googles Job Ad)
12A sample job listing (excerpts)
- Software Engineer, Google
- Chicago,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
13The 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
14Advanced 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
15Sample 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?
16Sample 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?
17Software Engineering Concentration
- This concentration integrates
- the foundational Computer Science material with
- engineering practices developed for building and
maintaining software applications. - Six additional SE courses.
18Current Career Outcomes
Average starting salary of a 2007 DePaul CS
graduate 55,313
19Current Career Outcomes
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
24What 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.
25So, 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.
26So, why choose DePaul CS?
- Because our students are successful!
- Ranking of the top 12 US teams at the 2006 World
Programming Contest