교과목 안내

- 학부
- 교과목 안내
- 이산수학 (Discrete Mathematics)
- 컴퓨터공학의 기초가 되는 수학적 기본 지식을 익히고, 이산적 모델링을 할 수 있는 능력을 갖춘다. 구체적으로는 논리, 증명, 집합, 함수, 정수, 수학적 귀납법, 추론, 확률, 관계, 그래프, 트리, 부울 대수, 계산 모델링을 배운다.
- 프로그래밍 입문 (Intoduction to Computer Programming)
- 프로그래밍 입문 교과에서는 ‘컴퓨팅적사고와 문제해결’ 교과에서 배운 개념을 바탕으로 학생들에게 본격적인 프로그래밍을 교육한다. C와 같은 절차적 언어를 기반으로, 문제를 분석하여 프로그램으로 구현하는 방법을 강의한다. 첫 프로그래밍 교과에서 공부한 프로그래밍 개념을 심화시켜 프로그래밍 수준을 한 단계 상승시킬 수 있도록 하는 것이 목표이다.
- 확률통계론 ( Probability and Statistics )
- 인공지능, 머신러닝 이론에 토대가 되는 기초 수학, 즉, 선형대수, 미적분, 확률과통계를 핵심 주제별로 학습하고, 파이썬 프로그래밍을 통하여 이러한 수학적 개념이 인공지능에 어떻게 활용되는지 학습한다.
- 디지털논리 (Digital logic Design)
- 디지털 논리회로는 디지털 시스템의 구성 및 동작원리와 논리회로의 분석 및 설계 방법에 대한 기본지식을 다룬다. 디지털 시스템을 구성하는 이진논리의 기본 개념을 파악하고, 부울함수의 간소화 방법과 부울함수의 구현방법을 통해 조합논리회로와 순차논리회로의 분석과정 및 설계과정을 수행한다.
- 자료구조 (Data Structure)
- C++ 프로그래밍 언어와 함께 효율적인 알고리즘과 자료구조의 설계 및 분석에 대해 학습한다. 배열, 연결리스트, 스택, 큐, 그래프 등의 기본적인 자료구조와 관련된 알고리즘을 습득한다.
- 임베디드 SW 입문 (Introduction to Embedded SW)
- 제한된 환경에서 긴 시간 별도의 관리 없이 운용되는 임베디드 SW가 가지는 특징을 이해하고, 이를 위한 프로그래밍을 할 수 있다. 센서 등 외부장치를 이용한 정보를 수집하고 이해할 수 있다. 임베디드 시스템에 필수적인 개발환경을 이해하고 사용한다.
- AI 프로그래밍 (AI Programming)
- 머신러닝 기반의 소프트웨어의 구조와 특징을 소개하고 이를 구현하기 위한 프로그래밍 도구들을 익히고 실습함으로써, 머신러닝, 딥러닝 응용, 컴퓨터비전, 데이터 사이언스 등을 학습하기 위한 프로그래밍 기초를 쌓는다.
- AI입문 (Artificial Intelligence: The Basics)
- 미래 기술의 핵심으로 떠오르는 인공지능의 주요 이론들과 기술적 발전 동향 그리고 사회적 파급효과를 이해한다. 이를 통해 상상하는 것이 곧 현실이 된다는 IT적 상상력과 융합적 사고능력을 함양한다. 또한 인공지능시대의 도래에 선제적으로 대응할 미래 통찰력을 기른다.
- 객체지향프로그래밍 (Object-Oriented Programming)
- Kotlin 언어를 기반으로 객체지향 프로그래밍에 대하여 공부한다. Object, Class, Inheritance, Polymorphism, Late Binding 객체지향 모델링 등에 대하여 배우고 이를 이용한 모바일 프로그래밍의 기초를 학습한다.
- 시스템프로그래밍 (System Programming)
- 어셈블리어 프로그래밍,시스템구조,어셈블러,로더,매크로 및 운영체제의 구조에 대해 강의하고 이러한 소프트웨어의 제작을 위한 프로그래밍 기법을 학습한다. 또한 프로젝트를 통해 직접 이러한 소프트웨어의 개념을 정리하고 익혀 실제로 쓰이는 지식을 습득한다.
- 컴퓨터네트워크 (Computer Networks)
- 컴퓨터간의 망구성 이론 및 종류를 이해하고 ISO/OSI 모델에 관하여 각 계층별로 상세하게 설명한다. 그리고 TCP/IP에 관하여 설명을 하며 이를 UNIX시스템 상에서 응용프로그램들을 Term Project 를 통하여 실습하게 된다.
- 컴퓨터구조론 (Computer System Architectures)
- 이 강의는 현대 컴퓨팅 시스템 구조를 설계하기 위한 기본 개념들을 소개한다. 컴퓨터 시스템의 구성을 이해하기 위하여 필요한 명령어집합구조, 연산장치, 메모리 장치, 입출력장치, 제어장치 등의 역할과 동작원리를 이해하고, 설계시 고려해야 될 사항을 배운다. 더불어 MIPS 프로그래밍을 통해 컴퓨터의 동작 원리를 터득한다.
- 알고리즘해석및설계 (Analysis and Design of Algorithms)
- 전자계산에 대한 알고리즘에 체계적인 구조와 분석 방법, 연산의 모델, 복잡도, 하한계, 축소성, P 및 NP Complete문제, Sets 및 Strings Graph 등을 이용한 탐색 등을 학습한다.
- Adventure Design
- 공학설계 절차에 따라 드론, AI/SW기술 기반 서비스 등을 디자인하고 설계하는 팀 프로젝트형 수업을 진행하며, 이를 통해 항공/기계, 전자, 소프트웨어 등 다양한 분야에 대한 융합적 역량을 기른다. 드론, AI/SW 서비스 등과 연관된 개방형 문제에 대한 해결능력을 함양하기 위한 자기 주도형 프로젝트를 수행함으로써 창의적 디자인/설계의 개념과 방법론, 팀 조직과 협업 등을 학습한다.
- IT and Software English
- This course is designed to help software and IT focused students to understand, discuss, and present various software and IT related topics through English at an international level. Formal language used in writing and presentations, such as email inquiries and technology demonstrations, will be introduced, analyzed, and then done in turn by students. In addition, casual settings with discussion of software problems and solutions in online communities will also be covered. Students will be given multiple opportunities throughout the semester to use and improve their English in all of these areas, in groups as well as by themselves.
- 컴퓨터운영체제및실습 (Computer Operating System and Lab)
- 운영 체제의 정의, 기능, 오퍼레이션에 관하여 상세한 설명을 한다. 구체적으로는 프로세스 스케쥴링, 메모리 관리, 화일 관리, 프로세스간 통신, 입출력 관리, 데드락등이 포함된다. 그리고 실제 운영체제를 시뮬레이션해 봄으로써 컴퓨터를 운영하는 주 프로그램의 내부 동작에 관하여 상세하게 배우게 된다.
- 산학프로젝트 (Cooperative Projects)
- 학생으로 이루어진 팀이 산업체 현장에서 찾아낸 주제를 프로젝트로 구성하여 진행 계획을 제안하여 산업체 멘토와 학교 교수진의 자문을 바탕으로 자기 주도적으로 실행하여 문제를 해결하고 결과를 도출한다. 주제는 소프트웨어 관련 분야에 한하고 진행 단계별로 담당교수의 승인이 필요하다.
- 문제해결기법 (Problem solving)
- 이 과목에서는 주어진 문제를 제약 조건을 만족하는 컴퓨터 프로그램을 작성하여 해결하는 방법을 학습한다. 기초적인 알고리즘, 자료구조 지식을 복습하고, 보다 발전된 알고리즘 및 자료구조를 C++/Java 등 프로그래밍 언어를 이용하여 구현하는 과정을 배운다.
- 프로그래밍언어와 컴파일러 (Programming Language and Compilers)
- 컴퓨터 언어의 이론과 설계 구현 방법에 대하여 공부한다. 프로그래밍 언어의 변천사를 살펴보고 구문 이론, 타입 시스템, 실행시간 메모리 구조 등을 배운다. 프로그램을 컴퓨터 상에서 실행하기 위해 필요한 프로그램 번역기와 관련된 이론과 도구에 대해서도 알아본다.
- 데이터사이언스 기초 (Data Science Fundamentals)
- 기업, 정부, 사회 등의 다양한 분야들에서 정보 기술들이 활용됨에 따라 이들 분야로부터 많은 양의 데이터가 산출되고 있다. 이 과목에서는 이러한 데이터로부터 유용한 정보를 추출하기 위한 데이터 분석 알고리즘 및 예측 모델 생성기법의 원리와 개념을 이해하고 이들 기술들을 실제 데이터에 적용하는 방법에 대하여 학습한다. 이 과목에서 다루는 주요한 주제는 데이터 전처리, 지도 및 비지도 학습, 기술통계, 데이터 시각화, 기계학습, 분류 및 예측 모델, 군집 분석, 모델의 성능평가 기법 등이다.
- ICT학점이수인턴제
- 국내 ICT (정보통신) 관련 중소 중견기업의 R&D프로젝트, 서비스개발 등에 학생이 참여하여 인턴십을 수행하고 이를 학점으로 인정받도록 하여 이론과 실무역량을 겸비한 문제해결형 ICT인재를 양성하는 인턴십제
- 소프트 장기현장실습 (SW field placement)
- 국내외 산업현장 또는 기관에서 협약에 따라, 현장교육을 실시하고 이에 따라 학점을 인정하는 제도로써, 대학에서 교수한 지식과 학문을 기관, 단체, 연구소, 산업체 등에서 학생들이 실무를 통해 적용능력을 부여하고자 함.
- 소프트 단기현장실습 1,2 (SW field placement 1,2)
- 국내외 산업현장 또는 기관에서 협약에 따라, 현장교육을 실시하고 이에 따라 학점을 인정하는 제도로써, 대학에서 교수한 지식과 학문을 기관, 단체, 연구소, 산업체 등에서 학생들이 실무를 통해 적용능력을 부여하고자 함.
- 데이터베이스기초 (Introduction to Database)
- 데이터베이스 시스템의 기본적인 개념을 강의한다. 데이터 모델과 데이터베이스 설계, 데이터베이스 언어 및 프로그래밍, 파일 구조와 인덱싱과 같은 데이터베이스 관리 시스템 구현, 데이터베이스 최신 응용 분야 등에 대해 학습한다.
- 웹SW스튜디오및재능기부 (Web Software Studio and Talent Donation)
- 상호대화형의 자료 구동형 웹사이트 구축을 위한 서버와 클라이언트 기술에 관하여 학습한다. 웹사이트 구축을 위한 데이터베이스 연동 및 웹사이트 구축을 위한 프로그래밍 기술을 습득할 수 있다. 강의내용은 자바 스크립트, XML, ASP, PHP, MySQL, ColdFusion 등이다.
- IoT
- IoT의 기본개념과 활용방법을 이론과 실습을 통해 습득한다. 이 교과목에서는 IoT의 일반적인 기술뿐 아니라 최근에 산업현장에서 사용되고 있는 대표적인 모듈인 ESP32와 클라우드 환경인 AWS IoT Cloud를 활용하여 응용과 서비스를 구현함으로 실제적인 IoT 역량을 배양하는 것을 목표로 한다.
- 정보보호 (Information Security)
- 날로 중요해져 가는 정보보호에 대한 기초를 다룬다. 3가지 종류의 암호알고리즘, 암호알고리즘 SW구현 등에 대해 기초적인 지식을 습득하고 공개키 기반구조, 전자상거래 및 인터넷 보안에 대한 기초를 다룬다. 또한 시스템 보안의 기초를 가상머신에서 실습하며 CSO(Chief Security Officer)로서의 기술을 익히게 한다.
- 컴퓨터운영체제및실습 (Computer Operating System and Lab)
- 운영 체제의 정의, 기능, 오퍼레이션에 관하여 상세한 설명을 한다. 구체적으로는 프로세스 스케쥴링, 메모리 관리, 화일 관리, 프로세스간 통신, 입출력 관리, 데드락등이 포함된다. 그리고 실제 운영체제를 시뮬레이션해 봄으로써 컴퓨터를 운영하는 주 프로그램의 내부 동작에 관하여 상세하게 배우게 된다.
- 산학프로젝트 (Cooperative Projects)
- 학생으로 이루어진 팀이 산업체 현장에서 찾아낸 주제를 프로젝트로 구성하여 진행 계획을 제안하여 산업체 멘토와 학교 교수진의 자문을 바탕으로 자기 주도적으로 실행하여 문제를 해결하고 결과를 도출한다. 주제는 소프트웨어 관련 분야에 한하고 진행 단계별로 담당교수의 승인이 필요하다.
- 문제해결기법 (Problem solving)
- 이 과목에서는 주어진 문제를 제약 조건을 만족하는 컴퓨터 프로그램을 작성하여 해결하는 방법을 학습한다. 기초적인 알고리즘, 자료구조 지식을 복습하고, 보다 발전된 알고리즘 및 자료구조를 C++/Java 등 프로그래밍 언어를 이용하여 구현하는 과정을 배운다.
- 프로그래밍언어와 컴파일러 (Programming Language and Compilers)
- 컴퓨터 언어의 이론과 설계 구현 방법에 대하여 공부한다. 프로그래밍 언어의 변천사를 살펴보고 구문 이론, 타입 시스템, 실행시간 메모리 구조 등을 배운다. 프로그램을 컴퓨터 상에서 실행하기 위해 필요한 프로그램 번역기와 관련된 이론과 도구에 대해서도 알아본다.
- 데이터사이언스 기초 (Data Science Fundamentals)
- 기업, 정부, 사회 등의 다양한 분야들에서 정보 기술들이 활용됨에 따라 이들 분야로부터 많은 양의 데이터가 산출되고 있다. 이 과목에서는 이러한 데이터로부터 유용한 정보를 추출하기 위한 데이터 분석 알고리즘 및 예측 모델 생성기법의 원리와 개념을 이해하고 이들 기술들을 실제 데이터에 적용하는 방법에 대하여 학습한다. 이 과목에서 다루는 주요한 주제는 데이터 전처리, 지도 및 비지도 학습, 기술통계, 데이터 시각화, 기계학습, 분류 및 예측 모델, 군집 분석, 모델의 성능평가 기법 등이다.
- ICT학점이수인턴제
- 국내 ICT (정보통신) 관련 중소 중견기업의 R&D프로젝트, 서비스개발 등에 학생이 참여하여 인턴십을 수행하고 이를 학점으로 인정받도록 하여 이론과 실무역량을 겸비한 문제해결형 ICT인재를 양성하는 인턴십제
- 소프트 장기현장실습 (SW field placement)
- 국내외 산업현장 또는 기관에서 협약에 따라, 현장교육을 실시하고 이에 따라 학점을 인정하는 제도로써, 대학에서 교수한 지식과 학문을 기관, 단체, 연구소, 산업체 등에서 학생들이 실무를 통해 적용능력을 부여하고자 함.
- 소프트 단기현장실습 1,2 (SW field placement 1,2)
- 국내외 산업현장 또는 기관에서 협약에 따라, 현장교육을 실시하고 이에 따라 학점을 인정하는 제도로써, 대학에서 교수한 지식과 학문을 기관, 단체, 연구소, 산업체 등에서 학생들이 실무를 통해 적용능력을 부여하고자 함.
- 데이터베이스기초 (Introduction to Database)
- 데이터베이스 시스템의 기본적인 개념을 강의한다. 데이터 모델과 데이터베이스 설계, 데이터베이스 언어 및 프로그래밍, 파일 구조와 인덱싱과 같은 데이터베이스 관리 시스템 구현, 데이터베이스 최신 응용 분야 등에 대해 학습한다.
- 웹SW스튜디오및재능기부 (Web Software Studio and Talent Donation)
- 상호대화형의 자료 구동형 웹사이트 구축을 위한 서버와 클라이언트 기술에 관하여 학습한다. 웹사이트 구축을 위한 데이터베이스 연동 및 웹사이트 구축을 위한 프로그래밍 기술을 습득할 수 있다. 강의내용은 자바 스크립트, XML, ASP, PHP, MySQL, ColdFusion 등이다.
- IoT
- IoT의 기본개념과 활용방법을 이론과 실습을 통해 습득한다. 이 교과목에서는 IoT의 일반적인 기술뿐 아니라 최근에 산업현장에서 사용되고 있는 대표적인 모듈인 ESP32와 클라우드 환경인 AWS IoT Cloud를 활용하여 응용과 서비스를 구현함으로 실제적인 IoT 역량을 배양하는 것을 목표로 한다.
- 정보보호 (Information Security)
- 날로 중요해져 가는 정보보호에 대한 기초를 다룬다. 3가지 종류의 암호알고리즘, 암호알고리즘 SW구현 등에 대해 기초적인 지식을 습득하고 공개키 기반구조, 전자상거래 및 인터넷 보안에 대한 기초를 다룬다. 또한 시스템 보안의 기초를 가상머신에서 실습하며 CSO(Chief Security Officer)로서의 기술을 익히게 한다.
- 소프트웨어공학 (Software Engineering)
- 소프트웨어 개발과정에 필요로 하는 프로젝트 관리 기법과 요구사항 분석, 설계, 테스팅 및 유지보수에 이르는 소프트웨어공학의 핵심 개념들을 이해한다. 또한 품질보증, 재공학 그리고 소프트웨어 미래 동향에 대해 학습한다. 각 과정별 개념과 이론은 물론 방법론과 도구에 대해서도 체계적으로 배운다. 이를 통해 체계적이고 창의적인 소프트웨어 설계능력과 프로젝트 수행능력을 함양한다.
- 데이터사이언스 응용 (Data Science Applications)
- 이 과목에서는 다양한 형식과 내용의 빅데이터에 대한 기계학습 기술들을 이해하고 이들 기술들의 효과적인 적용 방법을 학습한다. 데이터 사이언스 기술의 실용적인 측면에 집중하기 위하여 실제 데이터 분석 사례들을 연구하고 R, Python 등의 데이터 분석 도구를 효과적으로 적용하는 방법을 학습한다. 또한, 빅데이터 분석에 대한 실무 능력을 습득하기 위하여 실습 등을 통하여 분석 과정을 실행하고 산출된 분석 결과에 대한 해석 및 표현을 시도한다. 이 과목에서 다루는 주요한 주제는 시계열 분석, 추천시스템, 소셜 네트워크 분석, 멀티미디어 데이터 분석 기술, 최적화 기법 등 데이터 사이언스의 응용, 심화된 기법들을 포함한다.
- 종합설계프로젝트 I,II (Capstone Design I,II )
- 전공 분야별로 주어진 과제에 대해 개념 설계, 연구 추진, 구체적인 시스템 구현 및 발표 등 독창적인 설계 능력과 프로젝트 수행능력을 기른다.
- 창업종합설계 I,II (Capstone project for startups I,II )
- 창업을 목표로 종합설계프로젝트를 수행한다. 창업 목표설정, 설계 단계를 수행한다. 중간결과물의 상업적 경쟁력을 주요 평가 지표로 한다.
- AI융합 Capstone Design I,II (AI-based Capstone Design I,II)
- AI 드론 분야에 관련된 프로젝트를 종합적으로 실습하고, 창의적 문제해결 능력을 배양하기 위하여 학생들이 스스로 정한 주제를 가지고 프로젝트를 수행하며 결과를 캡스톤 디자인 프로젝트 발표회에서 발표한다. 프로젝트는 팀단위로 이루어지며, 담당교수가 프로젝트의 목표, 계획수립, 구현과정을 학생이 팀 단위 스스로 수행할 수 있도록 지도한다.
- 데이터베이스스튜디오 (Database Studio)
- 좋은 데이터베이스를 설계하는 방법에 대해 강의한다. 요구조건 분석, 개념 모델링 (개체 관계 모델링), 관계 데이터베이스 설계, 정규화, 설계방법론, 데이터베이스 설계 도구 등에 대해 학습한다. 또한, 데이터 웨어하우스, 빅 데이터 등 새로운 데이터베이스 응용을 위한 설계 기법에 관해서도 소개한다.
- 시뮬레이션 (Simulation)
- 공학기술의 눈부신 발전에 따라 높은 복잡도의 문제 해결에 대한 요구가 증가되고 있다. 특히 4차산업혁명 시대의 도래와 함께 인공지능 기반의 자율로봇, 무인 자율 시스템, 가상현실, 게임, 환경 분석, 교통 예측 등 다양한 분야에서 공학적 분석 요구가 높아지고 있다. 본 과정은 기존의 해석적 해결방법으로는 불가능한 복잡도 높은 문제들을 해결할 수 있는 컴퓨터시뮬레이션기법의 주요 개념과 방법들을 다룬다. 이를 위해 첨단 모델링 형식론과 시뮬레이션 엔진을 이해하고 이를 통한 응용능력을 함양한다.
- TA인턴쉽 I,II,III,IV (Teaching Assistant Internship I,II,III,IV )
- 본 과목에서는 3, 4학년 학생이 조교 역할을 수행하여 수업과 실습에서 강의를 효율적으로 진행할 수 있도록 교수를 지원하고 교수법 및 교육행정을 경험함으로써 전공지식에 대한 교수 능력을 습득한다. 학생은 학부과목에 조교로서 배정되며 본 과목을 신청할 학생은 성적 및 품행 등에서 학과장이 정하는 조건에 부합하여야하며 해당과목 담당교수의 허가를 미리 받아야 하며 한다. 학기가 완료된 후에는 해당 과목의 수강생 및 담당교수로부터 평가를 받으며 평가결과는 성적에 반영된다.
- 블록체인 기술 (Blockchain Technology)
- 최근 매우 큰 관심을 끌고 있으며 4차 산업혁명에서 가장 중요한 핵심 기술인 블록체인 및 가상화폐 관련 내용을 다룬다. 정보보호론에서 익힌 암호시스템 관련 보안 지식을 활용하여 블록체인이 어떻게 동작하는지 학습하고 퍼블릭 블록체인인 솔리디티를 이용한 스마트 컨트랙트도 작성하게 하며 프라이빗 블록체인인 하이퍼렛져 실습도 간단히 진행한다. 중간고사 기말 프로젝트를 통해 평가함.
- 프로젝트 X 1,2,3 (Project X 1,2,3 )
- AI 드론 분야에 관련된 임의의 창의적인 연구주제를 중심으로 3-6명 팀 단위로 개발 프로젝트를 진행한다. 이를 위해 연구주제 선정, 자료조사 및 정리, 요구사항 분석과 설계, 구현, 테스트, 결과분석 및 개선 등 에 이르는 단계별 개발 과정을 따라 진행하여 전체 프로젝트를 완성한다. 이러한 연구경험을 토대로 창의성은 물론 실질적인 문제해결과 설계/개발능력을 함양한다.
- 컴퓨터비전 (Computer Vision)
- 이과목에서는 영상데이터의 처리와 인식기술에 대하여 학습한다. 이 과목에서 다루는 주요한 주제는 영상처리의 기초, 물체인식, 3차원 장면 복원, 움직임 추적 기술 등을 포함한다.
- 인공지능플래닝 (Artificial Intelligence Planning)
- 이 강의에서는 지속적으로 Planning을 수립하고 이를 Action으로 실행하고, 실 수행 환경과의 상호 작용을 통해 Learning 할 필요가 있는 Autonomous Agent를 구축하는 문제에 대하여 가르칩니다.
이 강의는 AI Planning 및 Learning의 주요 문제와 알고리즘, 즉 Action 과 Task Modeling, representation, plan generation algorithms, heuristic learning and reuse of experience, dynamic integration of planning, scheduling, and execution, and multiagent planning 에 대한 주제를 다룹니다.
- 병렬컴퓨팅 (Introduction to Parallel Computing)
- 최근 실세계 현장에서 널리 쓰이고 있는 머신러닝, 빅데이터 등 다양한 알고리즘을 큰 스케일의 대용량 데이터와 함께 처리속도를 높이기 위해서는 고성능 컴퓨팅 (High-Performance Computing) 기술이 필수적이라 할 수 있다. 본 교과목은 소프트웨어학과의 기초과목을 수강한 학부 상급생을 대상으로 multi-core CPUs 및 many-core GPUs 등의 최신 병렬 컴퓨팅 아키텍처에 대한 전반적인 개념과 동작원리를 학습하고 병렬 프로그래밍 기법에 대해 입문 수준의 실습을 제공하는 것을 목표로 한다. 매주 이론과 실습을 병행해가면서 수업이 진행되고 본 과목을 수강하기 위해서는 C/C++를 이용한 기초 프로그래밍 능력이 요구된다. 각각의 주어진 병렬 컴퓨팅 아키텍처 별로 순차적으로 단순하게 설계된 C/C++ 예제 프로그램을 OpenMP, pthreads, MPI, CUDA등의 분산/병렬 처리 기술을 활용하여 병렬 프로그램으로 변환하는 방법을 배운다.
- 딥러닝 (Deep Learning)
- 인공신경망을 활용하여 이 수업에서는 딥러닝의 핵심적인 기초에 대해서 배웁니다. 인공신경망 모델을 어떻게 만드는지 그리고 학습시키는 지에 대해 배우고 이를 바탕으로 좀 더 복잡한 구조인 CNN, RNN, LSTM, SGD 및 기타 테크닉에 대해서 배우고 이를 적용하는 법에 대해서 이야기합니다.
- 딥러닝응용 (Deep Learning Application)
- 신경망 기반 응용 프로그램 개발 과정과 컴퓨터 비전, 자연어 처리, 자율주행 등에 필요한 핵심 딥러닝 기술을 학습한다. 또한, 최신의 딥 러닝 기반 인공지능 기술 동향을 살펴본다.
- 프론트엔드 프로그래밍 (Frontend Programming)
- 최근의 프론트엔드 프로그래밍의 패러다임은 선언형 프로그래밍이다. React를 기반으로 프론트엔드 프로그래밍 패러다임을 배운다. 반응형 View 설계 기법을 배우고 이를 통하여 컴포넌트 기반 MVC, MVVM 패턴을 프론트엔드 개발에 적용할 수 있다.
- 추천시스템 (Recommender Systems)
- 추천 시스템은 사용자에게 유용한 정보를 맞춤형으로 제공함으로써, 사용자가 효율적인 의사 결정을 가능하게 한다. 추천 시스템을 구축하기 위해 사용되는 내용 기반 필터링, 협업 필터링, 그래프 뉴럴 네트워크 모델 등을 학습한다.
- 양자 컴퓨터 개론 (Introduction to Quantum Computing)
- 양자 컴퓨터 개론으로 "현존하는 슈퍼 컴퓨터보다 1억배 빠른" 양자 컴퓨터의 허와 실에 대해서 알아본다. 누구나 쉽게 접근 할 수 있는 파이썬 라이브러리를 통해 양자 컴퓨터 시뮬레이터를 사용하여 기본 개념인 중첩(superposition) 과 얽힘(entanglement) 에 대해서 이해한다. 기존 컴퓨터 기초 알고리즘이 양자 컴퓨터에선 어떻게 달라지는 지에 대해 배우고 이를 통해 양자 컴퓨터의 장점과 단점을 학습한다. 마지막으로 IBM의 클라우드 서비스를 이용하여 실제 양자 컴퓨터를 사용해본다.