The expanding application of embedded computers has created a demand for the skill required to program these systems. Programming embedded systems requires skills that differ significantly from those required for writing applications for use in the desktop PC environment. Opportunities in embedded system programming will continue to expand rapidly, as processors are embedded in wide range of products.
The Embedded Computer Software certificate focuses on acquiring the skills necessary to develop embedded systems. Subjects include embedded controller software development and underlying hardware aspects of embedded computing systems. Course topics include programming embedded controllers, practical real-time programming practices, and embedded operating systems. These courses explore the basic principles of embedded processors, and introduce the techniques required to develop reliable, real-time, event driven programs that can run stand-alone or under a real-time operating system.
There will be a $60 fee upon acceptance into the program
Learn the elements of digital logic design required for study in embedded computer design. Topics include: number systems, codes, Boolean algebra, logic gates, small and medium scale integrated circuits, tristate devices, memories, combinational circuits and sequential circuits. The course also provides an overview of foundations of electronics, including elementary DC and AC circuit theory, semiconductor diode and the transistor model, feedback, oscillation and elementary digital gate responses.
Building upon C/C++ Programming I, level II will provide you with a further understanding of the C and C++ programming laungauges. Topics include: the run-time environment, advanced I/O features, advanced pointer and array concepts, basic data structures, efficiency and portability, the Standard C Library, and debugging techniques.
Courses should be taken in the order listed.
Become introduced to the construction and programming of the Arduino Uno board, the popular microcontroller board based on the ATmega328. Many experiments are available online to assist in learning with this board.Intermediate and advanced users will find this course a good review and can participate in more advanced experiments, also available online. Become adept at constructing and programming the Arduino Uno board, which will be used throughout the certificate program.
This course emphasizes the differences between desktop C and embedded C with hands-on assignments using Arduino Uno. Building upon the previous course, level II covers unique requirements of embedded development, embedded C tools and environment, basic interfacing to displays and keypads, basic interrupt driven C programming and the practical aspects of embedded development.
This advanced programming course covers real-time event-driven applications with instant and reliable access to systems resources for embedded microcontrollers. Topics include: low-level microcontroller programming, hardware aspects, interrupt-driven programming, semaphores, I/O, timers and signal conversion. Practical application of embedded controllers to actual event-driven system designs and to problem handling is emphasized.
In this course, you will learn about main problems associated with typical processors. Topics such as pipelining, bubbles, caching, the reason for registers, problems associated with increasing processor speed, and branching are covered. The basic computer schemes using the X86, PowerPC, and GE4 are discussed. These schemes are still used today.
Learn Real Time Operating Systems (RTOS) in embedded applications. This course prepares students to write real-time event-driven applications running under an RTOS. The uCOS RTOS is used as an example which will be examined at the C source code level. Major topics include: basic OS functions, task scheduling, prioritization, inter-task communications, interrupts, semaphores and peripheral I/O operations. Practical applications running under an RTOS for embedded computers in event-driven systems are also described.
From the 'Apply Now' button, login to your student account, complete the online application, and pay the application fee if applicable.
It is preferable that you create an account before proceeding if you have not already done so.
Candidates are encouraged to apply in the certificate program as early as possible to take advantage of program benefits.
See Certificate FAQs for more information.
Science & Technology. Call 858-534-9351 or Email: email@example.com
UC San Diego Extension programs are designed to best serve college-prepared working professionals. Although programs are open to all adult learners, where program capacity is limited, applicants with this profile will receive preference for admission
Yes! This program is designed to be taken completely online at the convenience of your own home or office. For online courses, all activities including assignments, tests, and quizzes are completed online and submitted through Blackboard, our online learning platform. You may click here for a tour of Blackboard. You do not need a password to browse the “Student” tab at the top of the page. You may click on “Getting Started” on the left side column; and can “Take a Course Tour” or select various topics for a general understanding about our Blackboard system.
Yes, the program is open to non-California residents, including non-US residents. The certificate and course fees are the same for all students. If you have questions about how enrolling in courses may or may not affect your visa status, please contact our International Department at firstname.lastname@example.org or (858) 534-6784.
To enroll into a class, click on the class link in the matrix and that will take you to that class page. There you can find a course description, prerequisites, and the start date for that course. To enroll in the course can click on “Add to Cart” which will lead you to complete the registration/payment process.
Students who choose to take one course per quarter can complete the program in about one year and one quarter. Students that need to take the prerequisites will take one or two extra quarters, depending on how they plan their courses. Students may take both prerequisites in the same quarter, and prior to required courses. However, each course includes an average of 6-8 hours of homework per week. Taking more than one class a quarter should be well-thought-out, and other work/school/life commitments should be considered prior to enrolling in more than one class per quarter. You have up to five years to complete all requirements for the certificate.
Students should have general knowledge covered in Introduction to Embedded Systems and C/C++ Programming II : Dynamic Memory and File I/O Concepts prior to taking required courses. If you have this background in either of these courses you may skip the prerequisite(s) you already have knowledge in and enroll in required courses. No waiver is needed.
If you have taken a course from an accredited university covering the learning objectives of a required course, you may be able to transfer a total of one class per certificate to Extension. You may send your request along with details about how the class at your accredited university is equivalent to our Extension course. Attach an electronic transcript and send your email to email@example.com.
If you have not taken a course elsewhere, but already have the skills covered in a course, you may be able to substitute an alternate Extension course in its place. Send your request to substitute one of the program courses to firstname.lastname@example.org. In your request, indicate which course you would like to take and which course it would substitute. Include how a substitution may better meet your professional or employment needs. The class should align with the overall student learning outcomes of this certificate. As previously mentioned only one waiver total can be granted per certificate. Requests for these considerations require departmental approval. Contact email@example.com to make a request or for additional information.
You will find a downloadable resources including “Program Schedule” under "Related Documents" on the right side of the top of this page. If you need further information, please contact the program representative at firstname.lastname@example.org or (858) 534-9351.
There will be a $60 fee upon
acceptance into the program
about Embedded Computer Software
Hear about upcoming events and courses