I’m currently an EE student here in Serbia, but I think I will be forced to quit the college since I’m just not able to pass the year. I’ve developed quite an interest in C programming, and I’ve passed the “C programming and Data structures” class with a rating of 93/100. I wish to pursue a C programmer career, however finding jobs here is damn near impossible without a college diploma.
So my question is what things should I learn on my own before I even think of embarking on such a journey, and do you have any advice you could give me? (Languages? Assembly? etc.)
Generally in terms of getting programming diplomas you don't really need to know much but learning programming/computer before starting these college programs is a great idea and is what you want to do and I find that great. In fact I recomment more people doing that.
Now in terms of what you should learn there is alot of stuff and alot of different opinions on what should be learnt. Personally I went on and learned about computers and how the hardware works, essentially how things interact with each other, details about the internal structure of the CPU, registers, caching, memory management, the kind of stuff that make computers (hardware) and Operating Systems tick. I would also suggest looking up C++. Given that you are going into C programming, imo you're going to eventually run into C++ (either in C++ courses or C++ programming at the work place).
Now for Assembly it depends on what you want to do, If you want to program embedded systems it would be a great idea to learn it but then Assembly is very CPU architechture dependent so you might want to take that into consideration. For desktop development I find that Assembly is not used very much unless you're doing some very high performance application such as modern game engines, simulators and so on.
As for advice, all I can say really is to just go, go and code, go and make things and have fun, google is your friend when you're stuck on something, I started out by making a 3D game engine, I never finished it but I leaned so much about C and C++, graphics, memory management, caching, compilers and a ton of other stuff.
Now of course other people will have different opinions on what you should learn but this is my take at it, good luck with your journey and of course have fun.
If you have developed a keen interest in C programming.
I recommend switching to Computer Engineering. I have no idea about Serbia, but at most colleges in USA, a CPE degree is the same as EE - emf - rf math + more advanced logic design + cpu architecture + a few more computer science classes (programming, algorithms, computer related math & logic).
Well here the difference is about 30%. EE and CE departments of our University are top in the country, and the main difference is in the that EE is more focused on Energetics, Electronics and Physics, and CE is more focused around programming and automation. Now that said, until I clear the first year I am unable to transfer to CE, since the department of first year is always full (all 240 places (about 850 people a year try to get in)). CE has everything that I need, but if I can't fight through the first year of EE idk what I will do.. :/
Then I'm on my own.. That is the part that worries me. If that happens (which I will do my best to prevent) what can I do then to chase the career I desire?
It's grade wise. Each class carries a certain amount of points (example: Discrete Mathematics carries 9 points, Electrical Engineering carries 9, Physics carries 5, some classes carry as little as 1 or 2 points... etc.) and if you don't collect 60 points by the end of the year, you are automatically forced to repeat that year (only classes you didn't pass, or you can continue to second year if you collect 48, but only if you transfer to personal funding) and in my case that means being transferred from state's budget to personal funding which is not an option.
Therefore if I don't pass the year, I'm on my own.
I feel like it`s too difficult for me.. I did push with all I had, and from 11 classes, so far I passed 5.. Out of remaining 6 I think I could maybe pass 3, and that's stretching it...
Not yet.. Classes are over in June, but the tests go on until October... This is just a fail safe kind of question.. a plan B so to speak. Since there is a high drop rate in these colleges as you would imagine..
You NEED that degree. Here is what you need to do.
Get off this forum... get off the internet
Use a blocker extension in your browser to keep you from clicking over to facebook / imgur / reddit / any other time wasting website like this one.
Get propper amounts of sleep. Don't party or go out on the weekends.
Stop hanging out with school friends who goof off or are there to take it easy.
Surround yourself with people who are SERIOUS about getting a degree and who study hard. These are often people who are going through their second time or older adults who are going back to school after a life of blue-collar work.
Get into study times with these new friends. It will make a world of difference on your comprehension of new topics and retention of everything you need to memorize.
Focus and work hard, but don't run yourself into the ground or you won't last. Remove distractions and any excess entertainment to free up more time for studying and sleeping.
Focus focus focus.... there is only one thing you should be thinking about.... PASS THOSE CLASSES.