Presentation is loading. Please wait.

Presentation is loading. Please wait.

Latest trends in Global Software Industry Dr. Jeyakesavan Veerasamy

Similar presentations


Presentation on theme: "Latest trends in Global Software Industry Dr. Jeyakesavan Veerasamy"— Presentation transcript:

1 Latest trends in Global Software Industry Dr. Jeyakesavan Veerasamy jeyak7@gmail.com jeyv@utdallas.edu

2 Agenda Introduce myself Software: Then & Now SW development environment options SW Efficiency – does it matter? Latest buzz Trends in CS education Open Q&A

3 Dr. V. Jeyakesavan: Academia, Industry & Personal Dad was a school teacher B.E. (ECE) in CEG Guindy, Anna University – 1986-90 UNIX System Software Engineer, HCL Limited, Chennai, 1990-91 MS Computer Science, University of Texas at Dallas (UTD), 1991-94

4 Dr. V. Jeyakesavan: Academia, Industry & Personal … Telecom Software Engineer, Northern Telecom, Dallas, 1994-97 Ph.D. Computer Science (part-time), University of Texas at Dallas (UTD), 1994-99 Technical Lead, Samsung Telecom, 1997-2010 Got married in 1998 Adjunct Faculty, UTD CS department, 1999-2002 Online Adjunct Faculty in several online universities from 2000

5 Dr. V. Jeyakesavan: Academia, Industry & Personal … Adjunct Faculty, Southern Methodist University, 2010 Sr. Lecturer (full-time), UTD Computer Science, 2010-present 2 daughters: Nila (8) and Chinmayee (4) Passionate about teaching – happy to share ideas to improve teaching quality in colleges

6 Dr. V. Jeyakesavan: Summary 18 years experience as Software Engineer 12 years of teaching experience

7 Fun way to learn programming & OOP Alice, a visual programming language Download from www.alice.orgwww.alice.org Whole world can be characterized by OOP How many meaningful objects in this room? What is a class? Alice program demo Great stepping stone to serious programming Share it with your friends & family

8 Software: Then & Now Note: Almost all the content is based on observations & experience only.

9 Complexity of software projects: historical snippets Ad-hoc development model Waterfall model – slow & unpredictable – heavy documentation effort – cost overruns & missed deadlines

10 My experience with huge SW projects (Waterfall model) Period of instability collisons during merge product delays Is it good enough to release?

11 Agile process

12 Agile methods Limited documentation Better tracking of current status Frequent releases Continuous interaction with the customer Several refinements: PP, SCRUM, …

13 A typical industry project in 1990 C standard library Home-grown library New code

14 Same industry project NOW C++/Java standard library Home-grown library Open source components Commercial libraries for industry segment IDE modules New code Follow-up Q: Any disadvantages?

15 Questions Expert programmer: what does it mean? Future projects: No code? Just integration? Knowledge of Java/C++/… down the drain?

16 Application Specific Programming M1M2M3 Intrepreter Mn script … …

17 Example: Casio FX100 calculator in PC LanguageSource CodeExecutable Size Assembly language ~40,000 ~10 Kbytes C/C++~4000~50 Kbytes Visual Basic< 1000~250 Kbytes

18 Cloud Computing SW bundles inefficient for small companies Too much IT equipment & staff overhead Cloud resource provider provides the SW over the web and stores data too – SaaS model Each client needs only web browser and internet access.

19 Analogy: making food Make Sambar from scratch Make Sambar using powder Make Maggie Noodles Microwave frozen sambar / Tetrapack Inefficient for singles – make food in one place & get it delivered?

20 Data Exchange A1 A3 A2 A4

21 Data Exchange Binary or text data  XML or JSON … Independent data checkers tools available. A1 A3 A2 A4

22 Software Outsourcing Goal: reduce cost Projects need to fit certain criteria – Bit formal & clear requirements – Interfaces well defined/understood – should be of reasonable size Not a good idea for small/poorly defined/time- critical/security-sensitive projects Opinion: may stay at current level or go down Industry not conducive for more outsourcing With increased cost, Indian SW companies under pressure

23 Design decisons Purchase modules or use open-source?.NET or Java?

24 Running time of a program? size of input (n) CPU speed memory size & speed actual processing, time complexity of algorithm compiler optimization, dev execution environment …

25 Compare these algorithms AlgorithmO(log n)O(n)O(n 2 )O(2 n ) When n goes up by 1 When n doubles

26 Time complexity – our goal

27 Running time improvements If a program takes 1 week to complete, how will you approach to reduce running time?

28 Software efficiency: Do we really care? Goal is to make software work & meet deadline for most industry projects. Let us consider a few examples: Game console: Algorithm takes longer to run  requires higher-end CPU to keep realism  higher price  product fails amid competition

29 Software Efficiency: Web server Consider 2 algorithms A1 and A2 that take 5 seconds & 20 seconds per transaction. web-user experience? web server capacity? A1A2 User1User2 Internet

30 Daily data crunching: What if it takes >1 day? initial setup loop – read one tuple – open db connection – send request to db – get response from db – close db post-processing Equation for running time = c 1. n + d 1 Time complexity is O(n)

31 Data crunching pseudocode initial setup open db connection loop – read one tuple – send request to db – get response from db close db post-processing Equation for running time = c 2. n + d 2 Time complexity is still O(n), but the constants are different. c 2 < c 1 d 2 > d 1

32 Wireless node capacity BHCA capacity: 10 lakhs calls per hour Each call requires (1 hour * 70%/(10 lakhs)) = 2.5 milliseconds. If that 2.5 msec becomes 3.0 msec due to additional processing, new capacity will be 10 * 2.5 = x * 3.0  x = 8.3 lakhs BHCA 17% capacity reduction

33 Data download & processing open web browser loop click & download next file process file done! Let us say both steps take 5 minutes each & we have 10 files to process. What is the total processing time? How can we optimize? Hint: download uses I/O and processing uses CPU.

34 Data download & processing open web browser loop click & download next file process file until all files are processed Let us say both steps take 5 minutes each & we have 10 files to process. What is the total processing time? > 10 * 10 = 100 minutes How can we optimize? Hint: download uses I/O and processing uses CPU. Real-world example? Making chappathis?

35 Data download & processing open web browser click & download next file loop click & start to download next file process previous file until all files are processed Download & processing in parallel. What is the total processing time now? > 5 * 10 = 50 minutes More complex algorithm 

36 A few more points … Standalone applications  Enterprise bundles Local SW installation  intranet based Build in-house  Buy & customize Heavy text based coding  visual programming (GUI builders & debuggers …) Desktops  Laptops + Smartphones

37 SW projects: Multi-dimensional problem Companies want to complete Software Projects with Smaller team Limited resources Higher quality Reduced cost On-time delivery This is what each project manager tries to do 

38 Smart-phone development My kids know/play games in Android phone For me, email, calendar and contacts are in sync with company data Question: can we do more with them? Industry trend is to port several meaningful business applications to smartphones. Example for cross-platform development

39 Game development Lot of interest in real-time action games Most games done in C/C++ in Los Angeles area Algorithm optimization at work!

40 Latest trends in CS education in USA Difficulty in attracting US students to CS Introduction to Programming : going visual – Alice, Scratch, GUI games, … Java dominates in CS1 & CS2 courses Industry projects in the final year Online courses becoming popular, augmenting education landscape Lots of online multimedia lectures in the web Game design programs & Smart-phone applications Augmenting open-source applications

41 Dallas-Ft. Worth metroplex

42 Advertisement: University of Texas at Dallas Erik Jonsson School of Engineering and Computer Science Computer Science: ~500 MS students and ~150 PhD students Surrounded by 100s of companies in Dallas- Fort Worth metroplex Students can get internships right after 2 semesters and continue studies in parallel Flyers available – see me after the lecture

43 Questions & Answers

44 Thanks for attending! Dr. Jeyakesavan Veerasamy jeyak7@gmail.com jeyv@utdallas.edu


Download ppt "Latest trends in Global Software Industry Dr. Jeyakesavan Veerasamy"

Similar presentations


Ads by Google