Published In


Document Type


Publication Date



Computer programming -- Study and teaching (Higher), Electrical engineering -- Study and teaching (Higher), MATLAB, Portland State University. Maseeh College of Engineering and Computer Science


Our first year electrical engineering sequence includes two courses that involve programming and hardware interfacing. ECE 102 deals with engineering problem solving and MATLAB, while ECE 103 introduces C programming. We use MATLAB both as a problem solving tool and as an introduction to programming. Students utilize MATLAB to control a data acquisition device, which enables more realistic team-based projects that combine problem-solving, programming, and interfacing. As is widely recognized, these types of courses are important and difficult to teach. We identified areas that needed improvement in ECE 102: a) outdated lecture format, b) not enough timely feedback, c) insufficient programming practice, d) students passing the class with inadequate programming skills.

To address these concerns we implemented these changes: a) asking students to do MATLAB readings and exercises from an e-book before lecture time, b) using an in-class online interaction system, c) using MATLAB on students’ laptops for in-class exercises and labs, and d) designing guided programming labs. To demonstrate achievement of basic programming skills, students must pass Competency Tests (CT) in order to pass the course.

There was some reluctance by students to follow the new requirements. We initially observed less than 50% participation in e-book reading activities, though it has improved to over 70%. Students also perform short programming assignments using Cody from Mathworks. Based on surveys, students find these assignments helpful in learning MATLAB but remain unenthusiastic about reading. The course’s fast pace may be a factor since students can easily fall behind on reading and programming tasks. To improve this situation, we concentrated MATLAB instruction into the first five weeks of a 10-week quarter. This gives students more immediate feedback and focused programming instruction but at the expense of delaying problem-solving practice. Another issue is the “earnestness” with which students undertake their readings. Initial results indicate only 60% of students attempt to solve e-book problems first before reading the solution. We are investigating why students take these shortcuts and are looking for ways to focus more tightly on essential topics and skills.

Using Learning Catalytics (LC), we developed a set of in-class online activities. For full impact, individual responses are often followed by team discussion. Interaction with students through LC enables instructors to adjust the content and pace of delivery, and it gives students immediate feedback. Participation in LC has improved from 60% to around 90%.

We run two different programming Competency Tests and each can be repeated once. Students demonstrate to the instructor that they can translate a word problem into MATLAB code which satisfies the requirements. CT sets up clear expectations and students are given many learning opportunities for preparation. CT identifies ill-prepared students who should not be allowed to progress in the class despite satisfactory performance in other parts of the course. Roughly 1/3 of students do not pass the second CT on the first try but only around 10% do not pass it on the second attempt.

In the full paper we will provide more assessment data and details of implementation.


© 2017 American Society for Engineering Education. Other scholars may excerpt or quote from these materials with the same citation.

Locate the Document

The final published version is available:

Persistent Identifier