सदर post, नविन काब्रा द्वारा प्रकाशित http://punetech.com/5-things-that-computer-science-engineering-students-should-focus-on/ या लेखाचे भाषांतर असून, http://punetech.com च्या माध्यमातून घेतले आहे. याचे मराठी भाषांतर पल्लवी केळकर यांनी केले आहे.
विद्यार्थ्यांनी नक्की कशावर लक्ष केंद्रित करायला हवं – अलिकडेच मला कुणीतरी हा प्रश्न विचारला. समजा, २ र्या वा ३ र्या Degree च्या वर्षाचा विद्यार्थी आहे. काही वर्ष, मधे शिक्षण पूर्ण करण्यात जातील आणि पहिल्या नोकरीत, गोष्टी शिकायला काही वर्षं जातील.
तेव्हा त्याचं खरं career सुरु होण्याआधीची ही ५ वर्ष असतील. त्यावेळी software technology नेमकी कशी असेल आणि अशी कोणती skills (कौशल्य) आहेत ज्यावर तो आत्तापासून काम करू शकेल, जी आत्मसात केल्याने तो निश्चितपणे, चांगल्या पद्धतीने पुढे जाऊ शकतो.
५ वर्ष हा नक्कीच खूप मोठा कालावधी आहे आणि Neils Bohr ने कथन केल्याप्रमाणे, “Prediction is always difficult ,especially about future” म्हणजे, “भविष्यकथन नेहमीच अवघड असते, खासकरून भविष्याविषयी”. तरीही मला असे वाटते, की काही basic trends अगदी स्पष्ट आहेत आणि अजूनही कालातीत कौशल्य आहेत, ज्याकडे लक्ष देता येईल. यावर आधारीत, मी मला वाटणार्या आवश्यक गोष्टींची यादी इथे देत आहे.
जरा थांबा!
मला तुमचा कोणताही पुर्वग्रह होवून द्यायचा नाहीये. माझी यादी वाचण्याआधी, comment section मधे जा आणि तुमची यादी द्या. मग माझी यादी वाचा व परत comment section मधे त्यावर अवलोकन करा.
तुमच्याशी यावर चांगली चर्चा होईल, ज्यामुळे विद्यार्थांना फायदा होईल, अशी आशा आहे.
तर ही माझी यादी.
- The next billion customers: पुढील करोड ग्राहक: IT मधील क्रांती जगातील करोडो लोकांपर्यंत पोहोचली आहे. पुढील ५ वर्षांत ती आणखी काही करोड लोकांपर्यंत पोहोचेल.या लोकांच्या श्रेणीत फरक असेल. त्यातले बरेच लोक साक्षर असतील- तेव्हा तुम्हाला non-text, non-English interfaces – video, animations, voice recognition यांवर लक्ष केंद्रीत करायला हवे. “English Seekho” यांवर search मारा, मला काय म्हणायचे आहे याची तुम्हाला कल्पना येईल. बर्याच लोकांकडे वीज (electricity ) व computer घ्यायला पैसे नसतील, त्यामुळे Mobile Devices राज्य करतील. त्यामुळे तुम्ही mobile platform जसं की Android शी खेळायला चालू करायला हवे. In general, “the next billion” वर search मारा, तुम्हाला Nokia आणि MIT ने दिलेले खूप interesting material मिळेल, कशावर लक्ष केंद्रीत करायचे याची कल्पना येईल.
- Usability म्हणजे उपयुक्तता: IT क्षेत्र अधिकाधिक लोकांच्या आयुष्यात प्रवेश करीत आहे, त्यातील कमीत कमी लोकं “computer savvy” ( Computer प्रेमी) असतील, computing devices कडे पाहून, ही अशी गोष्ट आहे की जी शिकायला पाहिजे असं वाटणारीही कमी असतील. त्यामुळे, ती products यशस्वी होतील, जी वापरायला सोपी असतील. आणि काहीतरी सोप्पं बनवणं हे खरंतर जास्त कठीण आहे. ही computer science ची sub-discipline आहे, त्यात बरीच theory, बरेच well-defined algorithms आणि बर्याच पद्धती आहेत. गोष्टी सोप्या करण्यासाठी तुम्ही त्या वापरू शकता. या विभागाला HCI (Human Computer Interaction) म्हणतात आणि UCD (User Centered Design) हा त्याचा एक भाग आहे. या विभागाशी तुम्ही familiar असायलाच हवं.
- Computer Science Fundamentals : हे कधीच out of fashion होणार नाही, आणि हो, जेव्हा मी college मधून बाहेर पडलेल्या विद्यांर्थ्यांना बघतो, तेव्हा हा भाग दुर्लक्षित असल्याचे जाणवते. विशिष्ट Programming Language व विशिष्ट “technology” वर जास्ती भर देणे, ही चूक आहे. Data structures आणि Algorithms शिका. जर तुमचे आवडते Data structure नसेल आणि असा कुठलाच algorithm नसेल जो तुम्हाला भावतो(आवडतो), तर तुमचे Computer science चे शिक्षण अपूर्ण आहे. जर algorithm पाहिल्यानंतर, पहिला विचार Algorithm च्या Complexity (O(n), O(log n)इ.) बद्दल नसेल, तर तुम्हाला तुमची पुस्तकं परत चाळण्याची गरज आहे. जर तुम्ही फक्त Java किंव्वा C# शिकला असाल आणि तुम्हाला pointers, heaps, stacks काहीच कळत नसेल तर आज ना उद्या त्यामुळे तुमचं नुकसान होईल. Basics समजून घ्या. ते करतानाच, Mathematics आणि Statistics सुद्धा शिका.
- Presentation Skills हे Computer Science चे skill नाही पण हे अतिशय महत्वाचे skill आहे, ज्याची Computer Science च्या विद्यार्थ्यांत कमी भासते. तुम्ही Program Design व Algorithm एवढेच किंबहूना जास्तच महत्व Presentation ला द्यायला पाहिजे. आणि तुम्ही जरुर Presentation शिकण्यासाठी (पुस्तकातून, वर्गामधे, सराव करून) वेळ दिला पाहिजे, जसा Programming language आणि Computer Science subjects शिकण्यासाठी देता. मला खात्री आहे, तुम्ही असं केलं नसेल, म्हणून ही गोष्ट माझ्या यादीत आहे. चांगलं कसं लिहायचं हे तुम्हाला माहिती पाहिजे. फक्त papers आणि documents नव्हे तर त्याहूनही अधिक महत्वाचं म्हणजे emails, blog posts, facebook wall postings आणि tweets. तुम्ही user/reader/client ला काय महिती करुन घ्यायला आवडेल याचा विचार करायला हवा ( तुम्हाला काय माहिती आहे आणि काय सांगायचे आहे याऐवजी). आणि of course, तुम्हाला चांगलं बोलताही आले पाहिजे. तुमचा कामाबद्दल रहस्यमय facts ची यादी देण्यापेक्षा गोष्टीरूपाने कशी सांगता येईल, ज्या गोष्टी तुम्हाला खूप interesting वाटल्या पण श्रोत्याला नाही वाटणार, त्या कशा टाळायच्या? इ. तुम्हाला आले पाहिजे.
- Economics: Scott Adams, Dilbert चे निर्माते म्हणतात: “जेव्हा तुमच्याकडे economics कसं चालतं याचं ज्ञान असेल, तर ती एक mild super power असल्यासारखीच आहे.” Basically, जर तुम्हाला economics चा पाया समजला, तर technologies आणि लोकं, यश आणि अपयश हे नक्की कसं चालतं, याला चालना कशी मिळते हे तुम्ही पाहू आणि समजू शकता, ज्यांना economics समजत नाही त्यांच्यापेक्षा कितीतरी जास्त. मला IIT मधे Computer Science च्या अभ्यासक्रमात, economics चा अभ्यास करावा लागला, याचा मला तिरस्कार वाटत आला होता. तो संपूर्णपणे वेळेचा अपव्यय आहे असं वाटत होतं. पण आता मागे पाहताना असं वाटतं की तो अभ्यास फार महत्वाचा होता.
तर, तुम्हाला काय वाटतं, विद्यार्थ्यांनी नक्की कशावर लक्ष केंद्रित करायला हवं?
सदर post, नविन काब्रा द्वारा प्रकाशित http://punetech.com/5-things-that-computer-science-engineering-students-should-focus-on/ या लेखाचे भाषांतर असून, http://punetech.com च्या माध्यमातून घेतले आहे. याचे मराठी भाषांतर पल्लवी केळकर यांनी केले आहे.
आम्ही comments भाषांतरीत केलेले नाहीत. कृपया मूळ post वर जावून interesting चर्चा जरूर वाचा.