You are here:

Computer Science/embedded systems

Advertisement


Question
Sir
I am b.tech aerospace student.I am really interested in studying embedded systems programming.I am pretty good with c++, so i think i should be able to study it by myself.do you think so???Which language is best in this??? and can you suggest a good book for self study??

Answer
Hello,

Thanks for your question.  Embedded systems programming has many different parts to it, so you may want to research exactly what part of embedded systems programming you're interested in pursuing.

In general, embedded systems programming combines a knowledge of electronics with low-level programming.  Most modern embedded programming is done in C because it compiles very efficiently to assembly code on many platforms making it very portable, and is nearly as efficient as programming directly in assembly language directly for a specific processor.

To learn embedded systems programming, I strongly suggest taking some basic computer science courses (data structures and computer architecture).  Along with learning how to program, you'll also need to understand how data structures work, and how much memory they take up.  Since memory management is so important in embedded systems, you should pay special attention to this part of it.

For books, I recommend the book "Introduction to Computing Concepts" by Patt and Patel (ISBN 0-07-246750-9).  It takes you through all of computer science, starting with the lowest level (digital gates) and ending with C and higher-level programming languages.  It gives you an excellent walkthrough of what happens "inside" a computer, from top to bottom.

Computer Science

All Answers


Answers by Expert:


Ask Experts

Volunteer


John OConnor

Expertise

Specific and general questions about computer science, including data structures, file systems, computer programming languages, regular expressions, and Software Engineering. I can answer general and specific questions about Linux. I can answer general and specific questions about the Android operating system. I cannot answer questions about specific problems with Microsoft(R) Windows(R) or Apple(R) Mac(R)

Experience

I've programming computers since 1993, and have a Bachelors of Science in Computer Science. I have 3 years of experience as a professional Software Engineer, and 5 years before that as a professional web developer. Since 2008, I've been the lead engineer at OC-Technology and RAD Software systems, developing mobile applications for various architectures, including the Android Operating System.

Organizations
Linux Users Group at LAX (LiLAX), Open Source Education Institute (founder), Northrop Grumman Linux Users Group (NoGLUG).

Education/Credentials
Bachelors of Science in Computer Science, California State University, San Bernardino.

Awards and Honors
Multiple Commendations from Northrop Grumman Mission and Space Systems,

©2012 About.com, a part of The New York Times Company. All rights reserved.