Hi I am in my first year of SE. Learning C. Haskell, html, css, mips, Sql, Software testing and other computer related modules. I have been an organised student before. But I am struggling to find a good strategy to keep up this year. Especially how to write proper revision notes in programming. I find myself forgetting problems / syntax / principles i have done few weeks before and keeping up is already taking most of my time. I tried to make flashcards / normal notebook notes but i myself neglecting other module as it is time consuming. Thanks.
closed as off-topic by gnat, Robert Harvey♦, whatsisname, Bart van Ingen Schenau, Jörg W Mittag Mar 6 '17 at 8:27
This question appears to be off-topic. The users who voted to close gave this specific reason:
- "Questions seeking career or education advice are off topic here. They are only meaningful to the asker and do not generate lasting value for the broader community. Furthermore, in most cases, any answer is going to be a subjective opinion that may not take into account all the nuances of a (your) particular circumstance." – gnat, Robert Harvey, whatsisname, Jörg W Mittag
Disclaimer: I shamelessly bring my own bias as a fellow SEng student.
I recommend maintaining a git repository for each of your classes. Write your notes in Markdown in an offline editor of your choosing, and regularly commit/push them to an online git repository like GitHub, Bitbucket, GitLab, etc.
Write the notes as if you were writing a wiki that a fellow SEng student will learn from. When you encounter a problem, write about it. When you come across in interesting solution, write about it. By regularly using it, you will naturally become handy with git (the trendiest version control system) and Markdown (a very common markup language that can be automatically converted to HTML).
When it comes time to study for an exam or to review a project you've worked on, you have your own words teaching the concepts back to you.
In the spirit of “In learning you will teach, and in teaching you will learn", by writing the notes as if you were writing a wiki or a textbook, you will gain a greater understanding of the content.
Best of luck to you in your studies!
Normally in this situation, I'd recommend working on related tasks at the same time and doing as many projects in those languages/formats as you can while putting off learning other technologies. It would give you a solid foundation in one thing that you can then apply to other things you'll be learning.
C is very different from Haskell and I wouldn't personally recommend working on both at the same time if you don't already know either of them extensively. HTML and CSS go very nicely together, and can mesh very well with SQL if you have the right type of problem/app to work on. Software testing can go with any language, but it's going to be harder to understand if you don't already know a language fairly well. (And everything's harder in Haskell when you're first learning it, in my experience.)
It's unclear what you mean by "mips". Do you mean the MIPS architecture assembly language? If so, I also wouldn't mix that with things like Haskell or HTML. It might go well with C since C is a fairly "close to the metal" high level language, though.
Do you need to have all of these things going on at the same time? Can you drop one or more classes without a penalty at this point? If so, it might be worth giving yourself permission to do less and learn what you are doing better. (If I were talking to my younger self, I'd tell them to drop the MIPS and Haskell for now and come back to them in a semester or two.)