메인메뉴 바로가기본문으로 바로가기

교과목 소개

홈으로 이동 교육교과목 소개

소프트웨어기초

소프트웨어 학습 또는 프로그래밍 경험이 없는 학생이 소프트웨어 개발에 필요한 프로그래밍 언어의 문법을 학습하고 주어진 문제를 해결할 수 있는 능력을 배양한다.소프트웨어 관련 과목인 컴퓨터프로그래밍과 자료구조, 알고리즘 등 소프트웨어 학습을 위한 기초를 다진다. 소프트웨어의 개발 절차와 동작 방식을 이해한다.

SW공학의이해PBL

공학 및 소프트웨어공학 공부에 필요한 핵심 성공 요소를 이해한다. 소프트웨어공학과 컴퓨터공학에서 사용되는 기초적인 개념과 주제를 예제와 함께 소개하여 2, 3, 4학년 전공 교과목의 심화 학습에 도움이 될 수 있도록 강의한다. 실제 생활에서 발생하는 문제를 해결하기 위해 효과적인 컴퓨팅 사고 방법을 소개한다.

컴퓨터프그로래밍기초PBL

컴퓨터 기반의 논리적 사고체계를 적용하여 코딩으로 문제를 해결한다. C언어의 기본 문법을 활용하여 주어진 문제를 코딩으로 해결한다. 코딩 중에 발생한 오류를 분석하고 해결한다.

창의적공학설계

공학설계에 대하여 이해한다.
- 공학적 설계 방식으로 시스템을 디자인하고 구현한다.
- 아두이노 키트 동작을 이해하고 활용한다.

* 본 과목은 4차 산업 혁명시대 창의적 인재 양성을 목표로 산업체 또는 일상에서 필요로 하는 문제를 발견하고 이를 해결하기 위해 팀원과 협업하며 실무 능력 등을 배양하는것을 목표로 하는 과목이다.

자료구조PBL

다양한 계산 문제에 사용되는 일반적인 자료 구조를 살펴본다. 구체적으로, 배열, 단일 연결 리스트, 이중 연결 리스트, 스택, 큐, 트리와 같은 기본적인 자료 구조를 다룬다. 또한 이진 트리, 우선순위 큐, 힙, 해시 테이블, 그리고 검색 알고리즘를 포함한 다양한 알고리즘 주제도 다룬다.

이산수학

컴퓨터에서 활용되는 수학적 개념, 즉 주로 논리, 집합, 정수, 관계, 함수, 그래프, 형식 언어와 같은 개념과 이론을 다룬다.

기계학습

기계가 스스로 학습하는 핵심 원리를 배우고 직접 스스로 학습하는 프로그램을 개발한다. 회귀 문제, 분류 문제를 다루고, 나아가 CNN, RNN 등 딥러닝 모델을 구현한다. 또한, 주어진 이미지와 동영상에서 사물을 인식하는 AI 모델을 다룬다.

객체지향프로그래밍

파이썬 언어를 기반으로 객체지향 프로그래밍의 주요 개념인 객체 모델, 클래스, 상속, 다형성, 재사용, 예외처리 등을 배우고 익힌다. 이를 바탕으로 복잡한 문제를 파이썬 프로그래밍을 사용해서 해결할 수 있는 능력을 배양한다.

항공우주소프트웨어공학개론

1. 항공우주공학 및 항공우주 시스템(위성체, 우주로켓, 항공기 등)에 관한 기본적인 소개 및 개략적인 기초 지식을 습득하도록 한다.
2. 컴퓨터 알고리즘 및 소프트웨어를 이해하고, 항공기 소프트웨어의 목적-플랫폼-구조-인증 등에 대해서 개략적으로 이해한다.

소프트웨어개발론PBL

소프트웨어 개발을 위한 공학적 접근 방법에 대하여 다음 주제 (과제 목표 수립, 기능-품질-제약 요구사항 분석, 구현을 위한 기술조사, 유스케이스 다이어그램-명세서, 품질 시나리오 작성법, 프로토타입핑, 프로젝트 계획, 승인 평가 계획, 모듈 분할, 클래스 다이어그램, 흐름 설계, 시퀀스 다이어그램, 인터페이스 설계, 컴포넌트 시험 계획, 구현 등)를 이해하고 개발 프로젝트에 적용하고 발표한다.

Linux시스템프로그래밍

리눅스 운영체제 도구 (vi editor, bash shell, regular expression etc.), 리눅스 명령어 및 POSIX API, 동시성 프로그래밍을 학습한다.

문제해결알고리즘

문제해결을 위한 시간 복잡도와 Big-O 표기법을 포함한 알고리즘 분석 기법을 이해하고 적용한다. 점근 표기법, 재귀, 알고리즘 분석, 스택, 큐, B-트리를 포함한 트리 분석. 힙, 해싱, 고급 정렬 기법, 서로소 집합, 그래프의 설계와 구현 기법을 이해하고 세부 알고리즘 개발, 문제해결에 적용한다.

컴퓨터구조

컴퓨터의 구조와 동작 원리를 학습. 컴퓨터는의 기본 구조는 입출력장치, 중앙처리장치, 저장장치로 나누어 볼 수 있다. 입출력장치에서는 외부장치와 메모리 간의 입출력 방식에 대하여 학습하고, 중앙처리장치에서는 산술논리장치(ALU), 레지스터, 마이크로프로세서 간의 연결과 동작원리에 대하여 학습, 저장창치에서는 캐시메모리, 메인메모리, 하드디스크로 구성되는 메모리 계층구조에 대하여 학습한다. 이를 통해서 컴퓨터의 동작 원리를 깊이있게 이해할 수 있다.

운영체제PBL

CPU의 스케줄링의 동작과 스케줄러의 정책에 따라 어떤 요청이 먼저 처리 되는지 계산할 수 있다. 쓰레드 프로그래밍에서 공유자원을 보호하기 위한 락 메커니즘들을 용도에 맞게 적용할 수 있다. 파일시스템의 동작 방식을 이해하고 각 파일시스템을 마운트하여 성능을 측정할 수 있다.

데이터베이스PBL

문제가 의도하는 쿼리를 작성하여 원하는 정보를 추출할 수 있다. 서버에 접속하여 쿼리를 요청하고 정보를 획득하여 가공할 수 있다.시스템에서 요구하는 DB를 설계하여 스키마를 생성할 수 있다.

심층학습

딥러닝을 이해하고 이를 기반으로 한 다양한 학습 모델을 학습한다.

항공우주SW

항공분야의 소프트웨어 기술이 무엇이 있고, 어떤 원리로 동작하는지 이해하여 해당 분야의 전문가로 성장하기 위한 기초 지식을 함양한다. 컴퓨터 시스템 구성, 소프트웨어의 구동 원리, 명령어의 처리 등의 핵심 개념들을 이해하고 항공소프트웨어의 개발 프로세스에 대하여 학습한다. 이 과목을 통하여 학생들은 항공소프트웨어의 전문 영역으로 진입하기 위한 기본 지식을 얻고 설명할 수 있게 한다.

소프트웨어요구분석및설계

대규모 소프트웨어 시스템에서 요구사항의 필요성을 설명하고, 다양한 요구공학 프로세스, 모델을 학습한다. 요구공학에 참여하는 이해관계자(stakeholders), 시스템의 기능 및 비기능 요구사항을 이해하고 식별할 수 있다. 객체지향 및 목표지향 요구공학, 그 외 중요한 요구공학 토픽에 대해 강의한다.

운영체제실습PBL

운영체제 이론에서 학습한 개념을 실습을 통해 익힌다.소프트웨어 설계와 구현 능력을 향상한다.

컴퓨터네트워크PBL

이 교과목은 컴퓨터 네트워크의 기본부터 고급 개념까지 배우는 과목으로, 네트워크 아키텍처의 계층을 중심으로 구조적으로 학습한다. 특히 애플리케이션 계층을 중심으로 웹, 이메일 등 네트워크 애플리케이션의 동작 원리를 배우고, 실습을 통해 네트워크 애플리케이션과 프로토콜을 직접 설계하고 구현해본다.또한, 자료 구조와 알고리즘을 통해 네트워크 문제를 해결하는 기본적인 기술을 익히며, 기계 학습과 딥러닝 기술을 활용해 이미지 및 동영상에서 사물을 인식하는 AI 모델을 개발한다.이 과목은 실무 능력을 배양하고, 창의적인 문제 해결 능력을 키우기 위해 팀워크와 협업을 중시하며, 4차 산업 혁명 시대에 필요한 인재로 성장할 수 있도록 돕는다.

소프트웨어시험PBL

소프트웨어의 버그 탐색 및 제거를 위한 정적 분석과 동적 분석에 대해 학습한다. 그리고 소프트웨어의 결함 유무를 체계적으로 시험하는 기술을 학습한다. 소프트웨어 테스팅 도구들을 이용하여 버그를 찾아 수정하는 실습을 수행한다.

SW감항론

항공기가 안전하게 비행할 수 있도록 하는, 여러 요소 중 SW 관련한 감항증명 또는 인증이 필요하다. 소프트웨어감항론은 이 중 DO-178C라는 항공기 소프트웨어 표준에 대한 주요 주제, 방법, 입증 방법 등을 설명하고 사례 연구를 진행한다.

종합설계

미래의 정보처리시스템 및 항공전자시스템에 관련된 기술을 연구 및 개발할 수 있는 능력을 배양하기 위해서 지도교수의 지도에 따라 조별로 특정한 주제를 기획, 설계, 제작, 관리, 분석하는 종합적인 과정을 경험하고 이를 발표한다. 아울러, 최종 결과물을 논문 형식으로 기술한다. 또한, 본 과목은 신 성장 산업의 맞춤형 인재 양성을 목표로 산학 연계하여, 수업시간에 배우고 다룬 소프트웨어 기술을 바탕으로 산업현장과사회에서 요구하는 문제해결·협업·실무 능력 등을 키우는 학생의 역량강화와 참여 기업의 경쟁력을 높일 수 있는 기업 연계형 프로젝트를수행한다.

데이터사이언스

데이터로 구성된 조직화 및 구조화된 데이터 컬렉션인 데이터베이스를 학습한다. DBMS는 사용자 또는 애플리케이션과 데이터 사이의 중개자 역할을 하는 소프트웨어 시스템이다. 이를 통해 데이터를 탐색하고 데이터를 분석할 수 있다. 이 과목에서는 시스템을 효과적으로 유지하는 핵심 메커니즘을 학습한다. 쿼리문의 작성, 조인 매커니즘, 인덱스 기법, 저장장치의 관리, 크래시 대응 방법 등 데이터 베이스의 핵심 개념들을 학습한다.

컴퓨터시스템의이해PBL

개발자의 관점에서 컴퓨터 시스템이 SW를 실행하고, 정보를 저장하며 통신하는 방법을 학습한다. 성능과 이식성 그리고 강인성 측면에서 좀 더 효율적인 SW를 개발하기 위한 지식을 얻을 수 있다. 본 수업을 통해 컴파일러, 네트워크, 운영체제, 컴퓨터 구조를 학습하기 위한 근간을 확립할 수 있다. 이 수업을 수강한 후에는 메모리 구조, 머신 코드, 컴파일러의 최적화, 성능 측정과 최적화를 이해할 수 있다.

소프트아키텍쳐설계

소프트웨어 아키텍처 설계 이론을 학습한다. 소프트웨어 설계 패턴, 설계 스타일 및 문서화 등 SW 산업계에서 주로 활용하는 설계 기술을 배운다. 구체적으로, 다음 다섯 가지 항목으로 구분하여 다룬다.
- UML 기초
- 소프트웨어 아키텍처 전술
- 소프트웨어 아키텍처 스타일- 소프트웨어 아키텍처 설계
- 문서화

소프트웨어연구참여1

본 과목의 개설 목적은 대학원 연구실의 연구 활동 참여를 독려하고, 대학원생과 협업 기회, 지도 교수와 세미나 등을 통해 학부 학생의 소프트웨어 연구 역량 및 프로젝트 경험을 증진시키는 것이다.

모델주도소프트웨어공학

본 수업에서는 모델 기반 접근 방식(모델 기반 소프트웨어 엔지니어링(MDSE) 또는 간단히 모델 기반 엔지니어링(MDE))의 주요 개념, 이론, 도구 등을 설명한다. 본 수업에서는 MDSE가 적용되는 분야를 소개하며, 문제해결, 업무 목표, 업무 상황과 필요에 맞는 MDSE 도구에 설명한다.

소프트웨어공학도구실습

현업에서 사용하는 다양한 소프트웨어공학 도구들을 체험한다. 특히, DevOps 도구들에 포함되는 소프트웨어 개발 및 검증 도구들을 주심으로 다룬다.

소프트웨어공학기술세미나

산학연관군의 전문가 강연을 통해 학부 과정 이후 경험하게 될 산업현장 또는 연구현장의 최신 주제, 기술, 동향을 소개하고 토론한다.

소프트웨어연구참여2

본 과목의 개설 목적은 대학원 연구실의 연구 활동 참여를 독려하고, 대학원생과 협업 기회, 지도 교수와 세미나 등을 통해 학부 학생의 소프트웨어 연구 역량 및 프로젝트 경험을 증진시키는 것이다.

클라우드컴퓨팅

고효율/고성능의 자원제공을 통하여 새로운 형태의 응용 서비스 지원이 가능한 클라우드컴퓨팅기술과 이클라우드컴퓨팅패러다임을 응용한 응용체계들에 대해 공부한다. 세부주제로는, 클라우드컴퓨팅의 개요와 시스템모델, 클러스터컴퓨팅, 가상화기술, 클라우드프로그래밍환경, SOA, Internet of Thing 등을 다룬다.

최근 업데이트 일시 : 2026/05/13 14:20:37