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
Jan 18, 2018
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