21
Careers in Computer Science Jeff Gray, Ph.D. Associate Professor UAB – CIS Department [email protected] http:// www.cis.uab.edu/gray D epartm entofCom puterand Inform ation Sciences U niversity ofA labam a atB irm ingham S o ftC o m

Careers in Computer Science Jeff Gray, Ph.D. Associate Professor UAB – CIS Department

Embed Size (px)

DESCRIPTION

Software is Everywhere Think of some of the things that entertain and enrich your daily life All of the above are driven by software Software developers equipped with a computer science degree have opportunities to work on exciting and cutting-edge projects

Citation preview

Page 1: Careers in Computer Science Jeff Gray, Ph.D. Associate Professor UAB – CIS Department

Careers in Computer Science

Jeff Gray, Ph.D.Associate ProfessorUAB – CIS [email protected]://www.cis.uab.edu/gray

Department of Computer and Information SciencesUniversity of Alabama at Birmingham

S o f t C o m

Page 2: Careers in Computer Science Jeff Gray, Ph.D. Associate Professor UAB – CIS Department

Opportunities in Computing

Page 3: Careers in Computer Science Jeff Gray, Ph.D. Associate Professor UAB – CIS Department

Software is Everywhere• Think of some of the things that entertain

and enrich your daily life

• All of the above are driven by software• Software developers equipped with a

computer science degree have opportunities to work on exciting and cutting-edge projects

Page 4: Careers in Computer Science Jeff Gray, Ph.D. Associate Professor UAB – CIS Department

Software is Everywhere• 98% of all microprocessors control devices other than desktop computers– Automobiles, airplanes, televisions, copiers, razors…

• These devices also need software and often require strong technical skills to develop

>10Mb embedded software15-20Kb 1-1.5Mb

> 1M SLOC

Page 5: Careers in Computer Science Jeff Gray, Ph.D. Associate Professor UAB – CIS Department

Meteoric Opportunities

February 15, 2005: Domain registered (youtube.com)

Jawed Karim, Chad Hurley, and Steve ChenAround 25 years old at this time

November 2005:Official Debut

100 Million Clips viewed daily; 65,000 uploads per day 20 Million visitors each month October 2006: Time Magazine Invention of the Year

Great Talk: From Concept to HyperGrowthhttp://www.youtube.com/watch?v=nssfmTo7SZg

October 6, 2006: Google purchased for $1.65B

Page 6: Careers in Computer Science Jeff Gray, Ph.D. Associate Professor UAB – CIS Department

Alabama Technology Leaders

Jimmy WalesWikipedia FounderHuntsville Native

• The biggest multilingual free-content encyclopedia on the Internet. • Since its creation in 2001, nearly 10 million articles in over 250 languages.• Over 680 million visitors each year; 75,000 active contributors.

Page 7: Careers in Computer Science Jeff Gray, Ph.D. Associate Professor UAB – CIS Department

The Demand for Computer Scientists

Offshore hysteria: Many companies with high paying jobs within the US are unable to fill positions with computer scientists.Source: http://money.cnn.com/magazines/moneymag/bestjobs/top50/index.html

Page 8: Careers in Computer Science Jeff Gray, Ph.D. Associate Professor UAB – CIS Department

The Demand for Computer Scientists

According to the Bureau of Labor and Statistics, 5 of the top-10 growing jobs have a computer science focus.

(Reprinted with Permission from onInvesting)

Page 9: Careers in Computer Science Jeff Gray, Ph.D. Associate Professor UAB – CIS Department

The Demand for Computer Scientists

Computer Science occupations are projected to grow twice as fast as the average for all occupations.

Source: http://www.bls.gov/opub/ooq/2007/fall/art02.pdf

Between 2006-2016 a projected 822,000 new jobs will be available in Computer Science occupation areas in the United States alone.

Page 10: Careers in Computer Science Jeff Gray, Ph.D. Associate Professor UAB – CIS Department

The Demand for Computer Scientists

Source: IEEE Spectrum, August 2008

Computer science has the highest engineering salary and the fastest growing salary increase.

Page 11: Careers in Computer Science Jeff Gray, Ph.D. Associate Professor UAB – CIS Department

The Demand for Computer Scientists

• National Job Outlook– $56,921 is the average starting salary for

computer science degrees in the class of 2008 (among top 3 highest starting salaries); 7.9% increase over 2007 offers

– 1000s of openings each at Microsoft Game Studios, Electronic Arts, Epic Games, Google

– Epic Games President: “We do not hire anyone under $100k”

Page 12: Careers in Computer Science Jeff Gray, Ph.D. Associate Professor UAB – CIS Department
Page 13: Careers in Computer Science Jeff Gray, Ph.D. Associate Professor UAB – CIS Department

The Demand for Computer Scientists• Local Job Outlook

– In Birmingham, there was a recent need for 200 Java programmers; exceeded university’s ability to deliver employees

– CTS hiring several new developers each month– Summary of recent openings in Birmingham:

• JAVA/J2EE/EJB ($60/hr), Peoplesoft ($95/hr), SAP Technical ($85/hr), SAP Functional ($95/hr), Corba ($55/hr), Oracle DBA ($70/hr), DB2 DBA ($70/hr), Sybase DBA ($75/hr), .Net,vb.net,C#,asp.net ($60/hr), C/C++ ($55/hr), Cobol ($55/hr)

• Recent Birmingham Software Success– UAB CIS Graduates

– Dr. Stephen Brossette (Founder) Dr. Daisy Wong (Dir. IT)

– Estimated $100M– 179% growth – tops among

Birmingham companies

Page 14: Careers in Computer Science Jeff Gray, Ph.D. Associate Professor UAB – CIS Department

Synopsis of Faculty Member’s Research

• Techniques that enable software developers to automate common tasks

• Improved modularity to enable adaptive changes to large-scale software

• Supporting end-users with notations and languages that are appropriate for their domain, rather than computer programming languages

Page 15: Careers in Computer Science Jeff Gray, Ph.D. Associate Professor UAB – CIS Department

The “Twisted Plot” MetaphorThe Problem of Keeping Track of Things in Your Head

• The interactions among characters and overlapping events makes a good novel (“thickness” of plot as a complexity metric)

• The author must take care in preserving, throughout the entire novel, internal consistency within plot

• e.g., a change in the conclusion of the plot may necessitate global changes in all chapters

• Keeping track of all the twists can be difficult because the various concerns of the plot are distributed across multiple chapters

• but…Software development is MANY orders of magnitude more difficult!

Logically Consistent?

Chapter 2

Conclusion

Chapter 1

Page 16: Careers in Computer Science Jeff Gray, Ph.D. Associate Professor UAB – CIS Department

Factors Leading to Chosen Career

• New form to express creativity

• Science Fairs– 8th grade

• Bulletin Board Software– High School

• Tic-Tac-Toe Learner

• “Wargames”

Page 17: Careers in Computer Science Jeff Gray, Ph.D. Associate Professor UAB – CIS Department

Scientific Method in CS Research

Page 18: Careers in Computer Science Jeff Gray, Ph.D. Associate Professor UAB – CIS Department

18

Code Clones• Code clone: a sequence of statements

that are duplicated at multiple locations in a program

• Research shows that 6-8% of large-scale application code are clones (Jiang, 2007)

Source Code

Cloned Code

Page 19: Careers in Computer Science Jeff Gray, Ph.D. Associate Professor UAB – CIS Department

19

int func1() { int x = 1; int y = x + 5; return y;}

int func2() { int p = 1; int q = p + 5; return q;}

int main() { int x = 1; int y = x + 5; return y;}

int func3() { int s = 1; int t = s + 5; s++; return t;}

Types of Clones

Exact match Exact match with differing variable names

Near exact match

Original code

int func1() { int x = 1; int y = x + 5; return y;}

int func2() { int p = 1; int q = p + 5; return q;}

int main() { int x = 1; int y = x + 5; return y;}

int func3() { int s = 1; int t = s + 5; s++; return t;}

int func1() { int x = 1; int y = x + 5; return y;}

int func2() { int p = 1; int q = p + 5; return q;}

int main() { int x = 1; int y = x + 5; return y;}

int func3() { int s = 1; int t = s + 5; s++; return t;}

int func1() { int x = 1; int y = x + 5; return y;}

int func2() { int p = 1; int q = p + 5; return q;}

int main() { int x = 1; int y = x + 5; return y;}

int func3() { int s = 1; int t = s + 5; s++; return t;}

Page 20: Careers in Computer Science Jeff Gray, Ph.D. Associate Professor UAB – CIS Department

Scientific Method in CS Research

Page 21: Careers in Computer Science Jeff Gray, Ph.D. Associate Professor UAB – CIS Department

Extra Stuff

• Video of undergraduate research– Self parking car

• Alice video games by middle schoolers