Latest trends in Global Software Industry Dr. Jeyakesavan Veerasamy

Slides:



Advertisements
Similar presentations
Complex Systems Applications Dr. Jeyakesvan Veerasamy The University of Texas at Dallas, USA Good morning!
Advertisements

Evolution of Telecom Software Perspectives from a Software Engineer Dr. Jey Veerasamy.
Higher studies, Jobs & Trends in Computer Science in USA Dr. Jeyakesavan Veerasamy
Welcome to C++ Programming Workshop at The University of Texas at Dallas Presented by John Cole July 8-12, 2013.
Learning and Teaching Conference 2012 Skill integration for students through in-class feedback and continuous assessment. Konstantinos Dimopoulos City.
Advanced Java Concepts Dr. Jeyakesavan Veerasamy
Introduction to programming with Visual Basic.NET Dr. Marty Sirkin.
1 CMSC 132: Object-Oriented Programming II Software Development I Department of Computer Science University of Maryland, College Park.
Systems Programming Course Gustavo Rodriguez-Rivera.
C++ vs. Java: Similiarities & Differences Dr. Jeyakesavan Veerasamy Director of CS UTDesign program & CS Teaching Faculty University.
Final year projects, Higher studies, Jobs & Software Trends in USA Dr. Jeyakesavan Veerasamy
Business of Online Education in USA Dr. Jeyakesavan Veerasamy
Dr. V. Jeyakesavan: Academia, Industry & Personal Dad was a school teacher B.E. (ECE) in CEG Guindy, Anna University – UNIX System Software Engineer,
Aiding intelligent next-gen systems with mobile applications Dr. Jeyakesavan Veerasamy University of Texas at Dallas Note: Almost all.
Online Education is the future? Dr. Jeyakesavan Veerasamy The University of Texas at Dallas, USA.
Future of Online Education in USA
Introduction to AppInventor Dr. José M. Reyes Álamo.
Embedded Programming and Robotics Introduction and Overview Presented by John Cole Senior Lecturer in Computer Science The University of Texas at Dallas,
Riyadh Philanthropic Society For Science Prince Sultan College For Woman Dept. of Computer & Information Sciences CS 251 Introduction to Computer Organization.
Current trends in usage of Smart-phones in USA Dr. Jeyakesavan Veerasamy Director of Senior Design projects & Sr. Lecturer University of Texas at Dallas.
Software Development – Thoughts & observations Dr. Jeyakesavan Veerasamy
Research Scholars: Shaping your future Dr. Jeyakesavan Veerasamy University of Texas at Dallas
Welcome to KGiSL Institute of Technology (KITE)! Dr. V. Jeyakesavan University of Texas at Dallas, USA
Hello! Dr. Jeyakesavan Veerasamy CS faculty, The University of Texas at Dallas Website:
Virtual learning for Management education Dr. Jeyakesavan Veerasamy
Life as Software Engineer Dr. Jeyakesavan Veerasamy University of Texas at Dallas
Client/Server Architectures
Estimation Wrap-up CSE 403, Spring 2008, Alverson Spolsky.
Sparky + The Next Generation College Mobile Solution Ruoyang Zhang ENG 302 Class Project All rights reserved 08/06/2014.
Software Reuse Course: # The Johns-Hopkins University Montgomery County Campus Fall 2000 Lecture # 1 - September 7, 2004.
Ch 1. Introduction Dr. Bernard Chen Ph.D. University of Central Arkansas Spring 2012.
Latest trends in Global Software Industry Dr. Jeyakesavan Veerasamy
Introduction COMP104: Fundamentals and Methodology.
CS110/CS119 Introduction to Computing (Java)
Introduction CSE 1310 – Introduction to Computers and Programming
Overview of SQL Server Alka Arora.
CS 3305 Course Overview. Introduction r Instructor: Dr Hanan Lutfiyya r Office: MC 355 r hanan at csd dot uwo ca r Office Hours: m Drop-by m Appointment.
Final Year Projects Dr. Jeyakesavan Veerasamy Director of CS Senior Design Program University of Texas at Dallas, USA
Introduction CSE 1310 – Introduction to Computers and Programming Vassilis Athitsos University of Texas at Arlington 1.
Software Industry – Historical View Dr. Jeyakesavan Veerasamy University of Texas at Dallas
MIS3300_Team8 Service Aron Allen Angela Chong Cameron Sutherland Edment Thai Nakyung Kim.
Role of IT in management Dr. Jeyakesavan Veerasamy
Introduction CSE 1310 – Introduction to Computers and Programming Vassilis Athitsos University of Texas at Arlington 1.
Game Programming in Java Dr. Jeyakesavan Veerasamy CS faculty, The University of Texas at Dallas Website:
Training & Support for End Users of Cisco Unified Communications Agenda:  Flash Demo  VoIPT on the Phone  Modules / Pricing  Installation Process.
The Erik Jonsson School of Engineering and Computer Science Dissertation and beyond: Ph.D. in CS/SE at UTD Dr. Balaji Raghavachari Department of Computer.
Final Year Projects Dr. Jeyakesavan Veerasamy Director of CS Senior Design Program University of Texas at Dallas, USA
Stanford GSB High Tech Club Tech 101 – Session 1 Introduction to Software, Distributed Architectures, and ASPs Presented by Shawn Carolan Former Manager.
Final Year Projects Dr. Jeyakesavan Veerasamy Director of CS Senior Design Program University of Texas at Dallas, USA
Definition of Done in the Age of DevOps Intel Agile and Lean Development Conference Piotr Żmijewski May 22 nd, 2014.
Mohit Anand, Software Engineer Adobe 1 Selecting GUI Automation Testing Tool for Mobile Domain.
Passionate Programming & IT trends Dr. Jeyakeavan Veerasamy The University of Texas at Dallas, USA Web:
Introduction CSE 1310 – Introduction to Computers and Programming Vassilis Athitsos University of Texas at Arlington 1.
Electronic Commerce Semester 1 Term 1 Lecture 7. Introduction to the Web The Internet supports a variety of important tools, such as file transfer, electronic.
If you have a transaction processing system, John Meisenbacher
Developing SQL/Server database in Visual Studio Introducing SQL /Server Data Tools Peter Lu.Net Practices Director Principle Architect Nexient March 19.
CS50x Kansas City. Agenda Welcome! This is CS50x, Kansas City Edition Introduction to: LaunchCode CS50x Course Tools used in the course Programming How.
Programming 2 Intro to Java Machine code Assembly languages Fortran Basic Pascal Scheme CC++ Java LISP Smalltalk Smalltalk-80.
T Iteration Demo LicenseChecker I2 Iteration
Advanced Higher Computing Science The Project. Introduction Worth 60% of the total marks for the course Must include: An appropriate interface using input.
Introduction to CSCI 1311 Dr. Mark C. Lewis
Advanced Higher Computing Science
Fundamentals of Information Systems, Sixth Edition
MASS Java Documentation, Verification, and Testing
Netscape Application Server
Introduction CSE 1310 – Introduction to Computers and Programming
Programming COMP104: Fundamentals and Methodology Introduction.
Introduction to AppInventor
Java Programming Introduction
Snippet Engine as a Database Server
Presentation transcript:

Latest trends in Global Software Industry Dr. Jeyakesavan Veerasamy

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

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

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

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

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

Fun way to learn programming & OOP Alice, a visual programming language Download from 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

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

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

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

Agile process

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

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

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?

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

Application Specific Programming M1M2M3 Intrepreter Mn script … …

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

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.

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?

Data Exchange A1 A3 A2 A4

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

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

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

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 …

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

Time complexity – our goal

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

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

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

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)

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

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

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.

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?

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 

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

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 

Smart-phone development My kids know/play games in Android phone For me, , 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

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

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

Dallas-Ft. Worth metroplex

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

Questions & Answers

Thanks for attending! Dr. Jeyakesavan Veerasamy