There is GNU Octave, Scilab, and Sage which you can use to replace Matlab.
With Scilab you can even try to replace Matlab's Simulink. You wont be able
to do everything with Scilab what you can do with Simuling, but I am quite
sure you can do with Scilab assignments required in the course. The reason is
that in that kind of schools you barely scratch the surface of the subject on
the course.
I had a cool mathematics teacher. She let me to use my laptop in exam. Thus I
used GNU Octave and did not have to touch Matlab. But she was a
mathematician, not a Matlab teacher.
For UML there was some gnome program which had the official UML signs. I
don't remember the name but you should be able to find it easily by yourself
or some other new program.
For CAD I used QtCad or something. The teacher was happy to get the
printouts.
For written reports and stuff I used Texinfo xD It was a bit overkill but if
there is a single equation on the assignment I rather write it with Texinfo
than click graphical editors and look at the butt ugly equations they do.
For Java I used something I don't remember anymore what it was. For C and C++
I used GCC. Worked like a charm.
Pencil and paper is good too like someone mentioned by fountain pen. Not long
time ago everything was made with them.
Regarding closing your eyes from the real world by refusing to use
proprietary software - I opened my eyes and questioned the need for
proprietary software. I saw that I don't have to use it and it is my choise
to use it. I chose to not use. I had the freedom, thanks to the people
working for that freedom. You might not have it, or do you?