This Specialization aims to take learners with little to no programming experience to being able to create MATLAB programs that solve real-world problems in engineering and the sciences. The focus is on computer programming in general, but the numerous language features that make MATLAB uniquely suited to engineering and scientific computing are also covered in depth. Topics presented range from basic programming concepts in the first course, through more advanced techniques including recursion, program efficiency, Object Oriented Programming, graphical user interfaces in the second course, to data and image analysis, data visualization and machine learning in the third course.