Copyright © 2015 Curt Hill Software Engineering Education What do new Software Engineers need to know?

Slides:



Advertisements
Similar presentations
New Jersey DEPARTMENT OF EDUCATION August 6, 2014 New Jersey Core Curriculum Content Standards: Technology Standards 8.1 and 8.2.
Advertisements

Internship Program Gaining Skills, Energy, and Creativity.
2 The key challenge to maintain a robust petroleum industry is ensuring an adequate supply of well trained professionals now and in future The development.
City Planner Career Information Copyright Texas Education Agency (TEA)
R R R CSE870: Advanced Software Engineering (Cheng): Intro to Software Engineering1 Advanced Software Engineering Dr. Cheng Overview of Software Engineering.
HENRIK BÆRBAK CHRISTENSEN ASSOCIATE PROFESSOR AARHUS UNIVERSITY DEPARTMENT OF COMPUTER SCIENCE 1 Experimental Software Architecture Kandidat orientering.
NJIT 1 On to Object Design Chapter 14 Applying UML and Patterns.
Copyright © 2005, GemStone Systems Inc. All Rights Reserved. A Capstone with GemStone David Whitlock April 18, 2005.
General Engineering Technology (Electro-mechanical) Fasten your seatbelts! You are about to enter the GET Zone!
Copyright © 2009 On The Edge Software Consulting Advanced Enterprise Java Instructional Plan Presentation Tier Design using an Event Driven Design Methodology.
 Even if you don’t know what you want to do you probably expect to make a lot of money or travel the world.  Teenagers have the following expectations.
Appendix 2 Automated Tools for Systems Development © 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers: Unit 2 Slide 1.
Encouraging girls to choose Advanced Level Science and Technology studies Dr. Ronit Ashkenazy Pedagogical manager Girls To Science Technology Engineering.
EECE 310 Software Engineering Lecture 0: Course Orientation.
Career Opportunities in Information Technology There are four main categories of IT jobs, grouped by the main focus of the job: Sales and support Software.
BIF703 System Analysis & Design (An Introduction) Text Coverage (Bioinformatics: Software Engineering) Pages
Dr. Karl Abrahamson, Department Chair Dr. Amy Shannon, Academic Advisor.
AET 520 University of Phoenix February 20, 2010 Presentation by Mark K. Reha Advanced Enterprise Java Training Designing Business Service Interfaces Instruction.
Information Technology Programs. Why major in IT? “...Total US IT employment is predicted to double in this decade. Similarly, the security of computer.
Chapter 11: Software Prototyping Omar Meqdadi SE 273 Lecture 11 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
CS 498 Senior Seminar Students will research a current topic in computer science, write a paper on that topic, and make an oral presentation.
Computer Science : The Alternative View  Assumptions Academic Progress is all important. Academic Progress is all important. Details of courses, modules.
Copyright © 2015 Curt Hill Tools What does an EA team need?
Think… Heavy Duty Aftermarket When thinking about the heavy duty industry, many only consider the service aspect. The technical disciplines can be a gateway.
Visual Linker Prototype presentation.
Copyright © 2013 Curt Hill UML Unified Modeling Language.
CASE Tools Union Palenshus. In the early days… ► Software engineering tools consisted solely of translators, compilers, assemblers, linkers, loaders,
Computer Information Systems Jennings A. Jones College of Business Middle Tennessee State University.
Career in technology By Jeff Ellerbeck Jan 16 2oo5.
Why You Should All Become Computer Engineers ECE 200 (Fall 2015) Saurabh Bagchi School of Electrical and Computer Engineering Purdue University.
Futures In I.T. Careers, Paths, Stereotypes and Myths.
Software Prototyping Rapid software development to validate requirements.
Gerhard Klimeck High Performance Computing Group Software Development at Academia, Government Labs, Industry John Barker Agenda/Questions: How can the.
Software Engineering Emphasis for Engineering Computing Courses William Hankley Computing & Information Sciences Kansas State University.
Connecting with Computer Science2 Objectives Learn how software engineering is used to create applications Learn some of the different software engineering.
Career and Life Skills Career Pathways By Kevin Ickes.
Demonstrate employability skills required by business and industry.  The following elements should be integrated throughout the content of this course.
Copyright 2002 Prentice-Hall, Inc. Chapter 4 Automated Tools for Systems Development 4.1 Modern Systems Analysis and Design.
Project Summary My project is a training tool designed to help new programming students learn to code. The project will measure the student's programming.
Summer Project Marama2008 By Robert and Johnson. What is Marama? Marama is an Eclipses based toolset permits rapid specification of notational elements,
Software Development Introduction
COMPUTER ENGINEER Computer engineering is a discipline that integrates several fields of electrical engineering and computer science required to develop.
CASE Tools CSC 532 : Advance Topics CSC 532 : Advance Topics Software Engineering Software Engineering Dr. box Dr. box Moayad Almohaishi Moayad Almohaishi.
Ganga/Dirac Data Management meeting October 2003 Gennady Kuznetsov Production Manager Tools and Ganga (New Architecture)
Facts Every Student and Parent Should Know about the Importance of Business Education Courses.
How PHP is Different From Other Programming Language
ENGLISH FOR PROFESSIONAL COMMUNICATION LU2: DESCRIBING JOB RESPONSIBILITIES Mdm Rosnah Hj Mustafa 1.
Programming 2 Intro to Java Machine code Assembly languages Fortran Basic Pascal Scheme CC++ Java LISP Smalltalk Smalltalk-80.
1 The Software Engineering Education at CSULA Jiang Guo Jose M. Macias June 4, 2010.
WELCOME TO THE ARE YOU IN? HI-TECH REVOLUTION ARE YOU IN?
My career compas to becoming a mechanic. Brief description of a Mechanics Job  As a mechanic, I would be repairing and maintaining mechanical equipment.
Advanced Software Engineering Dr. Cheng
Advanced Programing practices
Developing Software Security Industry Tools
Software Prototyping.
The Effects on Development
Basic Requirements for an Engineer
Technology, Careers, and Job Hunting
General Computer Applications by Barbara Teterycz
VCT 236 Competitive Success-- snaptutorial.com
VCT 236 Education for Service-- snaptutorial.com
VCT 236 Teaching Effectively-- snaptutorial.com
Information technology
Careers in Engineering
EECE 310 Software Engineering
The Rapid Application Development Paradigm
Compilers, Make and SubVersion
Computing and Mathematics
The University of Adelaide, School of Computer Science
Presentation transcript:

Copyright © 2015 Curt Hill Software Engineering Education What do new Software Engineers need to know?

Stroustrup’s Lament Computer Science is not fulfilling the needs of the industry Many graduates have no training in software development –They are learning this on the job For many “programming” has become a strange combination of unprincipled hacking and invoking other people’s libraries Copyright © 2015 Curt Hill

Pyramid of SE Skills Copyright © 2015 Curt Hill Programming and Data Structures Technology Portfolio Code Development Advanced

Programming The intro class through the data structures class Should instill confidence in their programming skills Should also develop a sense of belonging –“I chose the right field” Result is the ability to develop small programs –Several hundred lines of code Copyright © 2015 Curt Hill

More is required Technologies for development Code development skills The emphasis should be on the code development skills Copyright © 2015 Curt Hill

Technology Portfolio Languages, Editors, IDEs GUI development frameworks Databases Testing tools Modeling (UML, XML) Make, Version control Parser generation Documentation tools Other useful technologies Copyright © 2015 Curt Hill

Technology Problems The technologies change rapidly Exposure to one of each is needed The students need to be able to generalize from one example of the technology to any other Copyright © 2015 Curt Hill

Code Development Skills Small code is good for programming skills Not so much for code development skills Size should be thousands of lines –That is the size of real world projects –We are much more likely to maintain than to write Realistic quality –1 to 3 faults per KLOC Copyright © 2015 Curt Hill

Finally To properly do this requires concentration Packing it into a BA/BS can be challenging The ability to learn new things will keep the person alive in a career after their favorite thing becomes obsolete Copyright © 2015 Curt Hill