11 computing in the engineering curriculum early thoughts on the next wave of reform in engineering...

31
1 Computing in the Engineering Curriculum Early thoughts on the next wave of reform in Engineering Education Moshe Kam Comments to the Mid Atlantic ECEDHA Meeting Temple University, Philadelphia 15 September 2012

Upload: francis-britton-sanders

Post on 27-Dec-2015

216 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 11 Computing in the Engineering Curriculum Early thoughts on the next wave of reform in Engineering Education Moshe Kam Comments to the Mid Atlantic ECEDHA

11

Computing in the Engineering Curriculum

Early thoughts on the next wave of reform in Engineering Education

Moshe Kam

Comments to the Mid Atlantic ECEDHA Meeting

Temple University, Philadelphia15 September 2012

Page 2: 11 Computing in the Engineering Curriculum Early thoughts on the next wave of reform in Engineering Education Moshe Kam Comments to the Mid Atlantic ECEDHA

2

Taking stock of some trends in research and education in ECE…

In the course of long term planning at Drexel University, a few observations have emerged …

1. Increased activity at the intersection of Electrical Engineering, Computer Engineering, Computer Science and the Life Sciences

2. The boundary between Computer Engineering and Computer Science is blurrier than ever

3. We experience a rise in interest in Information Assurance, Cyber Security, Big Data, and Cloud Computing

Cloud Computing marred by Standards Wars

4. The role of computing in practice of engineering is qualitatively different than it is taught in engineering curricula

5. Increasing uncertainty regarding alternative energy research in the US6. Increasing threat to Smart Grid research on account of slow pace of

standardization 7…

Page 3: 11 Computing in the Engineering Curriculum Early thoughts on the next wave of reform in Engineering Education Moshe Kam Comments to the Mid Atlantic ECEDHA

3

Taking stock of some trends in research and education in ECE…

In the course of long term planning at Drexel University, a few observations have emerged …

1. Increased activity at the intersection of Electrical Engineering, Computer Engineering, Computer Science and the Life Sciences

2. The boundary between Computer Engineering and Computer Science is blurrier than ever

3. We experience a rise in interest in Information Assurance, Cyber Security, Big Data, and Cloud Computing

Cloud Computing marred by Standards Wars

4. The role of computing in practice of engineering is qualitatively different than it is taught in engineering curricula

5. Increasing uncertainty regarding alternative energy research in the US6. Increasing threat to Smart Grid research on account of slow pace of

standardization 7…

Page 4: 11 Computing in the Engineering Curriculum Early thoughts on the next wave of reform in Engineering Education Moshe Kam Comments to the Mid Atlantic ECEDHA

4

Computational thinking is influencing research and practice in nearly all disciplines

• Biology: from sequencing algorithm for the human genome to abstractions representing dynamic processes – from the cell cycle to protein folding – Emergence of Computational Biology and Bio-Informatics

• Economics: e.g., computational microeconomics– with applications such as advertisement placement, online

auctions, reputation services and even finding optimal donors for n-way kidney exchange

J. M. Wing (2008)

Page 5: 11 Computing in the Engineering Curriculum Early thoughts on the next wave of reform in Engineering Education Moshe Kam Comments to the Mid Atlantic ECEDHA

5

Computational thinking is influencing research and practice in nearly all disciplines

• Statistics: – machine learning– automation of Bayesian methods– use of probabilistic graphical models to identify patterns and

anomalies in large datasets• astronomical maps, functional magnetic resonance imaging scans, credit

card purchases and grocery store receipts

• Electrical Engineering: – Signal processing, control and navigation, communications,

networking, visualization, vehicular technology, detection and estimation, circuit design, computer hardware design, electromagnetic system design…

J. M. Wing (2008)

Page 6: 11 Computing in the Engineering Curriculum Early thoughts on the next wave of reform in Engineering Education Moshe Kam Comments to the Mid Atlantic ECEDHA

6

Observations “From the Field” (1)

• We have been looking for a few years at our graduates in various work environments– Aerospace Corporations, Instrumentation and Control,

Telecommunication, Military Communications, Networking,

• The anecdotal evidence is that the traditional engineering design process that we teach is superseded by a process that relies much more heavily on:– software libraries– computational tools– symbolic computation – programming for prototype and for production

Page 7: 11 Computing in the Engineering Curriculum Early thoughts on the next wave of reform in Engineering Education Moshe Kam Comments to the Mid Atlantic ECEDHA

7

Observations “From the Field” (2)

• Proficiency in popular software libraries and programming languages has become a pre-requisite for employment of our graduates – But this is not how we educate or inculcate “Engineering”

• Many of our engineering graduates are actually “computer scientists with an application”– Except that we have not trained them for this role

• Many of our engineering graduates report on challenges in information assurance and cyber-security– Subjects largely absent from most engineering curricula

Page 8: 11 Computing in the Engineering Curriculum Early thoughts on the next wave of reform in Engineering Education Moshe Kam Comments to the Mid Atlantic ECEDHA

8

Observations “From the Field” (3)

• Many of our engineering graduates report “surprise” at issues of software and algorithmic complexity

• Failure of large software based projects is increasingly common (and expensive)– These failures are not limited to “professional Software” issues

• Failure of software-based systems, including public utilities, due to cyber attacks is increasingly common, costly, and threatening – These failures are not limited to “professional Software” issues

Page 9: 11 Computing in the Engineering Curriculum Early thoughts on the next wave of reform in Engineering Education Moshe Kam Comments to the Mid Atlantic ECEDHA

9

The process of solving engineering problems from first principles (Røyrvik, 2002)

(1) Stating the problem in mathematical terms; typically developing a set of algebraic or differential equations that model the problem

(2) Solving the problem using symbols for variables; (3) Substituting numerical values for symbols in the solution that

was obtained in Step (2); and (4) Validating the outcome and interpreting the results.

• Steps (2) and (3) are replaced in many instances by developing numerical solutions for a set of fixed parameter values, using numeric computational tools.

• Steps (1) and (2) are performed in many instances through Symbolic Computation

Page 10: 11 Computing in the Engineering Curriculum Early thoughts on the next wave of reform in Engineering Education Moshe Kam Comments to the Mid Atlantic ECEDHA

10

The process of solving engineering problems from first principles (Røyrvik, 2002)

(1) Stating the problem in mathematical terms; typically developing a set of algebraic or differential equations that model the problem

(2) Solving the problem using symbols for variables; (3) Substituting numerical values for symbols in the solution that

was obtained in Step (2); and (4) Validating the outcome and interpreting the results.

• Steps (2) and (3) are replaced in many instances by developing numerical solutions for a set of fixed parameter values, using numeric computational tools.

• Steps (1) and (2) are performed in many instances through Symbolic Computation

Most practitioners are “afraid” of this step

They try to replace this process by a canned formula from a textbook

Increasingly they try to use modeling software and symbolic computation libraries

Page 11: 11 Computing in the Engineering Curriculum Early thoughts on the next wave of reform in Engineering Education Moshe Kam Comments to the Mid Atlantic ECEDHA

11

The process of solving engineering problems from first principles (Røyrvik, 2002)

(1) Stating the problem in mathematical terms; typically developing a set of algebraic or differential equations that model the problem

(2) Solving the problem using symbols for variables; (3) Substituting numerical values for symbols in the solution that

was obtained in Step (2); and (4) Validating the outcome and interpreting the results.

• Steps (2) and (3) are replaced in many instances by developing numerical solutions for a set of fixed parameter values, using numeric computational tools.

• Steps (1) and (2) are performed in many instances through Symbolic Computation

Most Engineering curricula tend to recognize this

Page 12: 11 Computing in the Engineering Curriculum Early thoughts on the next wave of reform in Engineering Education Moshe Kam Comments to the Mid Atlantic ECEDHA

12

The process of solving engineering problems from first principles (Røyrvik, 2002)

(1) Stating the problem in mathematical terms; typically developing a set of algebraic or differential equations that model the problem

(2) Solving the problem using symbols for variables; (3) Substituting numerical values for symbols in the solution that

was obtained in Step (2); and (4) Validating the outcome and interpreting the results.

• Steps (2) and (3) are replaced in many instances by developing numerical solutions for a set of fixed parameter values, using numeric computational tools.

• Steps (1) and (2) are performed in many instances through Symbolic Computation

Most Engineering curricula tend to ignore this reality

Page 13: 11 Computing in the Engineering Curriculum Early thoughts on the next wave of reform in Engineering Education Moshe Kam Comments to the Mid Atlantic ECEDHA

13

The process of solving engineering problems from first principles (Røyrvik, 2002)

(1) Stating the problem in mathematical terms; typically developing a set of algebraic or differential equations that model the problem

(2) Solving the problem using symbols for variables; (3) Substituting numerical values for symbols in the solution that

was obtained in Step (2); and (4) Validating the outcome and interpreting the results.

• Steps (2) and (3) are replaced in many instances by developing numerical solutions for a set of fixed parameter values, using numeric computational tools.

• Steps (1) and (2) are performed in many instances through Symbolic computation

Most Engineering curricula tend to ignore this step

Page 14: 11 Computing in the Engineering Curriculum Early thoughts on the next wave of reform in Engineering Education Moshe Kam Comments to the Mid Atlantic ECEDHA

14

What we tend to convey…

• Many textbooks in engineering still consider computational considerations an afterthought– First we focus on the “important principles,” then ask what are the

computational implications • If at all …

• Many textbooks on software and computing (and laboratory exercises and homework) still consider security an afterthought– First we will solve the problem, then we will think about security of

the code/system…

• On top of it, we teach engineers very little computing– And we teach computer engineers very little security…

Page 15: 11 Computing in the Engineering Curriculum Early thoughts on the next wave of reform in Engineering Education Moshe Kam Comments to the Mid Atlantic ECEDHA

15

Computing in the Electrical Engineering Curriculum (example)

– Engineering Computations (1st year)– Learn to program in a basic programming language (C++)– Learn Excel as an engineering applications tool– Learn to program in an engineering applications language

(MatLab)– Learn several numerical techniques used to solve engineering

problems

– Introduction to Computer Engineering (2nd year)– Knowledge of binary systems and binary arithmetic– Ability to analyze combinational circuits– Ability to design combinational circuits– Ability to analyze sequential circuits– Ability to design sequential circuits– Ability to write assembly language programs

Page 16: 11 Computing in the Engineering Curriculum Early thoughts on the next wave of reform in Engineering Education Moshe Kam Comments to the Mid Atlantic ECEDHA

16

“Radical” Views on the Role of CS in Education

• Alan Perlis (1961): “computer science should be considered part of a liberal education… everyone should learn to program.”

• M. Mitchell Waldrop (2001): “programming is a fundamental intellectual skill, like mathematics.”

• Guzdial and Soloway (2003): “Computer Science is more important than calculus”

Page 17: 11 Computing in the Engineering Curriculum Early thoughts on the next wave of reform in Engineering Education Moshe Kam Comments to the Mid Atlantic ECEDHA

17

The CS “Argument”• Computers “will participate in almost every intellectual

transaction that goes on in the university”

• Calculus is generally considered part of a liberal education—truly educated people know something significant about calculus

• Calculus is the study of rates, and rates are important to many fields

• Computer Science is about process, its specification, its execution, its composition, and its limitations. And process is important to everybody.

Page 18: 11 Computing in the Engineering Curriculum Early thoughts on the next wave of reform in Engineering Education Moshe Kam Comments to the Mid Atlantic ECEDHA

18

What kind of computing tasks do engineers perform on the job?

• Many engineers are employed as software developers– Even when their titles do not reflect this reality– This is prevalent in several engineering disciplines

• Most notably it is increasing in Mechanical Engineers

• Many more engineers are “tool builders”– making extensive use of libraries and external modules (and re-used

code)– They will never write a program to perform sorting…

• Must we teach bubble sort and quicksort and heapsort to make the point that you can perform sorting inefficiently and slowly or elegantly and quickly?

• Can’t we use for example audio and video processing, using existing libraries, to make the same point?

Guzdial and Soloway (2003)

Page 19: 11 Computing in the Engineering Curriculum Early thoughts on the next wave of reform in Engineering Education Moshe Kam Comments to the Mid Atlantic ECEDHA

19

Opportunities for Alternative Introduction to Computing

• Very wide range of and references to real applications– Tasks in manipulation and filtering of speech and video – Tasks in 3D visualization

• Transcends many engineering and non-engineering disciplines

– Control of simple robots – Solving problems in Calculus and Differential Equations

• Including the increasingly important introduction to symbolic computation

– E.g. Calculus and Analysis with Wolfram Alpha

– Using the increasingly available personal computing devices to demonstrate the power and principles of computing

Guzdial and Soloway (2003)

Page 20: 11 Computing in the Engineering Curriculum Early thoughts on the next wave of reform in Engineering Education Moshe Kam Comments to the Mid Atlantic ECEDHA

20

Opportunities for Alternative Introduction to Computing

• Very wide range of and references to real applications– Tasks in manipulation and filtering of speech and video – Tasks in 3D visualization

• Transcends many engineering and non-engineering disciplines

– Control of simple robots – Solving problems in Calculus and Differential Equations

• Including the increasingly important introduction to symbolic computation

– E.g. Calculus and Analysis with Wolfram Alpha

– Using the increasingly available personal computing devices to demonstrate the power and principles of computing

Guzdial and Soloway (2003)

Page 21: 11 Computing in the Engineering Curriculum Early thoughts on the next wave of reform in Engineering Education Moshe Kam Comments to the Mid Atlantic ECEDHA

21

The Art and Science of Using Software LibrariesOr: what we do not teach our students

• How to select?– Including comparison to alternatives

• How to identify and characterize input, output and basic process?

• How to understand resource requirements, running time, methodology, and accuracy?

• How to test? • How to assess plausibility and accuracy of results?

Page 22: 11 Computing in the Engineering Curriculum Early thoughts on the next wave of reform in Engineering Education Moshe Kam Comments to the Mid Atlantic ECEDHA

22

A Portrait of Computing

Denning (2004)

Page 23: 11 Computing in the Engineering Curriculum Early thoughts on the next wave of reform in Engineering Education Moshe Kam Comments to the Mid Atlantic ECEDHA

23

A Portrait of Computing

Denning (2004)

Symbolic Computation

Page 24: 11 Computing in the Engineering Curriculum Early thoughts on the next wave of reform in Engineering Education Moshe Kam Comments to the Mid Atlantic ECEDHA

24Denning (2004)

“Windows of Computing Mechanics”

Page 25: 11 Computing in the Engineering Curriculum Early thoughts on the next wave of reform in Engineering Education Moshe Kam Comments to the Mid Atlantic ECEDHA

25

Key Elements (1)

Computation What can be computed and how; limits of computing

Algorithm, data structure, automata, languages, Turing machine, universal computer, Turing complexity, Chaitin complexity, self reference, approximations, heuristics, non-computability, translations, compilations, physical realizations

Communications Sending messages from one point to another.

Data transmission, Shannon entropy, encoding to medium, channel capacity, noise suppression, error correcting codes, end-to-end-error correction, Huffman and Reed-Solomon codes, file compression, cryptography, packet networking

Denning (2004)

Page 26: 11 Computing in the Engineering Curriculum Early thoughts on the next wave of reform in Engineering Education Moshe Kam Comments to the Mid Atlantic ECEDHA

26

Key Elements (2)

Coordination Multiple entities cooperating toward a single result.

Human-to-human (action loops, workflows as supported by communicating computers), human-computer (interface, input, output, response time, data visualization); computer-computer (concurrency control, races, synchronization, deadlock, serializability, atomic actions)

Automation Performing cognitive tasks by computer.

Simulation and machine performance of cognitive tasks, philosophical distinctions about automation, expertise and expert systems, enhancement of intelligence, Turing tests, machine learning and recognition, bionics

Denning (2004)

Page 27: 11 Computing in the Engineering Curriculum Early thoughts on the next wave of reform in Engineering Education Moshe Kam Comments to the Mid Atlantic ECEDHA

27

Key Elements (3)

Recollection Storing and retrieving information

Hierarchies of storage, locality of reference, caching, address space and mapping, bindings, naming, sharing, thrashing, retrieval by name, retrieval by content

Denning (2004)

Page 28: 11 Computing in the Engineering Curriculum Early thoughts on the next wave of reform in Engineering Education Moshe Kam Comments to the Mid Atlantic ECEDHA

28

Questions we need to address (1)• The overarching question is how to modify the way we

educate engineers to take into account the qualitative change in the role of computing in engineering practice?– Notice that we did not ask whether it should be done

• Identify the minimum set that would be sufficient for entry-level practice in engineering– Principles (Design and Mechanics), Practices, Core Technologies

• Identify the technologies and tools we would use to demonstrate and experiment with the elements of computing

Page 29: 11 Computing in the Engineering Curriculum Early thoughts on the next wave of reform in Engineering Education Moshe Kam Comments to the Mid Atlantic ECEDHA

29

Questions we need to address (2)• How do we imbed computing issues in our traditional delivery

of “traditional” topics?

• What does the enhanced emphasis on computing in the curriculum replace or displace in the existing curriculum?

Page 30: 11 Computing in the Engineering Curriculum Early thoughts on the next wave of reform in Engineering Education Moshe Kam Comments to the Mid Atlantic ECEDHA

30

References• Pramod Abichandani, Richard Primerano, and Moshe Kam. 2010. Symbolic Scientific

Software Skills for Engineering Students. 2010 IEEE Transforming Engineering Education: Creating Interdisciplinary Skills for Complex Global Environments. Dublin, Ireland (6-9 April 2010)

• Avi Cohen and Bruria Haberman. 2007. Computer science: a language of technology. SIGCSE Bull. 39, 4 (December 2007), 65-69.

• Peter J. Denning. Great Principles in Computing Curricula. ACM SIGCSE Bulletin, 2004.

• Mark Guzdial and Elliot Soloway. 2003. Computer science is more important than calculus: the challenge of living up to our potential. SIGCSE Bull. 35, 2 (June 2003), 5-8.

• Ola Røyrvik. 2002. Teaching Electrical Engineering using Maple. International Journal of Electrical Engineering Education. 39, 4 (October 2002)

• M. Mitchell Waldrop. 2001.The Dream Machine. Viking (2001)

• J. M. Wing. Computational thinking and thinking about computing. 2008. Phil. Trans. R. Soc. A, 28 October 2008, vol. 366 no. 1881, 3717-3725

Page 31: 11 Computing in the Engineering Curriculum Early thoughts on the next wave of reform in Engineering Education Moshe Kam Comments to the Mid Atlantic ECEDHA

31

Questions or Comments