me logo
students
About ME
Instruction
Research
People
Development
Services
Other
• From the Chair
• About the Department
• Visitor  Information
• Faculty Awards
• ME News
• Contact Us
• Degrees
• Admissions
• Student Information
• Course Information
• Course Web Pages
• Faculty Office Hours
• Areas
• Laboratories
• Centers
• Faculty
• Staff
• Students
• Alumni
• Affiliates
Faculty Info
• Staff Info
• Admin Services
• Restricted
• Emergency Info
• ME Seminars
• UCB Academic    Calendar
• UCB Events
Search ME Web

Search UC Web
© UC Regents | Latest update: October 28, 2009 | Contact webmaster | College of Engineering | UC Berkeley

 

Untitled Document
E 7
E 10
E 28
E 39A
E 117
E 128
E 177
E 191
E 290C

ME 40
ME C85
ME 92
ME 101
ME 102
ME 102A
ME 104
ME 105B
ME 105
ME 106
ME 107A
ME 107B
ME 108
ME 109
ME 110
ME C117
ME 118
ME 119
ME 122
ME C124
ME 127
ME 128
ME 130
ME 132
ME 133
ME 134
ME 135
ME 140
ME 142
ME 146
ME 151
ME 163
ME 164
ME 165
ME 167
ME 170
ME 173
ME 175
ME C176
ME C180
ME 185
ME 190L
ME 190Y

ME C214
ME C217
ME C218
ME C219
ME 220
ME 221
ME 222
ME C223
ME 224
ME C225
ME 226
ME 227
ME 228
ME 229
ME 230
ME 232
ME 233
ME 234
ME 235
ME C236
ME 237
ME 239
ME 240A
ME 240B
ME 241A
ME 241B
ME 243
ME 251
ME 252
ME 253
ME 254
ME 255
ME 256
ME 257
ME 258
ME 259
ME 260A
ME 260B
ME 262
ME 263
ME C268
ME 273
ME 274
ME 275
ME 277
ME 280A
ME 280B
ME 281
ME 282
ME 283
ME 284
ME 285A
ME 285C
ME 286
ME 287
ME 288
ME 289
ME C290
ME 290A
ME 290B
ME 290C
ME 290D
ME 290G
ME 290H
ME 290N
ME 290P
ME 290Q
ME 290R
ME 290T
ME C298
ME 299
ME 301
ME 602


 

 

 

E 177 -  Advanced Programming with MATLAB (3 units)  

ONLINE RESOURCES: Course web page

 

CATALOG DESCRIPTION

The course builds an understanding, demonstrates engineering uses, and provides hand-on experience for object-oriented programming as well as exposes a practical knowledge of advanced features available in MATLAB. The course will begin with a brief review of basic MATLAB features and quickly move to class organization and functionality. The introduced concepts are reinforced by examining the advanced graphical features of MATLAB. The material will also include the effective use of programs written in C and FORTRAN, and will cover SIMULINK, a MATLAB toolbox providing for an effective ways of model simulations. Throughout the course, the emphasis will be placed on examples and homework assignments from engineering disciplines.

COURSE PREREQUISITES

E 7 or E 77; Mathematics 53, 54 (one of these may be taken concurrently); or consent of instructor.

TEXTBOOK(S) AND/OR OTHER REQUIRED MATERIAL

None

COURSE OBJECTIVES

Develop proficiency using advanced features of the Matlab language: multidimensional arrays, reduced indexing reference and assignment, variable argument lists, function handles, subfunctions, communicating across workspaces (using evalin, assignin, and inputname), debugging, publishing to HTML, profiling, lint code checker.

Understand the purpose of object oriented programming: classes to give data an identity, public properties, methods, precedence and dispatching, private folders, restricting access through get/set interfaces, reference and assignment, inheritance.

Learn how graphical user interfaces work: Matlab Handle graphics primitives, cell-array callbacks, get/set interface, scalable GUI programming styles. Understand and use of Simulink: functionality for the simple user, architecture of ODE solvers for interconnection of subsystems, S-functions, get_param/set_param interface, get/set interface, model properties, block properties, mask properties, callbacks, workspaces.

Understand and use the CMEX interface: introductionto C, variables, pointers, arrays, functions,control flow, memory allocation; introduction to CMEX Application Programmer Interface, mexFunction gateway, mx and mex APIs

DESIRED COURSE OUTCOMES

At the end of the course, students are able to use advanced programming features of the Matlab language, including multidimensional arrays. They are also able to create user-defined classes and graphical user interfaces. Students are able to interface C-language programs into Matlab and/or use Java and Java classes within Matlab environment.

TOPICS COVERED

Advanced Matlab syntax (2 weeks); Object Oriented Programming (3 weeks); Handle Graphics/Graphical User Interface (3 weeks). The following topics vary with instructor: Project brainstorming (1 week); Building Reusable Graphical Classes (1 week); ODE solver suite in Matlab (1 week); Simulink architecture and programming (2 weeks); Intro to C (1 week); CMEX interface (2 weeks); Java and Java classes in Matlab (2 weeks); XML in Matlab (1 weeks).

CLASS/LABORATORY SCHEDULE

Three hours of lecture and one voluntary discussion/computer laboratory per week.

CONTRIBUTION OF THE COURSE TO MEETING THE PROFESSIONAL COMPONENT

Matlab and other high-level programming languages are used ubiquitously throughout the professional engineering community. Proficiency beyond that learned in the required lower division course (E77) is useful in many professional contexts.

RELATIONSHIP OF THE COURSE TO ABET PROGRAM OUTCOMES

An ability to design a system, component, or process to meet desired needs. An ability to function on multi-disciplinary teams. An ability to communicate effectively. A recognition of the need for, and an ability to engage in life-long learning. An ability to use the techniques, skills, and modern engineering tools necessary for engineering practice.

ASSESSMENT OF STUDENT PROGRESS TOWARD COURSE OBJECTIVES

Varies slightly depending on instructor: Six homework assignments; one midterm exam; one large self-defined project (up to four students/team); one final exam.

PERSON(S) WHO PREPARED THIS DESCRIPTION: Andy Packard
April 4, 2006