과목명 | 과목설명 |
---|---|
인공지능프로그래밍 Programming for Artificial Intelligence |
이 과정은 AI가 어떻게 작동하는지 이해하고 최첨단 딥러닝 기술 개발을 준비하는 데 도움을 줍니다. 이 과정에서는 Deep Neural Networks, Convolutional Neural Networks, Recurrent Neural Networks와 같은 AI 아키텍처를 구축하고 훈련하는 방법과 다양한 훈련 최적화 기술에 대해 배웁니다. 또한 각 주제에서 숫자 인식, 이미지 분류, 객체 감지, 기계 번역, 자연어 처리 등과 같은 실제 응용 프로그램을 Python 및 TensorFlow를 사용하여 구현하는 방법을 배웁니다. |
AI시스템온칩설계및응용 System-on-Chip Design for AI/ML applications |
본 수업에서는 인공지능 응용을 가속하기위한 시스템 온칩 (SoC) 설계 전반에 대한 교육을 진행한다. 시스템 온 칩 설계의 기초 개념과 더불어, 수요가 급증하고있는 인공지능/머신러닝 하드웨어 설계능력을 함양하고, 최신 시스템반도체 설계 관련 이슈를 학습한다. |
SW/HW통합설계 Software and Hardware Co-Design |
본 강의는 인공지능, 멀티미디어, 통신, 게임 등 우리 일상에 유용하게 이용되는 응용 알고리즘들의 성공적 구현에 널리 이용되고 있는 설계방법론인 소프트웨어/하드웨어 통합설계를 학습한다. 날로 복잡도가 증가하는 응용 알고리즘을 성공적으로 구현하기 위해 2000년 이후 소프트웨어와 하드웨어 각각의 장점을 극대화하는 설계전략으로 널리 받아들여지고 있다. 성공적 구현을 정의하는 metric으로는 고성능, 저전력, 짧은 개발기간 (time-to-market 또는 TTM)이 많이 활용된다. 이러한 응용 알고리즘들은 고집적화로 제조 비용이 저렴한 반도체로 주로 구현한다. 하드웨어는 고성능 저전력 구현이 용이한 장점이 있고, 소프트웨어는 반도체 제조 후에도 오류정정이 가능하여 짧은 TTM 달성이 용이한 장점이 있다. 즉, 응용 알고리즘의 구성 기능들을 소프트웨어나 하드웨어 중 무엇으로 구현할 지 나누는 hardware-software partitioning 결과에 따라 구현된 결과물의 성공 (저전력, 고성능, 짧은 TTM) 여부가 크게 좌우된다. 또한, 이를 구현하기 위한 소프트웨어와 하드웨어 간의 상호작용 (interaction)에 대한 이해도 전체 시스템 구현 및 성능 최적화에 필수적이다. |
인공지능 Artificial Intelligence |
본 수업에서는 인공지능을 이해하기 위한 수학 및 통계적인 기초를 다루며, 분류 및 예측을 위한 인공지능 알고리즘의 전통적인 방법과 이를 바탕으로 향상된 최신 딥러닝 알고리즘을 배운다. 이론 강의와 함께 컴퓨터 실습을 통해 이론의 이해도를 높이고 알고리즘 활용법에 대해 익힌다. |
컴퓨터비젼 Computer Vision |
인공지능 기반 컴퓨터비젼 알고리즘 설계 및 구현을 위한 기초 영상처리 이론 및 인공지능 이론을 학습하고 관련 실습을 수행한다. |
객체지향프로그래밍실습 Object Oriented Programming Lab |
객체지향 프로그래밍 실습 : 객체, 클래스, 인스턴스, 상속, 다형성 등 자료처리 과목에서 습득한 객체 지향 개념을 C++를 사용해서 실습한다. 또한 자바 애플릿으로 동적, 상호작용적인 웹프리젠테이션을 생성하는 방법을 실제 구현을 통하여 배운다. 이론적인 지식은 고급프로그래밍과목에서 습득한다. |
컴퓨터공학기초실험1 Basic Computer Engineering Lab1 |
선형소자, 회로 성분들을 직병렬로 구성한 각종 회로의 특성을 분석. 다양한 회로 해석법등에 대해서 학습한다. 디지털의 개념과 부울대수학의 기초를 배우며, 게이트 회로 및 논리회로의 구성방법, 플립플롭, 레지스터, 계수기 및 연산기 등을 공부한다. 디지털의 원리를 실험을 통하여 이해한다. |
디지털논리회로1 Digital Logic Circuits1 |
레지스터나 메모리, 카운터, 제어논리 등에서 사용되는 플립플롭에 대해 설명하고, 카운트를 가능하도록 하는 각종의 카운터를 플립플롭을 이용하여 구성하는 방법과 데이터 전송과 저장에서 사용되는 시프트 레지스터, 많은 데이터를 저장할 수 있는 메모리, 두 개의 디지털 시스템 사이에 데이터를 저장하기 위한 인터페이스, 각종의 2진 산술연산과 마이크로 프로세서, 컴퓨터의 기본구성 회로에 대한 이해를 통해 컴퓨터 동작의 기본을 이해하며 이를 응용하여 각종 디지털 회로를 구현할 수 있는 기초지식을 쌓는 것을 그 목적으로 한다. |
회로이론 Electric Circuit Theory |
대부분의 공학 시스템은 하나의 구성요소로서 전기회로를 사용한다. 이들 회로들은 그 시스템의 동작과 사람 또는 시스템과의 상호작용에 있어서 필수적이다. 필터, 전력, 전동기, 전자공학 또는 제어 이론에 대하여 배우기 위해서는 먼저 회로이론에 관한 것을 알고 있어야 한다. 회로의 기초개념, 파형, 회로방정식, 회로의 응답 및 정리, 가변회로 및 공진회로의 해석, 결합회로, 비정현파와 푸리에 급수 및 라플라스 변환, 다상회로에 관한 내용을 다룬다. |
객체지향프로그래밍설계 Object Oriented Programming |
C++와 JAVA 등의 객체 지향 언어를 배우고 이를 통하여 객체 지향 개념(클래스, 인스턴스, 객체, 상속, 다형성, Encapsulation 등)을 익힌다. 고급프로그래밍 실습과목에서 작성하는 프로그램을 완성하기 위해 필수적인 이론을 배운다. |