I have my gripes with official education and how much unnecessary pressure it puts on a student.
Being confident that you chose the right degree and the next 3/4 years of your life will be contributing well into your future. Being okay with your parents 'investing' so much money into your university (if you study in US). In some countries like Germany going into university doesn't put you into thousands of dollars into debt. University in many ways can be a very stressful times due to those reasons but it can also be a wonderful experience where you meet new friends and get inspired together and start doing awesome things.
For me personally, university has been a very unpleasant experience. Mostly due to the fact that I had nearly no university friends and I hated a very big majority of courses I was taught. Not necessarily the material that was taught but how it was taught. How some courses were managed and how pointless many of the forced exercises and rote memorization for exams was. I hated it so much that I spent the vast majority of my time learning on my own and grew such a big passion from hating my university and wanting something better that I eventually turned it into a dream project that I will be working on throughout my whole life now. The project is Learn Anything and it aims to replace traditional education all together.
I think the main value university brings is that it gives you direction in learning. The courses are structured in a way that material builds on top of what you learned already. You study together in groups with other motivated students and ideally work on projects that use in some way the things you have learned either through university courses themselves or your own personal projects. Ideally of course you learn from the best sources available for that particular subject and have the possibility to ask for help and solve any confusion you have about any particular subject either through lectures themselves, office hours with professors or other students. Aside from that, university is an amazing place to meet new people. Build awesome relationships, join interesting societies or build your own. Often times the university itself can help with your ideas and ambitions.
The reason I disliked my time in university is that I am a perfectionist. And despite being a 'perfectionist' I failed my way through high school and didn't get good enough grades to go to a great university. Eindhoven University I went to was not the best, nor was it the worst. I couldn't settle on something that wasn't best and I always found myself to waste too much time disliking the courses I was taught and how I was taught them. I could 100 % find better material online and study that instead of going to the lectures. I had no motivation to do the assignments as I wanted to do something 'useful' with my time. Something that I enjoyed doing. On top of that, I genuinely hated preparing for any kind of test or exam. The constrained environment of an exam room felt so stupid to me in that in real life, you will not be this constrained. You will have internet. You will have Google, Wikipedia, Quora, Stack Overflow.. The list goes on. It's stupid to rely on your brain with its fragile memory to solve problems that often times test you on 'knowing a thing' rather than your ability to 'solve the thing'. I still find it incredibly dumb that this is the case and really hope this approach changes in the future.
Something akin of Khan Academy or soon Learn Anything should really be the future of education. Education across ALL disciplines for anything that you want to learn. At any time. From the best teachers in the world. With interactive visualizations and exercises to hone what you have learned. With no cost attached. Want to build a website? Learn what you need for that. Want to learn the foundations of mathematics and computing? Go learn it. At any time. With NO cost attached.
Until that future happens though, people still go to university. And to those people, maybe some of these tips will be helpful as I have learned most of it the hard way.
1. Have a student wiki for courses & university life
My university didn't have a wiki. But we did create a shared Google Drive with many folders per course. Where students dropped the solutions to assignments. For example St Andrews university has a Student CS Handbook that contains information relevant to all students studying in CS department of the university.
Such handbook would save incredible amount of time to newcomer students. I would list activities that are available in there. Any student societies and how to join them. Anything that may be of interest and help to students should be in one central place that all the students can go to if they have any question. The great thing about something like this is that the main efforts will be done by the first people that will create the wiki but the maintaining of it can be done by the next students who will study the courses and will lead a student life. Only now they will actually have a place to share their student insights and help and not keep it all to themselves. The infrastructure to sharing everything will already be there and will already have useful content. You can just use it.
2. Have proper and clear communication channels
This was the biggest pain point when I went to university and what made university partly hell for me. As TU/e is a dutch university, the students from my year were mostly dutch so they made a WhatsApp group where they primarily spoke dutch in. This was the group where most things were shared to, in dutch of course. Not knowing dutch I and most other international students were left out. I assume this is not a problem in UK/US universities as people should ideally speak one language there, English and that language should be respected.
If I went to university again, I would either do it all through Telegram groups (as Telegram is simply superior WhatsApp with proper desktop client). Where there would be one main group for the year (say all CS students of 2018). And then each subject will have its own dedicated group created for it with strong emphasis on no spam and no off topic discussions.
Another way would be to create a community on something like Slack or Discord and use channels feature there instead. Have a couple of rules in the group and an Announcements to inform students of interesting things happening around the uni like a student hackathon or some events.
3. Use office hours when in doubt
If the lecturer teaching the subject primarily does research in the subject and cannot teach to save his life. It may be best to study the material yourself and use the lectures as a supplementary material. It nearly always is a good idea to learn about the topic being taught in some way by either studying the lecture notes for the subject before attending the lecture.
To make your learning experience the best however, never ever be afraid to ask questions to either other students or asking the professor or student assistants directly during office hours.
4. Keep track of assignments and deadlines
I found Trello to work really great for this. I had a Trello board I made where each column was a subject and I put what I had to do for each of the courses there with appropriate deadlines. Here is how that looked in one of my exam periods:
Always use a calendar and plan your days ahead of you given the deadlines that are approaching. This is not helpful for just university but for life in general. The time you spend working and the things you work on during that time should ideally be predetermined already for you. You should just trust your schedule and do your part of the deal and study. I found creating another Trello board named Focus helped me greatly in setting my inner compass and knowing what I should be doing in my life at all times.
5. Take care of your health. Exercise. Eat proper food. Sleep more than 7 hours every day.
Health is very very important. Some students find their newly gained freedom to do things intoxicating. There is no one really there to say 'No' to you. You can buy chips and drink cola every evening of every day if you so wanted to. You can go out with friends every weekend and drink some. No one can stop you doing that except for you.
Only you can say no to that. You can decide to eat healthy and actually spend some time researching what does healthy eating even mean. I myself spend a good portion of my time in life asking this question. What it means to be healthy? Later I settled on a whole food plant based diet with no foods with added sugar and no sugary drinks. Drinking only water and tea.
My vice of choice in university was psychedelics as I found no other substance to entice me more than psychedelics. Leaving me with more questions after taking the drug than before. But even that is a slippery slope and you should control your intake of any substance you put into your body, be it a physically harmless psychedelic or alcohol or weed or some hard drug.
Other than researching what foods to eat and what recipes you can cook from the many awesome foods there exist. I found exercising to be another very important investment of my time. I personally loved playing tennis and I had a friend who loved playing with me. But I would also sign up to the gym and start going there despite how intimidating it might first be. After a while you will actually enjoy your visits to the gym.
And finally. Sleep. University is stressful. Deadlines are stressful. Exams are stressful. Juggling university & social life & leisure can be difficult. But despite all that, cutting away from sleep even for few hours every day will get you back. Eventually.
Ideally learning the habit of going to sleep and waking up at the same time will pay huge dividends as you progress in both university and life.
6. Apply for Google Summer of Code
If you are a CS student and want to spend the Summer wisely, it would be best to get some kind of internship or work experience. Google provides an amazing opportunity to work on any of the many awesome open source projects through its GSOC program. If you do apply, which all CS students really should try, you will get an opportunity to work on some open source project and actually put the knowledge you got in university into practice AND get paid while you do it. If you do put in the effort and work through it and not give up.
Familiarize yourself with GSOC's timeline to know when projects get announced. What the deadline for your student application stating what you plan to work on during the Summer is. And start early. Look into previous organizations that were chosen. Very often same organizations pop up again and again. If you find any of them interesting, hop into their communication channels, often it maybe IRC or Slack and let them know that you want to help. Clone their project, try to build, look into some issues and try your hand at fixing some of them. Ask for help.
7. Blog and share your learnings and what you know
This is a big one. I met many people who never shared what they knew in public form because they thought that what they knew has already been shared before. What's the point?
There is some truth to this. Especially once you start something new. Any 'Hello world' first blog post mostly looks the same. Introduce yourself to the world. Get yourself a public page on the internet and say hello. Say what you are interested in and why and you're done. You now have a blog.
Sometime during your crazy studies and life, you will get an idea or find something interesting. And now you have a place to write about it. I personally write my articles in Medium and once I found myself to have a difficult time finishing majority of my articles because each one gets needlessly big. I started a wiki and now I continuously share what I know with the world. My brain only knows how to solve problems given what I know. It doesn't retain a lot of facts and references because I can't trust it to do that. To me what is not written down is lost. And I think it is nice to share what you know or have learned so other people can find it too and save their time.
I also found that, it is in the process of writing that you really understand what it is you know. As you try to put it to words, you cement the ideas you had floating in your head as you put them on paper for others and for yourself to read later.
Starting a blog is super easy now. If you don't like Medium, you can create your own blog on your own website with a static generator in just a few minutes. Oh and you will learn a lot in the process. Like what the hell is a static generator?
8. Try new things
This applies more to life than university. But it really is the most powerful advice I can give to anyone. Just try new things. Don't be afraid. Start things. Solve your own problems.
I personally fell in love with open source software and specifically optimizing everything in my life. macOS/iOS/life/time/productivity/.. Many of the projects I try to work on I do out of passion for solving my own itches I feel in life. I loved tinkering with macOS so much that I decided to share my setup with the world. Little did I know then that is something that many people actually appreciate and liked. It felt great knowing that and finding it out for myself. If I didn't share it, this would literally simply not happen. If I didn't write my own 'Hello World' article on Medium, my blog wouldn't happen. If I didn't decide to start a wiki, my wiki of now over 400 files would simply not happen.
There are many more things that simply would not happen if I didn't try new things. Fear is the worst reason to not do a thing.