Various multimedia systems, such as Mobile Phones, DMB, Digital TVs, MP3s, Set-Top Boxes, WLAN, etc., make our lives enjoyable.
The knowledge to design and implement these multimedia systems requires embedded software technology and digital signal processing technology.
We operate the curriculum according to the demand of companies, aiming to foster human resources with the ability to implement embedded software based on hardware knowledge and design SoCs.
Therefore, our graduates will be welcomed by telecommunications, digital TV, home network, and semiconductor design companies that require embedded software technology and SoC technology.
Course Outline
-
- Differential and Integral Calculus
-
Understand the basic concepts of engineering mathematics and develop the ability to analyze various problems mathematically.
Key topics include functions, derivatives, integrals, and exponents
-
- Discrete Mathematics
-
This course introduces the mathematical background of discrete environments utilized in computing.
This will be illustrated by case studies that require input/output interfaces.
-
- Introduction to Creative Design
-
Students are encouraged to develop their challenge, creativity, and engineering imagination through the process of designing whole systems, details, and procedures to realize the desired object creatively.
By applying basic scientific and mathematical knowledge and acquired experience to actual production, students will develop fundamental skills in systematic creative design that combines theoretical and empirical intuition.
Students will also develop the ability to generate ideas, plan, and analyze for problem-solving, and recognize the importance of teamwork through cooperation and coordination with team members.
Furthermore, by publicly presenting design plans and results, students will improve their communication skills by systematizing report writing and presentation techniques.
-
- Industrial Mathematics
-
Students will learn how to model and solve various phenomena in physics, economics, etc., with differential equations.
The course content includes first, second, and higher-order differential equations and the Laplace transform.
-
- Digital Logic Circuits
-
This course provides students with skills in digital circuit and insertion and microprocessor design by considering the requirements of designing for systems that require digital system control.
The Top-down design methodology promotes detailed knowledge of practical implementation techniques.
K-maps are introduced to design and realize integrated circuits, multi-transmitters, and translators. The use of paired stabilizers is extended to the design and realization of simple serial machines (FSMs). Examples of CISC and RISC processor structures illustrate the structure of a typical microprocessor. The Advanced RISC Machine (ARM) assembly language has been studied in detail and used as a delivery tool for search programming in the assembly language that forms the basis of laboratory studies. The integration of inserted microprocessors in digital systems will be discussed through case studies that require input/output interfaces.
-
- Circuits and Devices
-
Students will learn the following concepts.
(1) Learn the theory of electric circuits, voltage, current, power, energy, resistance, capacitance, inductance, and circuit analysis by node and mesh method according to Kirchhoff's law. Also, practice using circuit simulation tools such as Multi-sim and training using breadboards will be practiced.
(2) Learn about the operation and applications of semiconductor devices such as diodes, operational amplifiers, MOSFETs, and BJTs.
(3) Learn about analog filters, amplifiers, and data converters for embedded systems.
-
- HW&SW Integrated System Design
-
Students will learn the following concepts
(1) Overview of embedded system, IC technology (ASIC, PLD, FPGA structure), processor and design technology
(2) FPGA-based HW/SW integrated system, HW/SW characterization
(3) Understanding FPGA-based embedded systems, design models (FSM, HCFSM, PSM, and DFG), FSM and DFG models, and SoC implementation.
-
- Introduction to Embedded Systems
-
Multimedia systems combine modern hardware for sound and video with suitable software tools to produce integrated products for educational, commercial, and industrial applications.
This course introduces the relevant hardware and software technologies, explains their functional aspects, and evaluates the most appropriate hardware and software technologies and standards for typical applications.
-
- Data Structures
-
This course covers how to efficiently organize and access data in software. It covers stacks, queues, linked lists, trees, graphs, and hashing in data structures.
This will give students a basic understanding of organizing and accessing data for software implementations. Students will also learn how to apply them to create complex data structures.
-
- Microcontroller Structure
-
In this course, students will learn the basic structure of microcontrollers, which are the basis of embedded systems, and understand the internal structure and functions of microcontrollers, focusing on MCUs of popular embedded platforms.
They will also learn various techniques to control the functions of each MCU as software through SFR (Special Function Register).
It also covers detailed topics such as GPIOs, external interrupts, timers/counters, serial communication, and power management.
-
- Microcontroller Applications
-
This course uses microcontrollers to implement basic embedded systems and understand the connection between the various functions of microcontrollers and the results in terms of applications through multiple experiments.
In particular, students can acquire specialized embedded technology by implementing the most widely used commercial embedded platforms from the low level to develop the entire system and application.
-
- Algorithms
- This course introduces algorithms, the basics of algorithmic analysis, and covers graph-related algorithms, backtracking algorithms, and Huffman coding.
-
- Object-Based Software Design
-
This course covers the design and implementation of networking-oriented applications in Java.
It also includes user interface design, algorithm development, and networking.
Students will learn to design the application requirements using UML, develop the necessary algorithms, and implement them in Java to make them operate.
Students will also learn to evaluate whether the implementation satisfies the application requirements.
-
- Introduction to Signal Processing
-
This course allows students to mathematically represent continuous-time and discrete-time signals and systems and interpret and characterize them using Fourier representations (Fourier series and Fourier transforms), the Laplace transform, and the Z-transform.
It includes general concepts of signals and systems, linear properties, time-invariant properties, convolution, frequency domain representation of time functions, representation of linear time-invariant systems in time and frequency domains, system transfer functions, system stability and causality analysis, Laplace transform, Z transform and their applications.
-
- Firmware Design
- Students will learn how to control hardware devices related to the CPU of an embedded board directly without the help of an operating system and libraries. It also helps to develop programming skills for hardware control using the C language.
-
- Embedded SW Engineering
- This course will improve students' ability to use embedded systems with ARM cores and build software for them.
-
- Device Driver Development
- This course focuses on developing device drivers for embedded Linux-like operating systems. Students will learn to design and program in C to solve more complex problems.
-
- Robotic Systems
-
Students learn the control theory that is fundamental to the operation of robot manipulators and utilize it to control actuators like motors.
It also introduces geometric transformations and simulation techniques to control robot movement in three dimensions.
In addition, students will acquire practical knowledge through design techniques and the implementation of intelligent robots in conjunction with image processing and sensor utilization.
-
- Field Training Practice (1)
-
During the vacation, students will be engaged in fieldwork to extend the knowledge gained through the university program and develop the skills necessary to work in an industrial setting.
Students will experience the use of computer technology to solve production, engineering, and management problems and obtain applied knowledge from first-hand experience in an industrial setting.
They will also be able to develop the social and technical skills and communication abilities required to work effectively in a team.
-
- Capstone Design (1)
- Students are encouraged to synthesize the knowledge of various majors and develop the ability to present solutions to a given problem through deriving requirements, design, implementation, and verification.
-
- Capstone Design (2)
- Students are encouraged to synthesize the knowledge of various majors and develop the ability to present solutions to a given problem through deriving requirements, design, implementation, and verification.
-
- C Language Programming (1)
- Students will learn the syntax and programming elements of the C language and use them to write applications of different difficulty levels.
-
- Understanding and Practicing Matlab
-
Students will develop the ability to easily understand and apply Matlab to solve engineering problems.
You will also learn techniques for handling various data using Matlab's powerful vector and matrix operations.
In addition, they will develop the ability to represent data using two- and three-dimensional graphs.
Matlab is simple to use, has a wide range of engineering libraries, and provides a powerful object-oriented programming language. This course teaches advanced techniques for utilizing these features of Matlab through the creation of functions and scripts.
Basic methods for representing and manipulating multimedia data, such as sound and pictures, using Matlab will also be introduced.
-
- C Language Programming (2)
- This course focuses on the C language and improves programming skills through various example problems.
-
- Introduction to Open Source HW
-
This course teaches students how to understand and utilize open source HW embedded platforms that have publicly available schematics, components, and related software.
Students will learn how to control sensors, actuators, and interconnect with peripheral devices through serial communication based on an understanding of the structure of Arduino through theory and practice.
The course consists of learning how to write an Arduino sketch program, making parts through 3D printing, writing a smartphone app to interact with Arduino, interfacing with Matlab's GUI, and serial communication techniques using wireless optical communication.
Students will collaborate to design and build creative works utilizing open-source HW.
-
- Linear Systems
-
This course provides a systematic understanding of the operations and properties of vectors and matrices, including linear transformations and eigenvalue analysis, and covers techniques for their application to linear systems.
The course will include a practical course on digital signal processing boards, and students will acquire essential basic knowledge of signal processing and control systems.
Basic knowledge of Matlab and C language is required.
-
- Introduction to Embedded Software
- Students will learn the essential characteristics of embedded software, acquire Linux commands, and understand embedded software by developing C programs on a Linux system.
-
- Telecommunications Engineering
-
This course provides an understanding of the functions that a communication system must have to carry analog and digital signals, and covers components, elementary techniques, and basic theory.
The first part introduces analog signals' power, spectrum, and analog demodulation techniques.
The second part introduces AD conversion, baseband digital demodulation, and passband digital demodulation.
Students will be introduced to the concepts of signal-to-noise ratio, the nature of noise, and bit rate, as well as computer simulation techniques to understand the performance of communication systems operating in noisy environments.
-
- Random Process
- This course is about the random process of systematically analyzing and understanding unpredictable stochastic phenomena in developing software and hardware of embedded systems. It covers probability theory, random variables, processing of random data, convolution, collocation, spectral density, etc. It is a fundamental course linked to communication theory, signal processing, image processing, and embedded control and includes practical exercises based on Matlab.
-
- Control Engineering
-
Control Engineering is a subject that is becoming more important as IT technologies like embedded systems develop, and this course will provide fundamental theories for the control of physical systems and conduct practical exercises on important topics.
Students will systematically understand mathematical modeling (Laplace transform), state space techniques, time domain and frequency domain analysis, stability determination, PID control, etc.
The course also emphasizes understanding various sensors and actuators comprising control systems.
-
- Sensor Engineering
-
Sensor engineering is a course that allows students to study various sensors that are essential to embedded systems and construct them themselves.
Sensors that acquire different information from the outside are critical to the operation of information processing systems in a highly informed society.
Sensor technology has emerged as a core IT technology, bringing considerable ramifications to the information age.
This course introduces sensor technology, which is highly multidisciplinary and begins with basic physical and chemical phenomena. It explains its working principles to improve students' understanding and application of crucial sensors.
-
- Image Processing
-
This course covers general technologies in the field of image processing.
Students will learn how to understand and apply basic algorithms.
Students will also read and understand the latest research papers on image processing and experiment and develop their skills to apply image processing in the real world.
-
- Embedded Communication Systems
-
This course introduces the wired and wireless communication technologies applied in embedded systems, including baseband wired communication, local area network communication, cellular communication, and satellite communication, including their operating principles, signal processing techniques, and peripheral devices.
It also covers communication signal processing element technologies, including synchronization, channel estimation, equalizer, band spreading, OFDM, etc.
-
- Embedded Structures
- Students will learn the following concepts: (1) basic knowledge of embedded structures and microarchitecture; (2) instruction set structure, pipelining, memory hierarchy, and I/O systems; (3) hardware/software techniques for high performance.
-
- Embedded Vision Systems
-
This course introduces students to image and signal processing concepts, computer vision, and related technologies that benefit humans.
The following topics are covered in both 2D and 3D:
- image formation, radiometry, photometry, shading, 3D coordinate systems, homogeneous coordinates, stereoscopic 3D reconstruction, elementary differential geometry, algorithms for processing 3D range and mesh surface data.
-
- Code and Information Theory
-
Understand the theory of entropy, compression, error-correcting encryption, and cryptography of digital information and learn specific techniques that are being applied in modern embedded devices.
The implementation and compression topics include voice and data compression; error-correcting coding techniques include block coding techniques such as Hamming and Reed-Solomon coding, weaving and turbo coding; and cryptography topics include mathematical background, AES, and public key cryptography.
-
- Operating Systems.
-
This course introduces the Linux kernel, an initial review, bootstrap systems using floppy or Rom/Eprom, payphones, research in industrial systems, industrial systems, Internet upgrades, preventing user hacking and modification, digital inputs, memory outputs, interactive devices, controlling external hardware, an overview of driver devices, toolchains, real-time extensions, cross translators, Linux for microcontrollers, the UClinux development environment, ucsimm, portable and consumer products running on Linux.
Students are required to complete a hands-on Linux project. The Linux hands-on project helps people to develop software control processes and data collection for Linux. It must be understood as a pool of software and knowledge for application developers and those interested in working with this material in an educational or industrial setting. It will provide a standardized development environment for a broad and diverse range of applications, from hardware support to application development.
In addition, this hands-on project will provide real-world practice with Windows CE, .NET, Bluetooth, Advanced ARM for Windows CE, and Windows XP.
-
- Embedded Systems Special Lecture
- This course is designed for students to learn about recent significant issues in embedded systems engineering and consider future developments and applications.
-
- Network Architecture and Design
-
This course provides students with an understanding of the basic structure and protocols of the Internet and various network programming techniques based on the Internet.
Starting with Linux-based socket programming, students will learn Internet programming on various platforms and in multiple languages, and based on this, they will acquire different skills in efficient protocol design techniques for new applications.
-
- Databases
-
This course provides database theory and practice and teaches about the unique features of embedded DB considering the mobile environment.
Students will work on a project to design and implement a simple DBMS based on an embedded platform.
The database practice utilizes SQL-based DB, and the theory focuses on transaction and concurrency control. Through this, students will gain an understanding of embedded DB and considerations for application.
-
- Mobile SW
-
Students will develop various application software that can be utilized on embedded boards.
They will experience the latest embedded operating systems such as Velos, Embedded Linux, and Android and perform various application projects.
-
- Internet of Things
-
In this course, students will learn about the basic concepts of the Internet of Things and its various applications.
It covers various connectivity technologies and applications, including the requirements of different embedded platforms for IoT. In addition, by investigating and analyzing IoT applications that have recently become an issue, they will develop their ability to understand the latest trends and development methodologies related to IoT.
-
- Advanced Algorithms
-
This course covers the design and analysis of efficient algorithms, including dynamic programming, search techniques, approximate algorithms, and machine learning.
-
- Security and Cryptography
- Students will learn the methods used in modern security systems against the background of the mathematical knowledge underlying cryptography and gain an introduction to the mathematical and computational proof theory that forms the basis of modern cryptography.