Computing Science Education An Industry Perspective Mukul Jain MTree Software July 9, 2015
Current Context World is becoming Software Defined Software creates the reality around us One Digital Networked world Winner takes all Network effect favors dominance Agility is critical Rapid pace of new knowledge Acquiring knowledge vs Applying knowledge
Skills for Effective Knowledge Application Ability to write clean code Ability to write scalable code Ability to review and enhance code written by others Ability to decompose around logical boundaries Ability to elicit user needs and requirements comprehensively Ability to debug/troubleshoot smartly Soft Skills Enhancing team synergy Presentation and Writing
Few thoughts on CS education Proactive mechanism to revise curriculum Stakeholder feedback is critical Academia collaboration for shared learning Specialised Tracks at undergrad level to better align with future careers Research – career in Research/Academia Technology – career in IT centric industries Applications – career in other industries Increase use of technology in education Knowledge repositories Enhanced collaboration between peers and across levels
Few thoughts.. More intense hands-on exposure Incorporate Case Study approach Few larger projects combining multiple areas vs many small projects focussed on one area Opportunity for field/end user interaction Fundamental areas that need attention Event driven programming Human computer interaction Design thinking Embed Open Source Software in the curricula more vigorously and keep it current as OSS is evolving rapidly Evaluation system to stress on How rather than What
In Summary Given the ever increasing pace of Computing Science evolution, educators need to Enhance the engagement with stakeholders to understand the needs/trends and gaps Re-prioritize the Learning Objectives Establish mechanisms for Faculty learning/augmentation to keep pace with state-of-the-art