
| 과목명 | 과목설명 |
|---|---|
| 오픈소스소프트웨어실습 | 오픈소스에 대한 개념을 이해하고, 대표적인 오픈소스 운영체제인 리눅스의 여러 명령어를 배우면서 리눅스 활용 능력을 함양합니다. 오픈소스의 코드 관리 및 협업에 필수적인 git 과 github 에 대해 학습하며, 소프트웨어를 개발하고 배포하기 위한 과정에서 활용되는 여러 오픈소스 SW (streamlit, FastAPI, Docker 등) 를 다룹니다. 또한, HuggingFace 를 활용하면서 오픈소스 기반의 인공지능 개발 방법에 대해 소개합니다. |
| 프로그래밍기초 | C 프로그래밍 언어의 기초 문법인 데이터형, 변수, 연산자, 조건문, 반복문, 함수, 배열, 포인터 등에 대해서 학습하고, 다양한 예제를 통해서 프로그래밍을 실습한다. |
| 창의설계입문 | 복잡한 문제를 창의적으로 해결하기 위해 디자인 사고(Design Thinking)의 개념과 프로세스에 대해 학습한다. 잠재적 니즈를 읽고 문제를 정의하는 방법에 대해 배우고, 확산적/수렴적 사고 및 발상에 대한 방법을 익힌다. 팀별 프로젝트를 통해 시제품을 고도화 할 수 있다. |
| 이산수학 | 이산수학은 정수, 논리 연산과 같이 서로의 값들이 연속적이지 않고 떨어져 있거나 구분되어 셀 수 있는 것들을 다루는 분야이다. 컴퓨터를 공부하는 데 아주 기초적이고 필수적이며, 논리, 집합, 관계, 함수, 그래프, 트리, 경우의 수, 확률, 알고리즘, 점화관계, 형식언어, 오토마타 등의 수학적 개념을 학습한다. |
| 그래픽디자인 | 체계적인 디자인 기초 이론과 설정된 콘셉트를 이해하여 디자인 요소를 활용한 아이디어 스케치를 할 수 있다. 그래픽 소프트웨어의 운용과 디자인 전개 능력을 익힌다. 디자인 융합적 사고력과 문제해결 능력을 향상시킨다. |
| 고급C프로그래밍 | C++ 프로그래밍 언어의 기초 문법을 학습하고, 기존의 C 프로그래밍 언어의 절차적 프로그래밍 방법과 달리 C++ 프로그래밍언어의 객체지향 프로그래밍 방법의 특징을 이해한다. |
| 객체지향프로그래밍 | 이 과목에서는 캡슐화, 상속, 다형성, 추상화 같은 객체지향 프로그램의 핵심 원리를 배운다. JAVA를 활용하여 객체지향적 사고를 개발하고 유지보수가 용이한 소프트웨어를 설계할 수 있게 되며, 실습과 프로젝트를 통해 이론을 실제 문제 해결에 적용한다. |
| AI수학 | 인공지능 알고리즘은 선형대수, 최적화 등 다양한 수학 원리를 기초로 하며, 이를 명확히 이해하기 위해서 수학적 지식 습득은 필수적이다. 본 교과목은 선형대수, 확률, 미분, 최적화 등 인공지능과 연관된 다양한 수학적 개념을 포함한다. 이와 더불어, 각각의 수학적 개념과 관련 인공지능 알고리즘의 연관성에 대해서도 소개한다. |
| 컴퓨터네트워크 | 본 강좌는 인터넷을 통해 데이터 발신지에서 최종 목적지까지 데이터가 전송되는 과정을 이해하는 것을 목적으로 한다. 이를 위해 우선 인터넷의 구조와 구성요소 및 이들의 기능과 역할을 소개한다. 이 후 이 구성요소들 사이의 데이터 전달을 위해 필요한 다양한 인터넷 프로토콜들을 소개한다. |
| 자료구조 | 이 과목은 컴퓨터 중심의 다양한 공학 분야에서 기본이 되는 자료구조인 배열, 리스트, 스택, 큐, 트리, 그래프, 해쉬 테이블 등과 이와 관련된 기본 알고리즘을 다룬다. |