Programming Paradigms: The C Programming Language
The module provides the fundamentals of computer programming in general, as well as the introduction to the C programming language, including operators, control flow, functions, and more advanced features. The module covers basic data types, arrays, structures, and pointer use and arithmetic. Additionally, it discusses the lexical conventions, syntax notation, and semantics of the C programming language.
Fundamental Data Structures and Algorithms
This module introduces fundamental data structures, abstract data types, and classical algorithms commonly used in computer science. The knowledge about data structures and abstract data types helps students develop and express complex relationships of data elements required to successfully design and implement computer software. Learning about classical algorithms equips students not only with the information about solving well-established and studied problems in computer science; it lets them participate in analysis and assessment of those algorithms, developing a stronger understanding of algorithm design in general.
Applied Mathematics for Electronic Engineering
This module focuses on presenting a selection of topics from mathematics required to develop understanding of the field of computer science. This is fundamental to absorbing and appreciating the knowledge related to electronic engineering presented in the other modules of the program. In the later part of the module, the topics shift to refresh the student’s knowledge in a few chosen areas of mathematics that can prove useful to engineers.
Introduction to Electric Circuits and Digital Electronics
The module covers the topics necessary to develop understanding of simple electric circuits. Initially, the topics cover basic elements of the circuits, their properties and parameters, as well as the fundamental laws required to design and analyze such circuits. Then the module discusses use of transistors and logic gates and finally concentrates on combinatorial logic and sequential logic elements of digital circuits.
Introduction to Embedded Microcontroller Systems
The module covers topics needed to build the hardware and software for embedded devices. The key topics include microcontroller and microprocessor systems’ architecture, embedded systems’ standards, organization of board buses, memory interfaces, and their integration with peripherals. The module utilizes the low-level aspects of assembler programming to give students a better understanding of both the under-the-hood elements of an embedded system and the programming model, then follows with the practical applications of the C programming language.
Real-Time Operating Systems for Embedded Microcontrollers
The module introduces real-time operating systems for embedded microcontrollers, with emphasis on process and thread organization, communication, and synchronization. The students learn about available mechanisms that let software developers efficiently utilize resources available in the microcontroller. The students who complete this module should be able to create programs that utilize system calls in the operating system’s environment and competently implement tasks performing parallel processing.
Real-Time Interfacing to Embedded Microcontrollers
The module delivers the topics needed to understand the integration of embedded microcontrollers and microprocessors with the rest of the system. The students learn about the hardware capabilities of the microcontrollers that enable inter process communication and data exchange with the outside world.
As an Embedded Software Developer, he or she will be involved in designing, implementing, testing or maintaining programs for embedded microcontroller systems. The ability to marry the functions of both software and hardware is especially valuable in an Internet of Things (IoT) economy. Possible career pathways include starting out as an Engineer, then progressing to a Senior Engineer, Principal Engineer/Project Manager/Technical Project Lead and Senior Principal Engineer/Senior Technical Project Lead/Senior Project Manager.
This is a full-time, nine-month program consisting of:
- Classroom training (six months)
- On-the-job training (three months)
Fees and Funding
DigiPen (Singapore) will issue a Specialist Diploma in Embedded Software Development to the successful graduates of this AnT program.
Only those applications which meet the prerequisites will be further shortlisted, except for exceptional cases.
Shortlisted applicants will be invited for a technical assessment (45 mins) and a job interview (60 mins).
Technical assessment consists of:
- Introduction to computer programming in C
- Pre-university physics; introduction to electricity and electric currents
- Pre-university geometry and algebra
Calculator or formula sheets are not needed during the technical assessment.
Interviews will only be conducted after the application deadline, in October/November 2019.
Each applicant will be informed of the interview outcome within five working days.
All applicants must check their email regularly for updates and be contactable via their mobile.
Due to the tight schedule of the interviewers, we kindly request that all applicants do not change their interview dates.
Selected trainees will be required to bring their own laptops for the first six months of the classroom training.
Please email us at ce.sg[at]digipen[dot]edu.