2학년
1. 공업수학 1
공학 분야에서 자주 접하게 되는 미분방정식을 소개하고 이에 대한 여러 가지 문제해결 기법을 강의한다.
2. 공업수학 2
벡터 연산과 복소수에 관한 기본 개념 및 응용 분야를 소개한다. 시스템을 모델링하는 방법, 벡터와 행렬식을 이용한 해석, 복소수와 관련된 함수 들을 강의한다.
3. 오픈소스및SW실습
다양한 open source 소프트웨어 기반의 프로그래밍 기술 습득, open source 툴, 플랫폼, 라이브러리를 경험하고 Github를 활용한 협업 개발 교육을 한다.
4. 자료구조 (전공필수)
자료구조의 개념과 기본적인 자료구조의 설계, 구현 및 응용에 대하여 강의한다.
추상적 자료형, 스택, 큐, 리스트, 이진 트리, 그래프 순회, 해싱
5. 논리회로
순차회로의 기본 장치와 개념을 익히고 레지스터를 활용한 다양한 순차회로 해석 및 설계 방법을 배운다.
플립플롭 기초, 동기식 순차회로, 레지스터와 카운터, 메모리 및 프로그래머블 논리, 레지스터 전송레벨 설계
6. 전기회로
저항, 커패시터, 인덕터 등 전기회로 소자의 전기적 특성과 이들 소자로 구성된 전기회로의 기본적인 법칙과 해석방법을 이해한다.
전류와 전압, 저항 회로, 회로해석법, 에너지저장소자, 1차 및 2차회로, 정현파 전원과 페이저
7. 전자기학
전기장을 위주로 하여 전자기학 법칙을 이해하고, 또한 도체 저항 및 정전용량을 정의하며, 아울러 자기장과 전자기파에 대해 소개한다.
벡터해석, 전계, 전속, 전위, 전류, 저항, 정전용량, 자계, 전자기파 등
8. 프로그래밍어론
C++를 중심으로 프로그래밍 언어의 여러 가지 개념을 실질적인 프로그래밍을 통해 배운다. 객체지향 프로그래밍 개념, 스코프, 함수 오버로딩, 이름 바인딩, 동적, 정적 성질 등 다양한 프로그래밍 언어 개념을 배울 수 있다.
9. 객체지향프로그래밍
Java를 이용하여 객체지향 프로그래밍의 개념을 실질적 프로그램을 통해 배운다. java 프로그래밍을 위한 IDE 사용법, 클래스의 속성과 메소드 정의, 상속, Java API 사용, GUI 프로그래밍 등 Java를 이용해 여러 가지 객체지향 프로그래밍을 함으로써 객체지향 프로그래밍 개념을 배울 수 있다.
10. 마이크로프로세서 및 실습
마이크로프로세서 시스템에 대한 구성, 동작 방식, 저수준 프로그래밍, 소프트웨어 개발 환경에 대하여 학습한다. 실습을 통하여 마이크로프로세서와 다양한 주변기기의 원리 및 동작을 확인 한다.
마이크로프로세서 동작, 메모리 시스템 구성, 주변장치 및 하드웨어 제어, 프로그램 실행 환경, 예외 처리, 소프트웨어 개발 환경
11. 알고리즘
문제해결을 위한 효율적인 알고리즘을 설계하고 그 성능을 분석하는 것에 대하여 강의한다.
알고리즘의 복잡도 분석, 분할과 정복 및 재귀, 정렬, 욕심쟁이 방법, 동적계획법, 그래프 알고리즘, 백트래킹
12. 웹프로그래밍
웹프로그래밍에 필요한 언어인 HTML5, CSS, JavaScript, PHP, JSP 등의 언어에 대해 배우고, 웹 사이트를 구축할 수 있는 수준의 웹프로그래밍을 배운다. DB 연동, 서버 구축, 웹 보안 등 다양한 웹프로그래밍 문제를 다룬다.
13. 전자공학및실험
회로에 대한 이해를 바탕으로 전자 소자의 특성과 응용 회로를 익힌다. 이론 수업과 병행하여 전기회로와 전자회로에 대한 실험을 수행하고 다양한 계측기의 사용 방법을 익힌다.
14. 확률과통계
확률과 랜덤변수의 기본적인 개념을 익힌 다음, 확률 분포함수와 밀도함수를 이용하여 기댓값 등의 확률적인 특성을 계산하는 방법을 배운다.
확률, 랜덤변수와 확률 분포, 기댓값, 이산 및 연속 확률 분포, 가설 검정과 추정