How can people who are bad at math and have no programming aptitude learn MATLAB? (Long question)

48 views (last 30 days)
Dear MATLAB community,
How can I help my close friend who's bad at math and programming learn MATLAB?
He's a final year chemical engineering student who struggles even to plot two functions on the same graph in his computational fluid dynamics class (there was no prereq for matlab skills).
In his first year, I saw him get dragged through the introductory engineering classes which was his first encounter with MATLAB. Students were taught a few rudimentary programming skills and then were expected to make a code for a 'simple' tic-tac-toe game. It took him hours of blank looks and tutoring to even understand the simplest of boolean operators. He was never able to write a working function without the supervision of a friend or tutor. Needless to say, he was permanently scarred by the experience and swore to avoid using it forever.
After 3 years of avoiding MATLAB, he realised how not knowing it hurt him during his final year project. He had to solve a system of pdes to model the performance of a reactor and practically speaking, MATLAB was the most suitable software at hand. He ended up having to get a friend to help him code the equations in while also having to oversimplify his model.
The weird thing is that: most students from his chemical engineering faculty were not expected or encouraged to use MATLAB, almost all of their prior assignments required no use of MATLAB except that infamous first year course, and most of his peers also avoided using MATLAB and resorted to Excel. It is my understanding that Excel cannot match MATLAB's efficiency and clarity when solving calculus problems so it was not uncommon to see extremely long Excel spreadsheets.
Anyway, my friend is, with the help of a friend's past year MATLAB codes, trying to finish up his computational fluid dynamics assignment that's due soon. He finishes university in 2 weeks time.
Even though he knows that not every engineer has to use MATLAB in the workplace, he somehow wishes he was able to learn MATLAB at his glacial pace. I find it such a pity that he was never able to keep up with the pace of learning that was expected which begs the question: are students who are too slow at learning programming better of in a different field of study?
If you've managed to read to the end of this, thank you so much. I just don't know how to help my friend and I'm hoping some of you might be able to suggest how I can help him be better at it. I believe he has potential but needs special help when it comes to MATLAB.
All helpful and constructive suggestions considered,
Thank You All

Answers (4)

Steven Lord
Steven Lord on 16 May 2018
Perhaps working through some of the introductory tutorials (some of which may not have existed three years ago) would help your friend learn at his own pace. There are also videos that, while not strictly interactive like MATLAB Onramp, your friend could perform the steps along with the presenter.
On the Videos and Webinars page linked as "See more related videos" on that page, 432 of the 1674 MATLAB videos are listed as How To videos. Not all of them are targeted at newer users (some show more advanced techniques) but some may pique your friend's interest by showing what MATLAB can do (like counting cars on a busy highway using ThingSpeak) and offer a goal that he can work towards learning how to achieve.
At a more targeted level, many of the functions in MATLAB (and MathWorks products in general) have documentation pages that contain (usually) short, self-contained examples. For instance, the and function page has two examples showing how to use the & operator to determine where two arrays have nonzero values.

Jan
Jan on 16 May 2018
This is a Matlab forum and we discuss problems concerning Matlab. The problem you describe concerns a Matlab user, or better a person who struggles with using Matlab. I think, your question is off-topic, because the mentioned person will have the same problems with Python, Java, Mathematica and Julia.
But even if your question is off-topic, it is worth to be answered.
Are students who are too slow at learning programming better of in a different
field of study?
Yes. If programming is hard for you, computational fluid dynamics is not the field which matches your skills. Finding a profession, which covers the personal powers allows to work efficiently and fluently and this will support having a satisfactory life.
If your friend finishes the university in two weeks, a new phase of his life will start. Remind him to search for a job, which does not require programming.
  2 Comments
Spencer Curello
Spencer Curello on 12 Feb 2021
Bruh this is matlab summed up to a t. if someones struggling the only response is to get good at it then lol, instead of facing the fact that matlab is the hardest language I've ever learned and incredibly different from most other languages that picking it up from zero expirience to alot of expirience can be hard especially when its not formally taught in most institutions. I know this is far too late to help this poor kid but what could help him is to teach him basic lines and try to explain things with metaphors and similes its probably the best way to teach someone programming fast.
Walter Roberson
Walter Roberson on 12 Feb 2021
The basic syntax of MATLAB is easy to pick up if you have experience with FORTRAN or BASIC or other procedural languages; such as PASCAL or even COBOL. The biggest "trick" MATLAB pulls is the way it handles formatted I/O with non-scalars; that can be a "gotcha!"
MATLAB does differ significantly from C and C++: pointers and classes complicate those languages significantly. But there are a lot of languages without pointers, and MATLAB is not very unusual for its basics.
What is huge about MATLAB is the libraries of pre-written functions and toolboxes. No one person should be expected to be familiar with them all and know how to get the best out of all of them: too wide a domain of knowledge is covered.

Sign in to comment.


Jim Riggs
Jim Riggs on 16 May 2018
One Guru who I highly admire lives by the saying "There is no teaching, there is only learning". His philosophy is that the burden of responsibility for learning lies with the student.
Many years ago, universities were places where self-taught individuals went to get assistance in their learning endeavors. Somewhere along the line, the burden of expectation has shifted from the student to the teacher. Is this appropriate? I don't know. But surely the student must be motivated and take responsibility for learning. And anyone who wishes to pursue a technical career must be capable of "crunching the numbers" (and get the correct answer goes without saying), after all, this is where the rubber meets the road - the objective evidence of competence in the field.
That said, I think that it is also fair to take a hard look at the university/college and ask if they have been lax in their responsibility and methods for helping the students. In my day (many years ago) at California Polytechnic University, Pomona, we had computer programming from day one (FORTRAN was the only option). And throughout the degree program, every class in my major department required a computer project. Even the engineering economics class required a computer project (programing financial tables and calculations). This way, numerical methods were part of every class. I wonder about a school that will allow an engineering student to get by with virtually no programming experience. Writing code to perform complex calculations is an excellent way to reinforce learning the mathematical concepts. Learn by doing. The graduates that I talk to these days coming from notable schools tell me that they are required to complete computer projects throughout their degree program, but they are free to choose the tool/language of choice.
The way I see it, a technical professional needs to be able to crunch numbers. Your friend needs to learn to love writing code, or, if writing code is that unpleasant for him, he should find another career path. Matlab is probably the easiest computer code to work with for many reasons, so it's a good choice. I would recommend diving into one of the many Matlab tutorials, either web-based or in print (book) and learning the basics. Participation in this forum is also very enlightening and educational.

Sara Nadeau
Sara Nadeau on 16 May 2018
We do also have MATLAB Onramp and a program called Learn to Code with MATLAB that's aimed at people with less coding experience. If your friend wants to keep trying and really figure out coding, I would encourage him to look into these resources and those that Steven mentioned.
  1 Comment
Sara Nadeau
Sara Nadeau on 16 May 2018
Oh, and MATLAB Cody would be a great place for your friend to practice problem solving and the skills he can learn from the other resources.

Sign in to comment.

Categories

Find more on Get Started with MATLAB in Help Center and File Exchange

Tags

Products

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!