Hello people, hope you are enjoying your vacations.
Its been around two weeks since the vacations have started and we have almost two months before the start of the new academic year. The things to do are lot. Its time everybody start to make plans to develop themselves to do wonders next year. Here is the basic guide for things to do in Summer(other than enjoying with your family/friends), for a smooth journey in the upcoming year.
First of all lets get clear on some basic requisites i think is necessary for the upcoming year:
1. Photoshop / Video Editing Skills – This is a basic requirement as presenting your idea is as much important as to implement your idea. It is not necessary to know Photoshop / Video editing skills on a professional level but basics would suffice so that your ideas can be at least conveyed to the outside world.
2. Blog – We here at DRISHTI believe in sharing the knowledge. What better place than blogs to express and pass on your knowledge and experience. Also blogs would be an essential tool in the upcoming year for keeping the DRISHTI team updated with the status of ongoing projects. So it is expected that everybody get their blogs ready and start posting updates on whatever you are learning or working on by end of June.
3. Gmail (Google Groups) – The google groups are supposed to form pipeline for discussion forums where the inclusion of seniors would bring in much required guidance from the experienced. This is something for which you people wont need to drop a sweat for because well everybody on the planet have got a Gmail account(not literally). Well if you haven’t got it yet, Get it asap(GOD HELP YOU!).
4. Github – For those who don’t know what Github is, its an online platform that hosts open source projects. The plan for the upcoming year is to use this platform for the software development stages. So set up a account on Github, understand how things work there(push-pull concept). For a start, fork my repository and start performing little experiments.
Now lets get a look on technical aspects:
First Month : Learn Basics – Explore different paths – Choose your major development area for the next year.
Second Month : Work on the selected major development area thoroughly.
Practical : Getting hands-on experience and working on small modules with us would be essential on getting the confidence for the further journey.
Basics:
AVR programming – This would serve as a basic implementation tool to help you get settled in the world of engineering. I would be posting on how to get started and good sources on internet, also sharing a bit of my viewpoints soon.
Logic building – I suppose everybody is familiar with at least one programming language. A good place to build your logic would be codechef. Try and solve as many problems as you can. I suggest to set up a weekly target to solve a minimum number of problems(do take it seriously). This would be a very important building block as creating logic is basic requirement of everything around. A course on Coursera – ‘From NAND to TETRIS I’ would also be good and it would help you with college studies too.
Major Development Areas :
1. Communications : Simple task on first look, Transfer Data from one place to another(or interrupt one :P); gets daunting as you get deeper(security, multiplexing). No doubts, these people would be responsible for all the data sweeping around from one place to another, but also, this time we seek to give them space and bring in new technologies (or build some) and develop them.
2. Controller Development : These people will have one basic aim : ‘Make the life of operator easier’. Starting with trivial controllers like PS2, etc. and then Exploring technologies like voice-control, gesture-control, etc.
3. Image Processing : Enough said. Comprehending images into process-able data. There are lots of levels of image processing. Here at DRISHTI, it still being on development stages would play a key part in building dynamic projects.
4. App / Software Development : The end-user care-takers. Most of the projects would rely on these people for developing the user interface making it comprehensible as well as usable for the end-user.
5. Control Systems : These people would be the ones controlling the systems so as to work together and bring desirable output. A simple example, Run the two motors of a simple two-wheel bot in sync so as to move the bot forward in straight line, a simple task in theory, very tough to implement(experience speaking :P).
6. Machine Learning : The word sounding good and heavy is very new and vague to us indeed. In the upcoming year, these people would try to bring in this powerful modern concept and revolutionize the way things work around.
The above listed major development areas are the ones i think would be necessary. You people can always bring in new areas if you wish. Google and books(i prefer books) are always the best place to learn anything. Other than that Online courses on Coursera, Udacity, etc. would be great place to learn on some areas namely, Image Processing, App/Software Development, Machine Learning. For control systems, i would suggest referring Control Systems Engineering (Nagrath and Gopal), it would help you in college studies as well. If you people get some good sources please do share them in the comment section.
Lastly, the most important of all, stay in contact with seniors as well as other teammates and keep them updated with your status.
PS: People interested in Web development, please contact me.
– Ravi