Diploma in Embedded Linux and Mobile Application Development
Who will benefit by this course?
You are a CS/ECE/EE/IT Engineer with good analytical/problem solving skills, an interest in technology, an aptitude for programming and willingness to work hard. Because of one (or more) of many factors like lack of exposure, a degree from a college which is not reputed enough etc, you are finding it difficult to get a good job. You do not wish to get into dumb BPO jobs or low-quality "testing" jobs. Your dream is to work with companies doing challenging technology-driven development. If this is the case, you are the right candidate for our course.
This course is not meant for people who have no interest/aptitude for anything related to computers/technology and simply want a short-cut to "some job" in the "IT industry".
What is the employment potential of this course?
We use our contacts within the industry to assist the top-performers of a batch find good jobs. The skills that you gain from our course are in great demand in the industry and the demand for qualified manpower far outstrips the supply.
What is the course syllabus and teaching methodology?
There are three major focus areas for this course:
- Linux and Embedded Systems
- Mobile Application development with Google Android
- Scripting languages and web application development
Depending on their aptitude/interest, students can focus on two of the three domains. We do not believe in classroom "theory" lectures - they have very limited utility. Instead, students learn by doing projects related to their focus areas. This is a full time course - students have to be available at our lab from 9:30 to 5:00, from Monday to Friday, for a period of four months.
Here is brief description of each of the three focus areas. Candidates interested in getting a more detailed idea about the course content (or getting some clarifications) are encouraged to contact us over email for a detailed discussion (or simply walk in to our office for a chat - after fixing an appointment by mail).
Linux and Embedded Systems
The objective is to give the participants a thorough understanding of the following topics through hands-on project work:- ARM architecture and assembly language programming
- Linux programming environment/tools
- Linux systems programming
- The GNU toolchain
- Programming Embedded Linux systems
- Linux kernel programming/Device drivers
- Porting kernel/boot loader
Mobile Application Development with Android
Android is a mobile operating system based on the Linux kernel and a Java VM, combined with a set of application level libraries which take care of all aspects of building rich mobile applications. Because of its relatively open nature, it is fast gaining acceptance in the smartphone market. Indian companies like Wipro (and many other smaller firms) are already working on Android projects (check out this link) - the demand for Android programmers is expected to rise sharply.
Our Android training is unique in that not only does it equip the participants with Android application development skills, it also provides them enough exposure to more "system level" aspects like how to bring up Android on embedded development boards.
Scripting languages and web application development
Here are some of the topics covered:
- Scripting in Python
- Web app development with Django
- Introduction to Javascript/JQuery
- Introduction to Scala/Clojure
- Introduction to NoSQL databases (CouchDB and Redis as case study)
- Introduction to the Hadoop MapReduce framework
The emergence of new application deployment strategies like SaaS and technologies like Cloud Computing have created a vibrant job market for people skilled in developing complex web applications. Languages like Python/Ruby have become wildly popular. Frameworks based on these languages (Django, Rails) have made it possible for developers to rapidly build complex applications. Languages like Scala/Clojure are fast becoming popular. Technologies like NoSQL databases, MapReduce etc have made it possible to handle huge amounts of data (say the data generated by social networking sites like Facebook, twitter).