Upload
lynette-barton
View
218
Download
0
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
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
Opportunities in Computing
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
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
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
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.
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
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)
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.
The Demand for Computer Scientists
Source: IEEE Spectrum, August 2008
Computer science has the highest engineering salary and the fastest growing salary increase.
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”
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
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
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
…
Factors Leading to Chosen Career
• New form to express creativity
• Science Fairs– 8th grade
• Bulletin Board Software– High School
• Tic-Tac-Toe Learner
• “Wargames”
Scientific Method in CS Research
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
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;}
Scientific Method in CS Research
Extra Stuff
• Video of undergraduate research– Self parking car
• Alice video games by middle schoolers