Software Development – Thoughts & observations 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.
Advanced Java and Android Introduction Prof. John Cole Senior Lecturer The University of Texas at Dallas.
Learning and Teaching Conference 2012 Skill integration for students through in-class feedback and continuous assessment. Konstantinos Dimopoulos City.
Training Practitioner Adjuncts: A Model for Increasing Educator Effectiveness Paul C. Jackson DM, PE Peg Jackson, DPA, CPCU.
Advanced Java Concepts Dr. Jeyakesavan Veerasamy
Software Engineering 1. Introduction 2. Course schedule.
Introduction to programming with Visual Basic.NET Dr. Marty Sirkin.
IS 421 Information Systems Management James Nowotarski 16 September 2002.
1 CMSC 132: Object-Oriented Programming II Software Development I Department of Computer Science University of Maryland, College Park.
Concordia University Department of Computer Science and Software Engineering Click to edit Master title style ADVANCED PROGRAMING PRACTICES Introduction.
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
Current trends in usage of Smart-phones in USA Dr. Jeyakesavan Veerasamy Director of Senior Design projects & Sr. Lecturer University of Texas at Dallas.
Research Scholars: Shaping your future Dr. Jeyakesavan Veerasamy University of Texas at Dallas
Latest trends in Global Software Industry Dr. Jeyakesavan Veerasamy
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
An “enjoyable” introduction to Programming using Khan Academy – Java Script Dr. Jeyakesavan Veerasamy CS faculty, The University of Texas at Dallas
Estimation Wrap-up CSE 403, Spring 2008, Alverson Spolsky.
Latest trends in Global Software Industry Dr. Jeyakesavan Veerasamy
CS110/CS119 Introduction to Computing (Java)
Introduction CSE 1310 – Introduction to Computers and Programming
Michael Burnside Blog: Software Quality Assurance, Quality Engineering, and Web and Mobile Test.
Final Year Projects Dr. Jeyakesavan Veerasamy Director of CS Senior Design Program University of Texas at Dallas, USA
CS426 Game Programming II Dan Fleck. Why games?  While the ideas in this course are demonstrated programming games, they are useful in all parts of computer.
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
Testing Challenges in an Agile Environment Biraj Nakarja Sogeti UK 28 th October 2009.
CS 350, slide set 6 M. Overstreet Old Dominion University Spring 2005.
Role of IT in management Dr. Jeyakesavan Veerasamy
Introduction CSE 1310 – Introduction to Computers and Programming Vassilis Athitsos University of Texas at Arlington 1.
Essays for TDT4235 Tor Stålhane IDI / NTNU. Intro The essay counts for 30 of the 100 points used to grade the students of this course The essay must be.
1 ECE 102 Engineering Computation Chapter 1 The Instructor and You Dr. Herbert G. Mayer, PSU Status 9/2/2015 For use at CCUT Fall 2015.
Game Programming in Java Dr. Jeyakesavan Veerasamy CS faculty, The University of Texas at Dallas Website:
B. Prabhakaran1 Multimedia Systems Textbook Any/Most Multimedia Related Books Reference Papers: Appropriate reference papers discussed in class from time.
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.
CIT312 – Introduction to Programming Dr. Catherine Dwyer Fall 2011.
Career Opportunities in Globalized Economy Dr. Jeyakesavan Veerasamy University of Texas at Dallas
Final Year Projects Dr. Jeyakesavan Veerasamy Director of CS Senior Design Program University of Texas at Dallas, USA
Final Year Projects Dr. Jeyakesavan Veerasamy Director of CS Senior Design Program University of Texas at Dallas, USA
CS 5150 Software Engineering Lecture 2 Software Processes 1.
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.
CS223: Software Engineering Lecture 16: The Agile Methodology.
Test Driven Development Introduction Issued date: 8/29/2007 Author: Nguyen Phuc Hai.
Introduction Requirements and the Software Lifecycle (3)
B. Prabhakaran1 Multimedia Systems Reference Text “Multimedia Database Management Systems” by B. Prabhakaran, Kluwer Academic Publishers. – Kluwer bought.
Word Guess Team (Team #4) October 8, Word Guess Team  Team Members  Chakib Kouhel:  Steve Mattingley:
CS50x Kansas City. Agenda Welcome! This is CS50x, Kansas City Edition Introduction to: LaunchCode CS50x Course Tools used in the course Programming How.
CS education: teaching computer science. Teaching programming Teaching computer science has become a huge industry: Huge job growth Not enough CS- trained.
Hire Talented Developers for Your Projects from Developers2Hire.
Introduction to CSCI 1311 Dr. Mark C. Lewis
Advanced Programing practices
An “enjoyable” introduction to Programming
Software What Is Software?
Introduction CSE 1310 – Introduction to Computers and Programming
CS & CS Capstone Project & Software Development Project
Quality Assurance in an Agile Development Team Michelle Wu 2018 PNSQC
COLLEGE OF SCIENCE AND TECHNOLOGY
Multimedia Systems Reference Text
SOFTWARE ENGINEERING CS-5337: Introduction
Presentation transcript:

Software Development – Thoughts & observations Dr. Jeyakesavan Veerasamy

Agenda Introduce myself Historical Snippets Concepts Current trends 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

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

Historical Snippets 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?

Documentation: little vs heavy

flowchart vs. pseudocode

Agile process

Agile methods Limited documentation Better tracking of current status Frequent releases Continuous interaction with the customer

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? Follow-up Q: How one becomes experienced programmer?

Future projects No code? Just integration? Knowledge of Java/C++/… down the drain?

Expert programmer: what does it mean?

Visual Programming

Version control system

Testing 100% testing possible? 100% testing: is it needed? Code coverage tools Automated sanity testing

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

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: <50% of projects are outsourced Industry not conducive for more outsourcing

Software efficiency: Do we really care? Goal is to make software work & meet deadline for most industry projects. Game console: Algorithm takes longer to run  requires higher-end CPU to keep realism  higher price  product fails amid competition Web-server: Algorithm takes longer to run (consider 5 seconds vs. 20 seconds)  tests web-users’ patience & requires more web server capacity. Daily data crunching: What if it takes >1 day?

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 

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 serious Game design programs on the rise – lot of focus on efficiency unlike business applications Smart-phone applications (iPhone & Android) Augmenting open-source applications

Summary: Trends in SW development Code less & integrate more… More use of commercial components/libraries More use of open-source projects Small team & complex projects More acceptance of “Agile process” More automated test cases Focus on Game development & smart-phone applications

Closing Thoughts Software will continue to be growth area More exciting things yet to come Put your brain and passion to work! Do not get scared by all the jargons/terms – basics are simple beneath the complex terms! Try to enjoy the job & live a balanced life. Keep emotions away from the job.

Questions & Answers

Thanks for attending! Dr. Jeyakesavan Veerasamy