교육

커리큘럼

1학년

학기 학정번호-분반-실습 과목명 학점 분류
1 CAC1100 컴퓨터프로그래밍 3 전공선택

강의설명

본 과목은 컴퓨터과학을 활용한 문제해결에 필요한 기술과 방법, 사고를 학생들에게 소개하는 것을 목적으로 한다. 특히 현실에 존재하는 문제점을 해결하는 도구로써의 컴퓨팅의 역할이 중점적으로 다뤄질 예정이다. 학생들은 알고리즘과 데이터구조라는 두 가지 주요한 추상적 원리에 대해 학습하게 될 것이며, 이 두가지 추상적 원리는 정보 시각화, 시뮬레이션, 데이터 사이언스를 위한 계산기술 및 간단한 최적화 문제들에 적용되어 다뤄진다. 수업 내용은 파이썬(Python)언어로 구현 및 진행될 예정이다.

2 CSI2102 객체지향프로그래밍 3 전공필수

강의설명

Structured 프로그래밍을 기반으로 객체지향언어의 개념을 습득하고 이를 통해 실제의 객체지향 언어를 배우고, 응용문제를 위한 프로그램을 객체지향 언어를 사용하여 작성한다. ADT, Classes, Inheritance, Polymorphism, Virtual Functions, Control Structures, I/O 등을 다룬다.

2학년

학기 학정번호-분반-실습 과목명 학점 분류
1 MAT2013 확률통계 3 전공기초

강의설명

불확실한 현상을 모형화하기 위해 이산형 및 연속형 확률 변수들의 특성을 다루며 실험데이터를 이용한 모형의 분석을 위해 기초적인 통계기법과 가설의 검증 및 단순 회귀분석 기법 등을 다룬다.

1 CSI2106 컴퓨터과학입문 3 전공선택

강의설명

컴퓨터과학의 기본이 되는 세부 분야의 소개 및 컴퓨터과학을 이해하기 위한 기본개념 이해, 데이터 표현방식, bool 대수, 자료구조, 컴퓨터 구성 및 구조, 운영체제, 인공지능, 프로그래밍언어구조, 시스템 프로그래밍 개요, 데이터 통신, 컴퓨터 이론 등 컴퓨터 과학 전반에 대한 것을 학습한다.

1 CSI2103 자료구조 3 전공필수

강의설명

Space and Time Complexity, Asymptotic Notation, Data Abstraction(ADT), Arrays, Stacks, Queues, Linked Lists, Trees(binary trees, heaps, binary search trees), Graphs (DFS, BFS, MST, shortest paths), Sorting, Hashing, Heap structures, Search Structures(AVL, trees, Red-Black trees, B_trees) 등을 다룬다.

1 CSI2107 컴퓨터시스템 3 전공선택

강의설명

컴퓨터 구조와 기계어, 프로세서구조와 어셈블리언어, 메모리 시스템,Input/Output interface, 주변기기 제어, 시스템의 구성과 제어등을 다룬다.

1 CSI2109 인터넷프로그래밍 3 전공선택

강의설명

HTML, CSS 등을 활용한 기본적인 웹 문서 작성은 물론이고, JavaScript 프로그래밍, Perl을 이용한 CGI 프로그래밍, ASP.NET, PHP, Servlet을 이용한 서버 프로그래밍 기법을 습득한다. 또한 XML 및 Web services 등의 인터넷 프로그래밍에 대한 최신 기법을 소개한다.

2 CSI2108 디지털논리회로실습 2 전공선택

강의설명

디지털논리회로 과목의 이론과 연계하여, 회로를 구성하고 결과를 확인 할 수 있도록 실험을 통하여 논리회로의 동작 특성의 이해와 설계 능력을 목표로 한다. 실험 내용은 이진수와 게이트, 멀티플랙서/디멀티플렉서. 4비트 덧셈기 /뺄셈기, 4비트 ALU (Arithmetic Logic Unit), 플립플롭/쉬프트 레지스트 (S-R, J-K), 쉬프트 레지스트 구현, FSM (Finite State Machine) 구조 이해와 설계 등을 시험을 통하여 동작과 설계하며, 설계는 단기 프로젝트가 주어진다.

2 CSI2111 논리회로설계 3 전공선택

강의설명

디지털 논리회로의 기본적인 해석방법과 설계 방법을 익히고 이를 바탕으로 다양한 디지털 논리회로를 설계하고 동작원리와 설계 방법을 습득

2 CSI3103 프로그래밍언어구조론 3 전공선택

강의설명

언어설계 목표, 프로그램언어의 구조, 데이터 type, 추상화방법, 순차제어. 데이터 제어, 저장관리, functional programming, logic programming, object oriented programming 등을 다룬다.

2 CSI2104 멀티미디어개론 3 전공선택

강의설명

-

3학년

학기 학정번호-분반-실습 과목명 학점 분류
1 CSI3101 운영체제 3 전공필수

강의설명

범용 운영체제 구조, 듀얼모드 커널, 프로세스 및 쓰레드 관리, 프로세스 스케쥴링, 프로세스 동기화 및 데드락 처리, 물리/가상메모리 관리, 화일시스템, 입출력처리, 대용량 스토리지 시스템, 분산시스템을 다룬다.

1 CSI3102 컴퓨터아키텍쳐 3 전공필수

강의설명

컴퓨터 시스템의 구성과 조직, 시스템 구성에서 하드웨어-소프트웨어 인터페이스 설계 VLSI CAD 들을 이용한 각 구성 요소 (Instruction set design, Register transfer data-path design, control design, memory system, Addressing Microprogramming, Computer arithmetic) 분석 및 설계, 컴퓨터 시스템의 설계 및 성능 평가 등을 다룬다.

1 CSI4105 컴퓨터그래픽스 3 전공선택

강의설명

컴퓨터 그래픽스의 개요, Graphics 시스템, 2D Graphics, OpenGL 프로그래밍, GUI와 대화식 입력기법 3-D Graphics의 기하변환과 viewing, 3차원 객체의 모델링, hidden surface의 제거, 조영모델과 곡면의 렌더링, 컬러 모델, 절차적 그래픽스 기법, 컴퓨터애니메이션 등을 다룬다.

1 CSI3109 오토메타형식언어 3 전공선택

강의설명

컴퓨터과학의 기본적이고 근본이 되는 원리를 다루는 과목으로 Finite Automata, Pushdown Automata, Linear-bounded Automata, Turing Machines, 등의 abstract machine 들과 각각의 machine 이 인식하는 형식언어 즉, Regular, Context-free, Context-sensitive, Recursive, Recursively Enumerable 언어와 Halting Problem 등의 undecidable 문제들 및 다른 종류의 Computation Model을 배운다.

1 CSI4108 인공지능 3 전공선택

강의설명

컴퓨터의 지능, 컴퓨터 학습, 정보표현, heuristics, 형태인식, 자연언어처리, 컴퓨터 vision, 전문가 시스템 등을 다룬다.

1 MAT2011 선형대수와그응용 3 전공기초

강의설명

행렬과 연립방정식계, vector 공간, 일차 변화와 행렬표현, vector 공간의 구조, 겹선형 형식과 내적 공간, 행렬식, 고유벡터와 고유 값 등을 다룬다.

1 TTP3005 컴퓨터교육교재연구및지도법 3 교직

강의설명

컴퓨터 학습자의 요구나 학습 목표, 교육 과정 등에 따른 다양한 학습 자료 개발의 원칙과 적용에 대해 연구하고 이를 바탕으로 효과적인 컴퓨터 교육을 위한 지도 방안을 연구한다.

2 CSI4106 컴퓨터네트워크 3 전공선택

강의설명

컴퓨터 이용 기술과 통신 기술이 융합된 정보통신기술의 개념을 정립하며, 전산, 통신 분야에 종사할 전문 인력에게 꼭 필요한 지식이 되는 기본적인 정보통신 전공기술, 통신 프로토콜, 정보통신망의 분류와 특성, 종합정보통신망 등을 다룬다.

2 CSI3105 데이터베이스 3 전공선택

강의설명

대용량 데이터베이스 시스템의 기본 개념을 소개하고 데이터베이스 설계를 위한 데이터 모델링 기법과 관계형 데이터베이스 스키마 설계 방법을 습득한다. 또한, 데이터베이스 표준 언어인 SQL의 데이터 정의 언어(DDL)과 데이터 가공 언어 (DML)의 구문과 사용 방법을 익힌다. 다양한 데이터베이스 정규화 및 데이터베이스 튜닝 기법을 소개하고 transaction 처리, 동시성 조절, 데이터 회복 방법을 소개하고 계층, 네트워크, 객체지향형 등의 다양한 데이트베이스 모델들을 소개하며 데이터베이스를 설계하고 구현할 수 있는 능력을 배양한다.

2 CSI3106 소프트웨어공학 3 전공선택

강의설명

소프트웨어 공학은 컴퓨터 소프트웨어의 개발에 필요한 이론, 방법 그리고 도구를 다루는 학문이다. 소프트웨어 개발 단계는 요구사항 정의, 시스템과 소프트웨어 설계, 구현과 단위 (unit) 테스트, 통합 및 시스템 테스트, 운영 및 관리로 이루어진다. 본 과목에서는 각각의 개발 단계에 사용되는 여러 가지 방법에 대해서 세부적으로 다룬다.

2 CSI3107 시스템프로그래밍 3 전공선택

강의설명

유닉스 시스템 개요, 프로그램 개발도구, 쉘 프로그래밍, 프로세스 프로그래밍, 인터럽트 처리, 시스템콜, 파일시스템, 내부구조, 디바이스 드라이버, 소켓프로그래밍 및 프로토콜스택 구현 등을 다룬다.

2 CSI3108 알고리즘분석 3 전공선택

강의설명

컴퓨터 알고리즘 개발을 위한 다양한 tool들 (Divide-and-Conquer, Greedy Methods, Dynamic Programming, Backtracking, Branch-and-Bound, Approximation등)을 배우고, 이러한 tool을 이용한 기본적인 알고리즘을 분석하는 방법을 배운다.

2 TTP3003 컴퓨터교육론 3 교직

강의설명

초중고 과정에서 컴퓨터 과학을 가르쳐야 하는 이론적 근거를 살펴보고, 교과 과정 내에서 컴퓨터 과학의 내용, 교육접근 방법 및 평가 등 컴퓨터 과학 교육 전반의 내용을 학습하여 컴퓨터 과학 교육의 주요한 측면을 제시하고 연구할 수 있는 능력을 개발한다.

2 TTP3006 컴퓨터교육논리논술 3 교직

강의설명

컴퓨터교육론에서 다루는 교육내용의 논리적 전개와 방법에 대한 지식과 논의를 제공하며, 학습자에게 논술 능력의 신장과 함께 교육관과 교육철학을 정립할 수 있도록 도와주는 필수 교과교육학 과목이다. 컴퓨터 교육에 관련된 역사적, 사회적, 경제적 이슈들을 분석하고 이와 관련하여 자신의 의견을 논리적인 글로 표현해 볼 수 있도록 한다.

4학년

학기 학정번호-분반-실습 과목명 학점 분류
1 CSI4117 데이터마이닝 3 전공선택

강의설명

본 강좌는 컴퓨터의 발전과 더불어 쏟아지는 엄청난 양의 데이터로부터 의미 있는 패턴이나 규칙을 추출하는 데이터마이닝의 배경과 기법, 사례를 다룬다. 연관규칙, 분류, 예측, 군집화 등의 대표적인 방법을 익히고, 이를 바이오, 모바일, 비즈니스 데이터에 적용하는 실습과 프로젝트를 통해 데이터마이너로서의 소양을 함양한다.

1 CSI4116 컴퓨터비전 3 전공선택

강의설명

컴퓨터비전은 영상이나 비디오 데이터들로부터 의미 있고 유용한 정보를 추출하는 컴퓨터과학 분야이다. 예를들면 사진이나 동영상에서 얼굴 또는 물체를 검출하고 누구인지 어떤 물체인지를 인식할 수 있다. 본 과목에서는 필터링, 에지검출 등과 같은 Low-level vision, 영상분리, 클러스터링 등의 Mid-level vision, 얼굴인식, 객체인식, 장면인식등과 같은 High-level vision을 소개한다.

1 CSI4101 소프트웨어종합설계(1) 3 전공필수

강의설명

컴퓨터과학과 4학년생들이 산업체나 학계에서 진행되고 있거나 요구되는 최신 연구 주제를 설정하여 심도 있는 연구 및 새로운 개념/방법의 설계와 그 실험 결과 분석 등의 체계적이 연구를 수행할 수 있도록 소프트웨어프로젝트1과 소프트웨어프로젝트2를 전공 필수 교과목으로 연계 운영한다.

1 CSI4102 소프트웨어종합설계(2) 3 전공필수

강의설명

컴퓨터과학과 4학년생들이 산업체나 학계에서 진행되고 있거나 요구되는 최신 연구 주제를 설정하여 심도 있는 연구 및 새로운 개념/방법의 설계와 그 실험 결과 분석 등의 체계적이 연구를 수행할 수 있도록 소프트웨어프로젝트1과 소프트웨어프로젝트2를 전공 필수 교과목으로 연계 운영한다.

1 CSI4103 창의소프트웨어설계 3 전공선택

강의설명

실무 지향적 소프트웨어 설계능력과 문제 해결능력을 위해 기획, 분석, 설계, 개발 및 평가 등의 소프트웨어 개발 주기 전반을 체계적으로 실습, 응용설계 실습분야는 업무용, 오락용, 인터넷 관련 패키지 소프트웨어 개발을 위한 software product 설계 분야, 실시간성, 병행성 등을 지원하는 하드웨어 및 시스템 소프트웨어설계를 위한 embedded software 설계 분야, 시스템 통합 및 설계 및 관리, 정보검색, 보안 및 인증기술, 전자상거래 지능형 에이전트를 위한 internet business & E-commerce 설계 분야, multimedia & game content 설계 분야, 시스템 통합 및 고객 시스템 설계 분야에서 연구주제를 제안하여 지도교수의 지도하에 소프트웨어를 설계한다.

1 CSI4109 정보보호 3 전공선택

강의설명

인터넷을 비롯한 정보통신 분야에서 중요한 역할을 수행하는 정보보호 분야에 대하여 소개한다. 즉, 정보보호의 핵심적인 분야인 암호이론과 network 및 system 에서의 정보보호에 대하여 공부한다. 구체적으로 관용암호 알고리즘, 공개키 암호 알고리즘, 저자 설명, System Security, Email Security, Firewall, Intrusion Detection System 등을 다룬다.

1 CSI4118 임베디드컴퓨팅 3 전공선택

강의설명

임베디드 시스템은 특정 응용을 위하여 이동기기, 스마트카드, 자동차제어, 다양한 가전기기 등에 내장된 컴퓨팅 시스템으로 응용의 다양성과 복합화로 체계적인 시스템 설계기법이 요구된다. 본 과목에서는 다양한 응용 목표에 적합한 효과적인 시스템 설계 기법과 구동 기법을 제시하며, 주요 구성으로 임베디드 컴퓨팅 개요, 임베디드 프로세서의 구조, 주변기기 연결/구동 기법, 설계 이슈 정립과 모델링 기법, 소프트웨어 구동 기법, 시스템 프로그래밍 등을 통합적으로 설계 분석하게 된다. 본 과목은 이론과 실습을 균형적으로 운영하며, 다양한 센서 조합과 운영을 통한 응용 프로젝트를 진행한다.

1 CSI4119 멀티코어및GPU프로그래밍 3 전공선택

강의설명

병렬 프로그래밍은 싱글 코어 프로그래밍과는 다른 여러 가지 노력과 기법을 필요로 한다. 본 과목에서는 멀티코어 및 GPU에서의 프로그래밍을 위한 프로그래밍 모델, 병렬 아키텍처, 최적화 테크닉 등에 대해 학습한다. Std thread, OpenMP 및 Cuda 를 활용하여 matrix연산, reduction, DNN 등의 다양한 애플리케이션의 병렬 프로그래밍 및 최적화를 실제로 경험하는 것을 목표로 한다.

1 CSI4120 기계학습 3 전공선택

강의설명

본 과목은 인공지능의 핵심기술인 기계학습에 대한 전반을 강의한다. 선형대수와 확률론의 기초 수학적 지식을 시작으로 regression, classification의 핵심 내용들과 더불어 unsupervised, transductive, graphical inference에 대해서 강의한다. 후반부에서는 딥러닝의 기초 내용 및 최신 내용들을 강의한다.

1 CSI4121 빅데이터 3 전공선택

강의설명

본 강의는 최근 사회 전 영역에 걸쳐서 화두가 되고 있는 빅데이터 분석을 심층적으로 살펴본다. 디지털 기술의 발달로 자료의 생산, 수집, 처리 과정이 체계화되면서, 우리 주변에 산재되어 있는 다양한 자료를 활용하여 의미있는 결과를 도출해내는 기술은 빅데이터 분석 솔루션의 발달과 함께 매우 중요해지고 있다. 이런 시대 환경의 변화속에서 본 강의는 빅데이터 분석 방법을 광범위하면서도 체계적으로 이해하기 위해 인문사회과학적 패러다임 뿐만 아니라 관련된 다양한 이슈와 기술적 개념을 배우는 기회로 진행될 예정이다.

계절 CSI4113 소프트웨어인턴쉽(1) 3 전공선택

강의설명

모바일 프로젝트에서는 인턴쉽 실습을 통해 모바일 장비에서 운용 가능한 시스템 소프트웨어, 펌웨어, 사용자 인터페이스 및 모바일 콘텐츠 분야에 대한 프로젝트 운용 능력을 학습하게 한다.

계절 CSI4114 소프트웨어인턴쉽(2) 3 전공선택

강의설명

모바일 프로젝트에서는 인턴쉽 실습을 통해 모바일 장비에서 운용 가능한 시스템 소프트웨어, 펌웨어, 사용자 인터페이스 및 모바일 콘텐츠 분야에 대한 프로젝트 운용 능력을 학습하게 한다.

2 CSI4104 컴파일러설계 3 전공선택

강의설명

Introduction to compiler, lexical analysis(LEX), syntax analysis(Parser), top-down parsing, bottom-up parsing (YACC Tool), syntax tree, type checking, symbol table, run-time environment, intermediate code generation, code generation, optimization 등을 다룬다.

2 CSI4107 인간과컴퓨터인터페이스 3 전공선택

강의설명

컴퓨터의 사용자 인터페이스 기술 (input and output devices, interaction styles, common interface paradigms), 인터페이스 설계 방법 (user-centered design, structures HCI design, prototyping, design principles and rules), 인터페이스 평가 (software logging, user observation, benchmarks and experiments) 등을 다룬다.

2 CSI4101 소프트웨어종합설계(1) 3 전공필수

강의설명

컴퓨터과학과 4학년생들이 산업체나 학계에서 진행되고 있거나 요구되는 최신 연구 주제를 설정하여 심도 있는 연구 및 새로운 개념/방법의 설계와 그 실험 결과 분석 등의 체계적이 연구를 수행할 수 있도록 소프트웨어프로젝트1과 소프트웨어프로젝트2를 전공 필수 교과목으로 연계 운영한다.

2 CSI4102 소프트웨어종합설계(2) 3 전공필수

강의설명

컴퓨터과학과 4학년생들이 산업체나 학계에서 진행되고 있거나 요구되는 최신 연구 주제를 설정하여 심도 있는 연구 및 새로운 개념/방법의 설계와 그 실험 결과 분석 등의 체계적이 연구를 수행할 수 있도록 소프트웨어프로젝트1과 소프트웨어프로젝트2를 전공 필수 교과목으로 연계 운영한다.

2 ENG4005 AIM캡스톤디자인 3 전공필수

강의설명

-

공통

학년 학정번호-분반-실습 과목명 학점 분류
2,3,4 CSI2101 이산구조 3 전공기초

강의설명

Sets, Propositional/Predicate Calculus, Induction, Recursion, Permutation과 Combination, Inclusion, Recurrence Relation, Graphs, Random Number Generation 등을 다룬다.

2,3,4 CSI2130 멘토세미나 1 전공선택

강의설명

현장에서 생활하는 실제적인 경험자로부터 듣기 위함이며 현재 컴퓨터과학과 겸임교수로 활동해주시는 멘토를 통해 성공적인 피드백이 올 경우 다양한 경험과 이론이 겸비된 수업이 될것으로 판단됨. 학생들에게 실제적인 정보를 제공하는 수업이다.

2,3,4 CSI2001 주니어세미나 1 전공선택

강의설명

컴퓨터과학의 세부 분야 및 최신 연구기술을 소개하며, 학과 연구실 별로 현재 진행되고 있는 최신 분야를 소개하는 수업이다.

3,4 CSI4130 미래컴퓨터과학전공탐색 1 전공선택

강의설명

본 과목은 컴퓨터 과학을 배우는 학부 3-4학년 학생들에게 다양한 전공 특성을 파악하고 최신 컴퓨터 기술의 동향과 첨단 기술 소개한다. 특히 컴퓨터 과학 기술의 미래 흐름과 향후 사회에 대한 영향력을 소개하고 다양한 세부 전공을 강의한다.

1~4 CSI3120 컴퓨터과학 연구과제-1 1 전공선택

강의설명

본 과목의 수강 대상은 학부 2-4학년을 대상으로 한다. 본 과목은 급변하는 컴퓨터 시스템, 인터넷, 소트프웨어 등 컴퓨터 전 분야에 관련된 새롭고 다양한 주제를 소규모의 학생들이 그룹을 형성하여 교수들과 심도 있게 연구/학습하는 것을 목표로 한다.

1~4 CSI3121 컴퓨터과학 연구과제-2 1 전공선택

강의설명

본 과목의 수강 대상은 학부 2-4학년을 대상으로 한다. 본 과목은 급변하는 컴퓨터 시스템, 인터넷, 소트프웨어 등 컴퓨터 전 분야에 관련된 새롭고 다양한 주제를 소규모의 학생들이 그룹을 형성하여 교수들과 심도 있게 연구/학습하는 것을 목표로 한다.