Question: I am an assistant professor preparing a 5 lecture series 'introduction to programming'. The target audience are first year engineering undergrads - from a mix of mechanical, electrical, electronic, telecomms and civil engineering majors. Some of these students will never have programmed before. We will use Matlab.

I am expecting that many of these students will never have coded before and almost all will not have seen Matlab before. They will need Matlab in all subsequent years of their degree.

Given the extremely limited time for this course, how can I give best bang for their buck, without it being too dry?

Is there something cool we could work towards creating over the 5 weeks?

More info: There are 5 x 4 hours sessions. Classroom cannot be flipped as there will be 50+ students.

Editing here to thank everyone who has taken the time and effort to give extremely helpful detailed replies. I appreciate it guys.

Answer: 
With only 5 sessions, I would abandon the idea of building something cool, and focus with laser-like precision on whatever they *need to know* going forward in their coursework. There is such a small amount of time to learn the basics of any programming language.

MatLab supports lambdas, objects, and GUI design, but unless they are going to get into rather serious programming, I imagine that you would steer clear of these. (I don't know how you would cover any of them in 5 days with novices in any case.)

The danger in heading towards UI and a game is that they will come out without being able to do what they presumably need in the next class, such as matrix multiplication, or graphing an integral multiplication. You may be better using your five sessions to delve into five areas of greatest need, as determined by the future required coursework of your students.
I teach programming to graduate students in public policy, with a focus on data. So while engineering students might be different, I think there will be a lot of similarities.

Unless you're running an intensive bootcamp where the students will be putting in far more hours than a typical class would call for (are you?), I think the biggest obstacle to doing "something cool" that you'll run into is the uneven abilities of new programmers.

As with my field, I imagine many of your students aren't interested in programming per se; they're interested in programming only as a means to do engineering. In a typical course, this means you're going to have some students still struggling with data types and functions after five weeks, while others are done with that after week one.

If I were teaching a 5-week course myself (I work primarily in Python), I would probably try to have everyone building a game by the end. Something basic, like a card game. While the goal isn't for them to be game developers, it's something many of your students will think is "cool", which will inspire them to get a grasp of how the language works along the way. I might then have them collect the results of iterations of the game into a dataset to do some basic data work with.

I'm not terribly familiar with Matlab, but if that's not a suitable goal for that platform, try to get as close to the game theme as you can. The mix of all types of engineers might make that difficult, but what about something that takes in the design of a wall, then calculations to knock it down? I'm not an engineer, but something that is only loosely practical, fun, and a good primer of the language.