컴퓨터개론 (Introduction to Computer)
컴퓨터 시스템의 기본개념을 정립할 수 있도록 이해력과 응용력에 역점을 두어 설명하며, 컴퓨터의 기본 조직, 운영체제, 데이터베이스, 정보통신, 컴퓨터네트워크, 멀티미디어 기술 다양한 개념 등을 다룬다. 컴퓨터 프로그래밍 뿐만 아니라, 하드웨어, 소프트웨어 등 관련 심화 과목을 학습할 수 있는 기초적인 지식 습득을 목표로 한다.
사회봉사 (Community Service)
주변을 이해하고, 자신의 전공 역량을 발휘하여 주변, 사회, 국가, 세계를 위한 공헌에 이바지할 수 있는 토대를 마련하기 위해, 봉사적 역량을 바탕으로 리더십이 기반이 되는 봉사를 실천한다. 더 나아가, 세상을 바꿀 수 있는 지속적인 삶의 철학을 갖도록 한다.
AI프로그래밍의 이해 (Understandings of AI Programming)
인공지능(AI)이 사회 전반적으로 확대되고 있는 환경 속에서 우리는 미래 생존력을 기르고 창의성과 및 유연한 사고와 AI 프로그래밍을 결합하여 인공지능을 효과적, 효율적 활용할 수 있도록 파이썬 프로그래밍 언어의 특징과 기본적인 문법을 이론과 실습을 병행 으로 진행한다. 인공지능(AI)의 개념을 이해하고 현장문제를 해결하기 위한 논리적이고 창의적인 프로그래밍을 구현하도록 문제인식, 적용, 해결과정으로 구성하여 진행한다.
대학생활과 전공이해 (University Life & Understanding Major)
다양한 체험학습과 특강, 과제수행을 통해 신입생들의 대학생으로서 갖추어야 할 기본적인 인성과 자기이해도를 향상시켜 대학생활에 잘 적응할 수 있도록 돕기 위한 교과목이다. 또한 학생들이 자신의 가치관을 정립하고 자신의 흥미와 적성 탐색을 통하여 미래를 계획하고 자기 주도적 삶을 살아갈 수 있도록 지도하여 대학생활 동안 단계별 계획과 준비를 하도록 돕는 교과목이다.
기초AI프로그래밍Ⅰ (Basic AI programing Ⅰ)
프로그래밍언어를 효과적인 익히기 위해 프로그래밍 언어의 기초가 되는 C언어을 기초부터 학습하고, AI 프로그램에 활용 가능하도록 기본소양과 창의적 설계능력을 기르기 위한 교과목으로 특정 주제 또는 자유로운 주제로 아이디어를 도출하고 구체화하는 과정과 SW 도구를 사용하여 구현하는 과정을 학습한다.
웹프로그래밍 (Web Programming)
웹 사이트의 사용자 인터페이스(UI)를 개발하는 기술과 개념을 다룬다. 기본 프로그래밍인 HTML, CSS, JavaScript 등의 기술을 이해하고 이를 이용하여 간단한 웹 페이지를 구현 가능하도록 하는 것을 목적으로 한다. 또한, 반응형 웹 디자인과 웹 퍼포먼스 최적화 등의 개념을 학습한다.
AI수학 (AI Mathematics)
인공지능과 수학의 융합을 통해 기초적인 수학 개념부터 고급 수학 개념까지 학습한다. 또한, AI 알고리즘과 머신러닝을 이용한 수학 문제 해결 방법을 익히며, 수학적 모델링과 시뮬레이션을 통해 실제 문제를 해결하는 방법을 배워, 현재와 미래의 AI 기술 및 응용 분야에서 수학적 지식과 능력을 적용할 수 있는 역량을 키우는 것을 목표로 한다.
사고와 표현 (Thinking and expression)
논리적인 글쓰기와 말하기 능력을 함양하는 데 목적을 두고 있으며, 글쓰기의 기초 및 성찰적 글쓰기, 비평적 글쓰기, 주장하는 글쓰기, 학술적 글쓰기, 실용적 글쓰기 등 다양한 글쓰기의 방법을 익혀 활용할 수 있도록 한다.
기초AI프로그래밍II (Basic AI Programming II)
프로그래밍의 기초 개념들을 익히고, 이를 이용하여 문제 해결을 위한 논리적 사고 능력을 키우기 위한 과정을 학습한다. 주어진 문제를 논리적이고 효율적으로 해결하기 위한 방법(알고리즘)을 설계하고, 이를 실제 프로그램으로 구현하여 검증함으로써 프로그램 기획 및 개발을 위한 기본 자질을 키울 수 있도록 한다. C 언어는 가장 널리 보급되어 있는 프로그래밍 언어 중의 하나로써, 공학적인 문제를 C언어을 이용하여 컴퓨터로 프로그램화할 수 있는 실력을 쌓도록 하는 데에 목표를 둔다.
인성함양과진로탐색 (Personality Development & Career Exploration)
호남대학교의 인재상인 ‘인간미가 있는 교양인’으로서 바람직한 인성을 함양하고, 타인을 배려하고 봉사할 줄 아는 성숙한 사회인으로 성장해가도록 돕는데 과목의 목적이 있다. 또한 학생들이 진로의 중요성을 인식하고 바람직한 진로를 설정할 수 있도록 탐색하고, 체계적인 실천방법을 준비 하도록 돕는 교과목이다.
AI빅데이터와통계 (AI Big Data and statistics)
4차 산업혁명시대에서 데이터사이언스 과학자의 기본영역으로 빅데이터 전문가를 위한 입문단계과정으로, 데이터 분석을 통해 산업현장, 사회 현안들의 문제발견과 문제해결을 위해, 통계에서 인공지능영역의 핵심영역인 데이터 특징, 데이터 처리과정, 데이터 해석과정을 학습한다.
리눅스시스템 (Linux System)
컴퓨터의 운영체제로서 일반 PC, 서버, 각종 스마트기기에서부터 슈퍼컴퓨터에 이르기까지 다양한 컴퓨팅 기기에 사용되는 리눅스 시스템의 원리와 실제를 설명한다. Redhat 계열 및 Ubuntu 계열의 리눅스 종류/특징, 기본 명령어, 파일 시스템, 리눅스 유틸리티, 프로세스, 리눅스 네트워크 구성을 학습한다. 아울러, 쉘 이해를 기반으로 쉘 프로그래밍을 경험하고, C, 파이썬, 자바와 같은 리눅스 기반의 프로그래밍 환경을 다룬다. 수업은 실습 위주로 진행된다.
삶과리터러시 (Life and Literacy)
읽고 쓸 수 있는 능력이라는 리터러시(Literacy)는 디지털 플랫폼과 만나 다양한 미디어를 접하면서 명확한 정보를 찾고, 평가하며, 조합할 수 있는 개인의 능력을 의미한다. 본 과목은 기술 발달로 나타난 초연결사회에서 살아가는 현대인의 삶의 의의에 대한 의문을 인문학적으로 풀어낸다. 인간(휴먼), 사회(소셜), 세계(글로벌)의 다양한 영역에서의 리터러시 역량을 학습하며, 정체성, 신화와 종교, 경제와 미디어와 인공지능, 다문화 등 다양한 분야에서의 리터러시 능력을 다룬다.
데이터구조 (Data Structure)
데이터구조는 컴퓨터 과학의 기본 개념 중 하나로, 데이터를 저장, 조작, 관리하기 위한 방법과 원리를 다룬다. 데이터 구조를 이해하는 것은 프로그래밍에서 효율적인 알고리즘을 개발하고 문제를 해결하는데 매우 중요하다. 이 과목에서는 효율적이고 체계적인 프로그래밍 기법의 습득을 위해 기본인 자료 구조를 이해하고 데이터를 표현하고 저장하는 방법을 습득하여 다양한 자료 구조를 C언어로 실습을 통해 이해 및 응용할 수 있도록 한다.
논리회로 (Digital Logic Circuit)
컴퓨터공학에서 있어서 컴퓨터를 이해하기 위한 기초적인 논리적 사고와 컴퓨터 설계에 근간이되는 디지털 논리 회로를 학습한다. '0'과 '1'의 디지털 의미와 이것을 컴퓨터에서 표현하는 방법을 소개하고, 진법 기반의 수의 체계, 디지털 코드, 불대수, 기본 게이트, 카르노 맵을 통한 최적화, 조합논리회로 이론을 학습한다. 아울러, 순서회로의 기반인 플립플롭을 기반으로 컴퓨터 구조에 사용되는 카운터, 레지스터까지 다룬다. 이론과 더불어, 회로를 설계하고 시뮬레이션까지 수행하는 실습을 병행한다.
자바프로그래밍 (Java Programming)
자바 언어의 기본 문법과 객체지향 프로그래밍(OOP) 개념을 이해하고, 자바 API를 활용하여 프로그래밍을 하며, 예외처리, 입출력, 멀티쓰레드 프로그래밍 등의 기능을 익히며, 자바 언어의 기능과 특성을 활용하여 실제 문제를 해결할 수 있는 능력을 갖춘다.
소프트웨어공학 (Software Engineering)
소프트웨어개발은 단순히 프로그래밍언어의 문법을 이용해 문제를 코드화하는 것만이 아니며, 효과적인 소프트웨어 개발을 위한 절차를 따르며, 주어진 문제를 해결하는 사고방식을 익혀야 한다. 따라서, 본 교과목은 프로그래밍언어의 문법과 의미 이해를 통한 프로그래밍 기법을 학습하고 프로그램 개발시 요구되는 기초절차을 학습하고, 현장에 적용 가능한 수준의 프로그래밍 분석, 설계, 구현의 통합능력 배양을 목표로 한다.
컴퓨터구조 (Computer Architecture)
본 과목은 컴퓨터의 소프트웨어와 하드웨어의 동작 원리 습득을 목표로 한다. CPU, 메모리, I/O로 구성된 컴퓨터 기본 구조를 설명하고, 상위수준 코딩에서 기계어, 명령어까지의 변환 과정을 설명한다. CPU 명령어 실행원리 및 파이프라이닝, 슈퍼스칼라, 다중 프로세서 기법 이외에 최신 CPU 설계 기술을 이해함으로써 CPU 구조/실행 원리를 습득한다. 레지스터, 캐시, 메인 메모리, SSD의 기억장치 계층 시스템을 학습하여 컴퓨터 내 데이터의 읽기, 쓰기 동작을 구체적으로 이해할 수 있다. 아울러, I/O 장치의 동작 방식도 학습한다.
인간과사회 (human and society)
한 개인과 집단, 사회와 인류가 사회적, 문화적, 심리적, 교육적 활동 등에 참여하는 제반 양상과 특성에 대한 다양한 학문적 지식과 접근방법 등을 이해하는 것을 목적으로 한다. 각 학문분야에 어떤 종류의 질문이 제기되고 있는지 확인하고 이를 위하여 사용되는 분석방법을 체득하며, 구축된 이해의 틀을 체득함으로써 다양한 현상을 여러 각도에서 통찰하고, 통합적으로 해석할 수 있는 사유의 방식을 획득하며 삶 속에서 발생할 수 있는 중요한 개인적, 사회적 상황들에 대한 이해와 판단의 관점을 형성하여 주체적으로 참여하는 능력을 함양하도록 한다.
진로설계 (Career Design)
이 교과목의 목적은 스스로 미래 진로를 설정하고 목표 및 단계별 수행계획을 수립할 수 있도록 돕는데 있다. 또한 전공탐구, 자기탐색을 토대로 직무수행에 필요한 역량 분석을 통해 미래를 계획하고, 자신의 진로설계를 위한 커리어 로드맵을 작성하고 실천할 수 있도록 돕는 교과목이다.
데이터베이스 (Database)
데이터베이스의 개념과 이론을 이해하고, 데이터 모델링과 SQL을 활용하여 데이터베이스를 설계하고 쿼리할 수 있는 능력을 갖추며, 데이터베이스 시스템의 구조와 운영 원리를 이해하여 데이터베이스를 관리할 수 있는 능력을 배양한다.
어드벤처 디자인 (Adventure Design)
논리회로를 바탕으로 한 실험실습 장비를 활용한 회로구성 및 동작원리를 이해하기 위한 실습 과목으로, TTL 게이트를 활용하여 논리 회로 과목의 이론적인 배경을 기반으로 실제 회로 구현 실험을 수행한다. 다양한 조합회로, 순서 회로를 설계하고, 구현 전에 회로 동작을 시뮬레이션툴로 예측할 수 있고, 이를 TTL 게이트로 구현하고 동작을 확인하는 프로세스를 학습한다.
멀티미디어시스템 (Multimedia System)
멀티미디어의 정의와 멀티미디어 하드웨어, 디지털 신호를 생성하는 원리, 색과 그래픽스, 이미지 및 JEPG 압축, 비디오 및 MPEG 압축, 음향의 원리, 오디오 압축 및 3차원 오디오 원리, 멀티미디어 통신 네트워크, 인터넷, 가상현실과 VRML, 그리고 Content 제작 과정 등, 멀티미디어 기술을 전반적으로 공부한다.
모바일프로그래밍 (Mobile Programming)
태블릿이나 스마트폰과 같은 모바일 기기를 위한 응용 프로그래밍을 배운다. 안드로이드 환경에서 안드로이드 스튜디오를 사용하여 코틀린이나 Java 기반 모바일 프로그래밍을 위한 여러 사항들을 다루고 이를 응용하는 애플리캐이션을 개발하여 적용하도록 학습한다.
빅데이터개론 (Introduction to Big Data)
빅 데이터의 개념과 특징을 이해하고, 빅 데이터의 수집, 처리, 분석 기술을 학습하여 빅 데이터를 다룰 수 있는 능력을 갖추며 다양한 언어를 활용한 데이터 분석 실습를 병행하여 빅데이터분석 능력을 함양한다.
운영체제 (Operating System)
운영체제에 필요한 프로세스와 프로세스의 관리, 스케줄링, 프로세스의 동기화, 교착 상태 회피 방법 등을 학습하여 CPU의 효과적인 운영방법을 익한다. 아울러, 주요 자원인 메모리 대한 기본 학습과 더불어, 물리 메모리의 및 가상 메모리의 개념 및 운영방법을 학습한다. CPU와 메모리를 이용하여 처리할 내용과 처리된 내용의 저장을 위한 입출력 시스템을 학습하며, 마지막으로 프로세스의 효율적이고 신속한 처리를 위한 분산처리의 개념을 배우고, 네트워크와 연계할 수 있는 방법에 대해서도 학습하여 컴퓨터 시스템운영에 전반적인 흥미와 학습을 유도한다.
알고리즘 (Algorithms)
고효율 소프트웨어 개발과 다양한 문제 해결에 필요한 지식과 기술 습득을 위해 알고리즘 설계 및 분석에 대하여 소개한다. 다루는 주제에는 점근 분석, 정렬 및 검색 알고리즘, 그래프 알고리즘, 동적 프로그래밍, 그리디 알고리즘 및 무작위 알고리즘, 최적화, 기하학 및 암호화를 포함하여 다양한 도메인의 문제 해결울 위한 알고리즘 기술들을 학습한다.
임베디드시스템 (Embeded System)
프로그래밍 가능한 저성능 CPU가 장착된 개발 보드를 사용하여 프로그래밍 환경을 구축하고 개발 보드의 CPU에 프로그래밍, 메모리적재를 통한 소프트웨어 기반 하드웨어 제어 메커니즘 이해한다. 아울러, 다양한 종류의 센서와 액추에이터의 특징을 살펴보고, 브래드보드에 센서/액추에이터를 구현하여 하드웨어 제어를 실습한다. Term project를 통해 자기주도적 시스템 구현 능력 배양을 목표로한다.
컴퓨터비전 (Computer Vision)
컴퓨터 비전은 OpenCV를 활용하여 영상 개선, 영상 분할, 객체 검출/추적 등을 구현하는 방법을 학습하게 되며, 각 알고리즘에 대한 간단한 이해와 Python 프로그래밍 언어를 활용해 구현에 필요한 파라미터를 이해하는 내용으로 다루고 있다.
AI융합캡스톤 (AI Convergence Capstone)
인공지능과 빅데이터를 이해, 인공지능과 통계가 어떻게 응용되는 원리, 인공지능의 중심영역인 데이터를 어떻게 수집하고 분석, 인공지능의 다양한 기술과 융합영역(헬스케어, 윤리,경영) 사례를 통해 인공지능을 기반한 창의 창작을 할 수 있도록 기획과 구현능력을 구현하도록 진행한다
역량개발 (Competency Development)
이 교과목은 학생이 수립한 커리어 로드맵을 지속적으로 수정, 보완하고, 직무수행에 필요한 역량을 개발 및 함양할 수 있도록 돕는 교과목이다. 또한 실전 취업을 위한 입사지원서, 이력서, 자기소개서 등의 입사서류 작성 컨설팅, 맞춤형 취업특강, 모의면접 등에 실제적으로 참여하면서 변화하는 사회에 능동적으로 대처해 나갈 수 있는 전문인이 될 수 있도록 돕는 교과목이다.
빅데이터시스템 (Big Data System)
빅 데이터 시스템의 아키텍처와 구성 요소에 대한 이해도를 향상시키고, 대규모 데이터 처리를 위한 기술과 프로그래밍 언어를 익히며, 빅 데이터 처리 시 발생할 수 있는 문제들을 해결하기 위한 기술과 방법을 습득하여 실제 데이터 처리 문제를 해결할 수 있는 능력을 함양한다.
데이터통신 (Data Communication)
데이터 통신(Data Communication)은 다양한 기기들 간에 데이터를 전송하고 통신하는 방법과 원리를 다루는 학문이다. 컴퓨터 통신 구조인 OSI 기본 참조 모델을 기반으로 데이타전송기술, 데이타링크 제어, 패킷교환, LAN 등을 포함하여 기본적인 통신망인 근거리 통신망까지 관련된 프로토콜과 최신 통신기술을 공부한다. 정보통신 및 컴퓨터 분야의 산업현장에서 활용할 수 있는 능력을 키우는 것을 목표로 한다.
마이크로프로세서 (Microprocessor)
Verilog나 VHDL과 같은 HDL(Hardware Description Language)를 이해하고 작성가능한 능력을 배양하기 위해, HDL 작성 및 시뮬레이션 환경 설정, 다양한 논리 회로의 HDL 기반 설계 및 시뮬레이션, FPGA 구현 실습을 진행한다. 특정 명령어 세트 구조를 HDL로 구현할 수 있으며, 이를 기반으로 FPGA에 간단한 프로세서 구현 학습을 진행한다.
빅데이터실무 (Big Data Practice)
본 교과는 산업체와 협동으로 진행되는 교과로 빅 데이터 분석을 위한 단계별 절차인 데이터분석의 목표 이해와 분석계획세우기, 빅데이터 수집 및 전처리하기, 데이터 분석하기 검증 및 평가하기, 데이터의 효율적인 관리 및 시각화 기술을 배운다. 하둡클러스터를 활용하여 빅데이터 시스템의 설계 및 분석시스템 설계서를 작성하고 데이터수집 및 저장 과정을 거처 분석 및 예측을 할 수 있도록 학습한다.
IoT컴퓨팅 (IoT Computing)
OS 구동 가능한 라즈베리파이 플랫폼을 사용하여, IoT 시스템을 설계하고 구현하는 실습 과목이다. 라즈베리파이 OS 설정, 네트워크설정, 각종 센서 구동 드라이버 코드 작성, 카메라 연동, mariaDB 설치 및 센싱 데이터 저장 기능 확인, 웹 연동 및 안드로이드 프로그래밍을 통한 모바일 디바이스와의 연동 기능도 실습한다.
캡스톤디자인I (Capstone Design I)
개인별 혹은 그룹 프로젝트 구현을 통해, 컴퓨터공학관련 프로젝트 분석, 설계 및 구현 기술을 습득하는 것이 목표이다. 과목 지도교수의 지도하에 프로젝트 수행 주제를 선정하며, 학기 초에 수행 주제 및 계획을 발표한다. 학기 중에는 세미나와 면담을 통하여 자신의 프로젝트 작품 구현을 진행하며, 학기 말 진행 사항 및 구현 내용을 발표한다.
컴퓨터보안 (Computer Security)
컴퓨터 보안에 대한 기초적인 이론과 컴퓨터 시스템의 보안을 강화하기 위한 기술과 전략을 다루는 과목으로, 암호학과 암호기술, 보안 위협과 공격 유형 및 대응방안, 시스템 및 데이터베이스 보안, 네트워크 보안과 웹 보안, 보안 정책과 보안 관리 등을 배운다. 이러한 컴퓨터 보안에 대한 이해를 바탕으로 다양한 보안 문제에 대한 대응책을 습득하여 보안 위협으로부터 시스템 및 민감한 정보를 보호하는 능력을 갖추는 것을 목표로 한다.
인공지능실무 (Artificial Intelligence Practice)
인공지능실무 교과목은 인공지능을 이해하고 머신러닝 및 딥러닝에서 사용하는 기초적인 학습 방법 및 알고리즘을 배우며, 아나콘다, 주피터노트북, Colab 환경을 통해 실제 머신러닝 모형들을 구현하고, 실제 인공지능이 현업에서 어떻게 활용되는지 정보들을 습득, 빅데이터 기반 모델 구축을 다양한 방법으로 모형 고도화가 가능한 딥러닝 프레임워크에 대하여 자세히 학습한다. 또한, 다양한 분야에서 활용되고 있는 알고리즘 및 기능들을 학습한다.
캡스톤디자인 II (Capstone Design II)
캡스톤디자인 I에 이어서, 졸업작품과 졸업논문을 완성하는 것을 목표로 한다. 프로젝트 구현 내용을 기반으로 졸업작품을 완성하여 작품전시회에 출품하고, 졸업논문을 작성/발표한다. 합격한 학생의 경우에 졸업이 인정된다. 현장실무프로젝트를 통하여 문제해결, 설계능력, 구현능력을 키우고 졸업이후에 현장에 적응할 수 있는 능력을 배양한다.