Home  >  대학  >  교과과정  >  교과목 해설

교과목 해설

확률 및 랜덤변수 (Probability and Random Variables)
전산학에서 응용할 수 있는 제반 기초 이론을 습득하고 실제적인 응용 확률통계와 통계 소프트웨어 패키지를 사용하는 방법을 익힌다.
This course studies basic probability and random variable theories that can be used in the field of computer engineering, and also introduces statistics theory and software packages.
이산구조 (Discrete Structures)
수학적인 관점에서 논리적인 디지털 컴퓨터 구조를 이해하기 위해 형식논리, 알고리즘 증명, 재귀, 집합, 순열과 조합, 이항정리, 이진관계, 함수 및 행렬, 그래프, 트리, 그래프 알고리즘, 프로그램의 검증, 부울 대수와 컴퓨터 논리 등에 관하여 배운다.
In order to understand the logical structure of digital computer from mathematical viewpoints, this course is designed to learn formal logic, proof of algorithm, recursion, set, permutation and combination, binomial theorem, binary relation, function and matrix, graph, tree, graph algorithm, program verification, Boolean algebra, and computer logic.
디자인적사고 (Design Thinking)
새로운 소프트웨어 개발을 위한 디자인 중심의 창의적 설계 접근방법과 아이디어 발상을 위한 이론적 프로세스를 팀워크를 통해 학습 한다.
We will learn the design-oriented creative design approach for new software development and the theoretical process for idea development through teamwork.
웹/파이선프로그래밍 (Web / Python Programming)
웹 프로그래밍과 파이선 프로그래밍의 기초적인 내용을 배우도록 한다. 웹 프로그래밍은 HTML5/CSS3/Javascript를 사용하는 WebApp을 개발함으로서, 클라이언트 개발을 가능하게 한다. 아울러 Node.js를 통한 서버 프로그래밍까지 할 수 있도록 한다. 파이선은 기초 문법에 대한 이해를 수행할 수 있도록 한다.
Learn the basics of Web programming and Python programming. Web programming enables client development by developing WebApp using HTML5 / CSS3 / Javascript. It also allows server programming through Node.js. Python makes it possible to understand basic grammar.
객체지향프로그래밍 (Object-Oriented Programming)
객체지향 프로그래밍 기초에서 배운 데이터 형, 입출력, 선택문, 반복문, 함수, 배열, 포인터, 문자열 등을 기본으로 하여 클래스, 함수 오버로딩, 연산자 오버로딩, 상속, 가상함수, 템플릿, 네임스페이스 등의 고급 객체지향 프로그래밍 기법을 배우고 이를 실습을 통해 익힌다.
Based on the basic knowledge of object-oriented programming such as data type, I/O, selection, iteration, function, array, pointer, string, etc., this course provides advanced techniques on object-oriented programming like class, function overloading, operator overloading, inheritance, virtual function, template, name space.
논리회로 (Logic Circuit)
디지털 논리회로의 기본요소인 논리소자 특성 이해 및 디지털 논리회로(조합회로, 순서회로)에 대한 설계방법을 익혀 실제적 응용 디지털 회로설계와 컴퓨터의 기본구조 설계에 관해 학습한다.
This course introduces design and implementation of digital logic circuits. By understanding of logic device property and design method in digital system, it focuses on basic design for computer architecture and practical digital circuit using combinational and sequential circuit.
컴퓨터 구조 (Computer Architecture)
컴퓨터 구조 설계의 기초 이론으로써 기본적인 컴퓨터 시스템의 구성과 설계에 대한 개념과 기법을 소개한다. 데이터의 표시방법, 레지스터의 전송과 마이크로 동작, 컴퓨터 소프트웨어를 포함하여 연산장치, 제어장치, 입출력장치의 구조와 설계기법을 학습함으로써 컴퓨터를 설계할 수 있는 지식을 습득하고 명령포맷,CPU 내부구조, 하드 와이어드 제어에 의한 제어 유닛 설계, 마이크로프로그램 제어에 의한 제어 유닛 설계, 인터럽트, DMA등에 의한 I/O 처리 기술을 배운다. 이 과목을 수강하기 전에 논리회로를 수강할 것을 권고한다.
Basic concepts of computer architecture and organization include data representation, register transfer, micro- operation, system software etc. This course studies on I/O interface techniques which include instruction format, CPU structure, control unit design using hardwired-control and micro-programmed control, interrupt, DMA.
자료구조 (Data Structures)
자료 추상화, 배열, 리스트, 스택, 큐, 트리, 그래프 등의 자료구조와 그러한 자료구조를 활용할 수 있는 알고리즘을 배운다. 이 과목을 통해서 학생들은 전산학의 지식을 확대하고 프로그래밍 기술을 향상시킬 수 있다.
This course focuses on data abstraction, data structures such as array, list, stack, queue, tree, graph and algorithms that utilize those data structures. From this course, the students can expand their knowledge of computer science and sharpen their programming skills.
운영체제 (Computer Operating System)
운영체제는 사용자 프로그램의 수행과 주변장치나 기억공간과 같은 다양한 자원 할당을 감시한다. 이 과목에서는 멀티프로그래밍, 시분할, 그리고 비동기적 프로세서의 개념을 소개한다. 특히 동기화, 스케쥴링, 교착, 메모리관리, 가상메모리관리, 파일 시스템, 디스크 스케쥴링, 정보공유, 보호/보안 및 분산운영체제와 같은 주제를 중점적으로 학습한다.
Operating systems monitor the execution of user programs and the allocation of various resources such as memory space and peripheral devices. In this class, we introduce the basic concepts of multiprogramming, timesharing and asynchronous processes. The course focuses on synchronization, scheduling, deadlock, memory management, virtual memory management, file system, disk scheduling, information sharing, protection and security, and distributed operating system.
컴퓨터네트워크 (Computer Networks)
컴퓨터 네트워크를 구성하는 각종 네트워킹 장치들의 계층 모델, 특성, 동작 방법, 그리고 운용 기술에 대하여 학습한다. 또한 이들 장치를 상호 연결한 인터네트워크의 구성과 동작 방법에 대하여 소개한다. 본 과목의 수강을 통하여 컴퓨터 네트워크의 구성과 동작 방법에 대하여 소개한다. 본 과목의 수강을 통하여 컴퓨터 네트워크의 7계층 구조와 인터넷 4계층 구조를 이해할 수 있고, 간단한 LAN(Local Area Network)을 설계할 수 있으며, 계층 모델을 기반으로 한 컴퓨터 네트워크의 이론적 이해 및 분석력을 함양함으로써 컴퓨터 네트워킹 개념에 대한 이론과 실용 기술을 체득할 수 있다.
This course deals with layered models, characteristics, operations and management of networking devices. Also, the course introduces to the internetworking among networked devices. Students through this course can understand about configuration of computer network and its operations. As a core architecture, this course deals with OSI 7 layers and 4 layered architecture for Internet. So, students can obtain the capability to design LANs through theoretical understanding and analytical learning.
소프트웨어공학 (Software engineering)
소프트웨어 공학 분야는 프로그램이 방대하고, 오랜 기간 동안 많은 프로그래머들이 참여하는 경우 발생되는 문제를 다룬다. 본 강좌에서 학습하는 분야는 프로그래밍 프로젝트의 설계와 구성, 시험과 프로그램 신뢰도, 소프트웨어 비용의 성격과 발생원인 인지, 여러 프로그래머간의 협조, 사용자 친화적 인터페이스 설계 및 문서화 등이다.
The field of software engineering deals with problems that arise when programs are large, when they involve many programmers, and when they exit over long periods of time. Topics will include organizing and designing a programming project, testing, and program reliability, identifying the nature and sources of software costs, coordinating multiple programmers, documentations and design of friendly use interfaces.
알고리즘분석 (Algorithm Analysis)
알고리즘의 기본적인 이해를 하고 대표적인 알고리즘의 형태를 배운다. 알고리즘 방법을 divide-and-conquer, dynamic programming, greedy algorithms, branch-and-bound 등으로 분류하고, 각각의 특성을 이해하도록 한다. 아울러 기본적인 복잡도 문제를 살펴본다. 본 과목을 이수 후 새로운 문제에 대한 해결 방법을 도출할 수 있는 능력을 키운다.
Basic concepts of algorithms are presented and fundamental types of algorithms are discussed. Algorithms are classified into divide-and-conquer, dynamic programming, greedy algorithm, and branch-and-bound and properties of the algorithms are discussed. Also, fundamental complexity problems are introduced. Students will be able to enhance their capability to solve new problems through the course.
데이터베이스 (Database)
데이터베이스 시스템을 이루는 기본 구성 요소에 대한 이론을 소개하고, ER-모델 및 관계데이터 모델을 중심으로 한 데이터베이스 설계 이론과 동시성 제어, 회복, 트랜잭션 관리와 같은 데이터베이스 관리 시스템을 구현하는 이론을 소개한다.
This course is to provide the basic understanding about database systems and introduce database design techniques based on ER-model and relational data model. It also deals with theoretical issues for implementing DBMS(Data Base Management Systems) such as concurrency control, recovery, and transactions managements.
오픈소스SW개발 (Open Source SW Development)
오픈소스 SW 개념을 소개하고 활성화의 중요성을 이해한다. 그리고, SW개발 전 과정에서 널리 사용되는 오픈소스 솔루션들을 실습하며 자신의 SW를 개발하여 오픈소스로 공개하는 프로젝트를 진행한다.
This course introduces the concepts of open source SW and discusses importance of its invigoration. Then it deals with how to use open source solutions that are widely used in SW development processes. It also offers students an opportunity to develop his own SW and publish it as open source.
IT기술영어 1/2/3 (IT Technical English 1/2/3)
IT 기초이론과 최근의 연구동향 및 컴퓨터공학의 전문용어를 습득함으로써 논문 및 원서해석에 필요한 기초능력을 기른다.
By acquiring the IT basic theory and recent research trends and terminology of computer engineering, learn to improve basic skills needed article and books.
캡스톤디자인 1 (Capstone Design 1)
이 과목에서는 급변하는 컴퓨터, 멀티미디어, 인터넷 등 컴퓨터 전 분야에 관련된 새롭고 다양한 주제를 일정 소규모의 학생들이 그룹을 형성하여 교수들과 심도 있게 학습할 수 있는 기회를 제공한다. 교과 진행방법은 관심 주제에 대한 세미나, 산업 현장 인턴실습, 실제 프로젝트 수행, 연구논문 작성 등이다. 이 과목을 효과적으로 수행하기 위해서 학생들은 학기 초에 관심분야에 대한 학업 계획서를 작성하여 관련 교수와 상담을 통해 학습 주제를 결정하도로 되어 있다.
This course offers students an opportunity to study new and various subjects related to computer, multimedia, and Internet technologies as a group with their supervisor. The course includes seminar, industry internship, project study, and research paper writing. In order to efficiently complete this course, students are advised to determine their own research topics by preparing their study plans and contacting their supervisor in the beginning of the semester.
캡스톤디자인 2 (Capstone Design 2)
이 과목에서는 급변하는 컴퓨터, 멀티미디어, 인터넷 등 컴퓨터 전 분야에 관련된 새롭고 다양한 주제를 일정 소규모의 학생들이 개인별로 교수들과 심도 있게 학습할 수 있는 기회를 제공한다. 교과 진행방법은 관심 주제에 대한 세미나, 산업 현장 인턴실습, 실제 프로젝트 수행, 연구논문 작성 등이다. 캡스톤디자인 1를 수강한 학생들이 다음 학기에 수강하는 과목으로 캡스톤디자인 1에 이어서 연구 활동을 계속해 나가며, 지정된 날에 연구 결과에 대한 최종 발표를 하고, 보고서를 작성하여 제출한다.
This course offers students an opportunity to study new and various subjects related to computer, multimedia, and Internet technologies with their supervisor. The course includes seminar, industry internship, project study, and research paper writing. The course is provided for the students who have already completed the Special Topics in Capstone Design 1. The students are advised to continue their researches and studies based on the mid-result of the Special Topics in Capstone Design 1, present their final research results, and submit the corresponding reports.
졸업논문 (Graduation Thesis)
컴퓨터공학과는 캡스톤디자인 1 및 캡스톤디자인 2를 이수하는 것으로 졸업을 위한 “졸업논문” 합격 여부를 결정한다.
Bachelor of Engineering in Computer Engineering decides acceptance of graduation thesis by completing Capstone Design 1 and Capstone Design 2.
신호와시스템 (Signals and Systems)
연속 및 이산 신호와 시스템의 수학적 표현기법, 분석 및 신호 합성에 관한 기본 개념과 변환기법을 다룬다. Fourier 변환, Z-변환, Laplace 변환 등을 기초로 한 신호와 시스템 분석 방법에 관한 기본이론 및 필터링, 변조 등의 응용 예를 강의한다.
Signals and Systems provides basic theory for mathematical modeling and analysis of electrical circuits, communications, control, image processing, and electromagnetics. Signals and systems are analyzed in the time and frequency domains. This course covers basic continuous and discrete time signals, system properties, linear time invariant systems, convolution, continuous and discrete time Fourier analysis.
문제해결 (Problem Solving)
다양한 유형의 문제 해결을 위한 기본 이론들을 알고리즘 개발을 통해 습득한다. 또한 개발한 알고리즘을 컴퓨터 프로그램으로 구현함으로써 프로그래밍 실력을 배양한다.
This course introduces fundamental theories for solving various types of problems through algorithm development. It also emphasizes how to implement the algorithms developed in computer programming languages.
형식언어 및 컴파일러 (Formal Languages and Compiler)
전산학의 근간을 이루는 형식 언어에 대한 기본적인 이해와 컴파일러와의 연관관계를 배운다. 구체적으로, 언어의 문법적 표현과 분류, 유한상태 기계, push-down 자동장치, 정규언어, 튜링기계, 파싱 기법의 요소들을 이해하고 응용할 수 있는 능력을 키운다.
In this course, elementary knowledge of formal languages on which computer science is based and the relation of the formal language and compiler concept are discussed. In detail, language grammars and expressions, finite state machines, push-down automata, regular language, turing machine, parsing methods are studied.
파일처리 (File Processing)
대용량 기억장치에 데이터를 조작하는 개념과 기법을 익히고, 대용량 기억장치의 활용능력을 배양하며, 자료구조와 파일처리 기법의 응용을 위한 기초지식을 습득할 수 있다.
This course deals with the concepts and techniques for manipulating data in mass storage devices such as hard disks. This course allows students to learn basic knowledge for application of data structures and file processing techniques. It also helps students expand the ability to utilize mass storage devices for managing a large amount of data.
멀티미디어시스템 (Multimedia System)
멀티미디어의 정의 및 기본 개념, 멀티미디어 시스템 요구사항과 기술동향, 코딩과 압축, 전송기술을 배운다. 그리고 멀티미디어 시스템 설계 시 필요한 기술 등 응용 방향을 제시하며 실습을 수행한다.
This course provides the basic concepts and the requirements of the multimedia system, video coding and compression, and the technology for transmissions. This course also provides the required technology to design of the multimedia system and practical applications, followed by the performing the practices.
시스템분석 및 설계 (Systems Analysis and Design)
시스템 개발과정을 소개하며, 소프트웨어 시스템 분석 및 설계 시에 확장성과 재사용을 용이하게 하기 위한 구조적 방법과 객체 지향적 방법을 익힌다.
This course introduces the system development processes and focuses on the structural and object-oriented methodologies in software system analysis and design to support scalability and reusability.
프로그래밍언어구조론 (Structures of Programming Languages)
이 과목은 프로그래밍 언어의 기본적인 개념을 다루는데, 1) 다양한 언어 구조에 대한 설계 문제들을 토의하고, 2) 그런 구조들을 일반적인 언어에서는 어떻게 설계 선택을 했는지 조사하며, 3) 설계 선택 대안들을 비교하는 내용으로 구성된다.
This course treats the fundamental concepts of programming languages by 1) discussing the design issues of the variable language constructs, 2) examining the design choices for these constructs in some of the most common languages, and 3) critically comparing design alternatives.
JAVA프로그래밍 (JAVA Programming)
자바는 인터넷의 대중화와 더불어 가장 강력한 객체지향 프로그래밍 언어로 자리 잡고 있다. 자바는 현재 엔터프라이즈 솔루션의 핵심적인 웹 애플리케이션 서버의 책임 언어이며, 인터넷 분야뿐만 아니라 네트워크, 멀티미디어, 그래픽스, 임베디드 시스템까지 광범위하게 응용되고 있다. 본 과목에서는 자바 프로그래밍의 기본 개념을 배우고 여러 응용 프로그래밍을 구현함으로서 실제 업무에 적용 가능한 실무능력을 키운다.
With popularization of Internet, Java becomes one of the most powerful object-oriented programming languages. Now Java is a core language of web application servers, which plays a key role in enterprise solutions. Besides Internet, Java is being used in various areas such as network, multimedia, graphics, embedded systems, etc. This course studies the basic concepts of Java programming. By practicing implementing diverse application programs, it also helps students improve practical skills that can be used in real environments.
SW스타트업비즈니스 (SW Start-up Business)
실리콘벨리의 수많은 성공한 창업가들이 컴퓨터공학과 출신으로 이미 컴퓨터공학은 창업가들로 하여금 가장 핵심적이고 중요한 기술로 부각되고 있다. 구글, 마이크로소프트, 샤오미 등에서 제시하는 차세대 기술에 대해 연구하고 이러한 기술을 기반으로한 모의 창업을 통해 졸업 후 사업가 역량을 배양한다.
Many successful entrepreneurs major computer engineering from the Silicon Valley. Computer engineering has emerged as the most critical and important skills of entrepreneurs. This course researching on a next-generation technology proposed by Google, Microsoft and Xiaomi. Students simulate a mock business based on research result and improve business skills needed at the company after graduation.
SW스타트업프로젝트 (SW Start-up Project)
산업사회가 고도화되면서 창업의 비중이 점차 높아지고 있는 추세이다. 오픈소스SW를 기반으로 창업아이템 선정, 사업기획, 제품샘플 개발까지의 일련의 과정을 포함한 모의창업을 연계하여 실제 창업 프로세스를 경험한다.
As the industrial society becomes more sophisticated, the proportion of start-ups is gradually increasing. Based on open source software, students experience the actual start-up process by linking mock startups including a series of processes from startup item selection, business planning, and product sample development.
현장실습 (Internship)
관련 기업에서 실무 경험을 통해 전공지식을 응용한다. (활동기간에 따라 학점 부여)
This course gives a chance to apply theoretical knowledge in a field.
장기현장실습 (Long-term Internship)
관련 기업에서 장기 실무 경험을 통해 전공지식을 응용한다. (활동기간에 따라 학점 부여)
This course gives a chance to apply theoretical knowledge in a field through long-term practical experience.
연구연수활동 1/2 (Research Internship in Computer Engineering 1/2)
연구실에서 진행하는 연구에 대한 실무 경험을 통해 전공지식을 응용한다.
This course gives a chance to apply research knowledges in laboratories.
인공지능 (Artificial Intelligence)
매칭, 제한조건의 이용, 탐색, 문제해결, 논리제어 등과 같은 개념을 익힘으로서 복잡도가 높은 문제들에 대한 해답을 찾는 방법을 다룬다. 지능적 탐색, 논리 증명, 지식을 학습하는 기계학습과 지능에이전트의 원리를 다룬다.
This course treats various problem solving methods and knowledge representations to solve highly complicated problems. Intelligent search, logic and proof, machine learning, intelligent agent are major topics.
머신러닝 (Machine Learning)
머신러닝은 데이터로부터 숨겨져 있는 규칙을 찾아내는 방법을 연구하는 분야이다. 본 과목에서는 머신러닝의 기본 개념들을 소개하고, 최근 각광받고 있는 딥러닝 모델을 TensorFlow로 구현해서 이를 실제 문제에 응용해 본다.
Machine learning is the research area that tries to find hidden rules from the data set. This course introduces the basic concepts of machine learning and how to implement deep learning methods using TensorFlow for benchmark problems.
빅데이터프로그래밍 (Big Data Programming)
대량의 정형 또는 비정형 데이터의 집합체인 빅데이터의 5V (규모, 다양성, 속도, 정확성, 가치) 요소에 대해 학습하고, 빅데이터로부터 가치를 추출하고 결과를 분석하기 위한 하둡의 맵리듀싱에 대해 학습한다.
Learn 5V elements (Volume, Variety, Velocity, Veracity, Value) of Big Data, a collection of large quantities of structured or unstructured data, and learn Hadoop and MapReducing for extracting values from Big Data and analyzing results.
클라우드컴퓨팅 (Cloud Computing)
클라우드 컴퓨팅의 개념을 이해하고 프로젝트를 진행한다. 가상화 기술(Virtual Machine)의 특징을 이해하고 IaaS, PaaS, SaaS 등의 개발 프로젝트를 진행한다. 아마존과 구글의 클라우드 서비스 활용 방법과 PaaS(Azure, Openshift, Cloudfoundry) 를 이용한 클라우드 서비스의 개발 실습과 OpenStack을 통한 가상 자원의 프로비저닝 및 운영기술에 대한 실무를 배양한다.
Understand the concept of cloud computing and proceed with the project. Understand the features of virtual machine and develop projects such as IaaS, PaaS, SaaS. Learn how to use cloud service of Amazon and Google and cloud service development practice using PaaS (Azure, Openshift, Cloudfoundry) and cultivate practical skill of provisioning and operating virtual resources through OpenStack.
데이터센터프로그래밍 (Datacenter Programming)
데이터센터와 서버 프로그래밍에 대한 이론을 이해하고 실습을 수행한다. 대표적인 기술로서 클라우드 컴퓨팅(OpenStack 등), 콘테이너 기술(Docker 등), 빅데이터 분석(Spark, Hadoop 등)에 대해서 이해하고, 실습을 통해서 직접 프로그램을 개발하여 본다.
Understand the theory and practice of data center and server programming. As a representative technology, students understand about cloud computing (OpenStack etc.), container technology (Docker etc.), big data analysis (Spark, Hadoop, etc.) and develop program directly by practice.
네트워크분석 및 설계 (Network Analysis and Design)
인터넷망의 설계에 있어서 라우팅, 큐잉, 흐름제어, QoS(Quality of Service)에 대한 이론을 배우고, 라우터와 스위치 등의 네트워킹 장치를 이용하여 실제의 인터넷 망을 설계하고 구현한다.
Students learn theories on routing, queueing, flow control, quality of services for designing Internet networks. Networking devices such as routers and switches are used to design and implement a real Internet.
인터넷프로토콜 및 프로그래밍 (Internet Protocol & Programming)
본 과정에서는 인터넷의 요소기술인 TCP/IP 프로토콜에 관하여 다룬다. 특히 인터넷에 관련된 IP Addressing, Subnet, Routing프로토콜(ARP, ICMP, IGMP, RIP, OSPF, BGP)의 프로토콜을 익힌다. 그리고 동적 IP 할당을 위한 DHCP와 도메인 네임을 관리하는 DNS와 IPv6 등에 관한 사항을 학습함으로써 인터넷통신에 대한 기본적인 지식의 습득을 목표로 한다. 또한 실습을 통하여 애플리케이션을 위해 인터넷 프로토콜을 구현하는 방법을 익힌다.
This course deals with TCP/IP Protocol that is essential technology for Internet. Especially, students through the course can learn of IP addressing, subnetting and routing protocols such as ARP, ICMP, IGMP, RIP, OSPF, BGP, etc. In addition, the course discusses of DHCP for dynamic IP assignment and DNS for managing domain name. By completion of this course, students can understand of basic knowledge of Internet communication. Also, through experimental works, students can get the capability as an Internet expert by obtaining how to implement Internet protocols for applications.
정보보호 (Information Security)
본 과정에서는 네트워크보안의 기본개념과 암호화 알고리즘, 인터넷보안 메커니즘과 무선망 보안등에 대하여 다룬다. 그리고 국내외 보안기술표준화동향 등에 대해서도 강의한다.
Students learn about the basic concepts of network security, Internet security mechanism, and security for wireless networks through this course. In order to provide the opportunity for understanding the state-of-art security technology, this course also introduces the current domestic and international standardization status.
모바일프로그래밍 (Mobile Programming)
오픈소스 자바 프로그래밍 개발 환경에서 모바일 프로그래밍의 기본 개념을 배우고 여러 응용 프로그래밍을 구현함으로서 실제 업무에 적용 가능한 실무능력을 향상시키고, 최신 적용가능 라이브러리 및 테크닉에 대해 학습한다. This course designed for learning a fundamental concept of the mobile programming based on the open source JAVA development environment and improving practical skills, and learn the latest applicable programming libraries and techniques.
웹서비스프로그래밍 (Web Service Programming)
본 과목에서는 HTML/CSS를 기본으로 하여 javascript을 이용한 Node.js 등과 같은 각종 웹 프레임워크를 이용한 웹서비스 백엔드 및 프런트엔드를 개발하는 방법을 소개한다.
This course introduce how to implement web service front-end and back-end using HTML/CSS, javascrip, and the diverse web frameworks for Node.js.
리눅스시스템프로그래밍 (LINUX System Programming)
가장 널리 사용되고 있는 운영체제 중의 하나인 LINUX 환경에서의 프로그램 개발 환경을 습득하여, UNIX 전문가로서의 계기를 제공한다. LINUX 사용법 및 개발환경에서 시작하여, file I/O, file & directory, process & thread, signal, IPC, synchronization, socket 등의 고급 프로그래밍 기법을 LINUX system call을 직접 사용함으로써 실습한다.
This course provides an opportunity for a LINUX expert. First, various development tools in UNIX are presented such as vi, make, gcc, gdb. Next, this course introduces various LINUX system calls and gives a lot of programming practices on file I/O, file & directory, process & thread, signal, IPC, synchronization, and sockets.
IoT디지털시스템 (IoT Digital System)
소프트웨어 와 하드웨어를 포함 하는 SoC(System on a Chip)의 기본 설계 개념과 Altera DE2 board를 사용 구현 방법을 다룬다. 아울러 FPGA구현을 위한 Verilog-HDL 코팅방법과 실제적인 응용에 접근한 프로젝트들을 익힌다.
This course deals with the basic design concept of SoC(System on a Chip) including Hardware/Software and the implementation method using Altera DE2 training board. And,also this course provides the Verilog-HDL coding method for FPGA implementation and some projects about practical application.
IoT소프트웨어 (IoT Software)
컴퓨터 공학 기초 과목의 이해를 바탕으로 Embedded System에서의 응용 프로그램 개발을 경험한다. 즉, Intel PXA255 기반의 Embedded System Toolkit을 사용하여, cross-compilation 개발 환경을 구축하고 Embedded Linux kernel porting, 각종 device control 등을 통해 Embedded System 개발 능력을 갖춘 후, 팀을 이루어 창의적인 응용 프로그램을 개발한다.
With a basic knowledge on computer engineering, this course gives an experience on embedded system programming. In this course, we develop the cross-development environment in Linux and port O/S kernel & various device drivers to an embedded system toolkit with an Intel PXA255 processor.
로봇소프트웨어 (Robot Software)
Part 1. 내장형 시스템의 일종인 휴대폰 단말기에서 WIPI 기반 응용 프로그램을 작성하는 기법을 익힌다.
Part 2. 로봇축구 시스템을 이해하고 전략을 작성하여봄으로써 임베디드 시스템의 응용 기법을 익힌다. 로봇축구는 시뮬 로봇과 마이크로봇을 다룬다.
Part 1. This course introduce how to develop application programs on embedded systems such as mobile phones by using WIPI platform.
Part 2. This course introduce what is robot soccer system as an application of the embedded system. Programming the strategies for SIMULOSOT and MICROSOT is the main part of the project.
영상처리 (Image Processing)
2차원 신호인 디지털영상신호의 표현, 영상신호처리의 기본 단계, 영상신호처리 시스템의 요소, 디지털영상의 기초, 푸리에 변환, FFT, DCT를 포함한 영상변환, 영상신호의 향상, 및 영상신호의 복구에 대하여 강의한다.
This course teaches representation of 2D digital image signal, basic processing steps of image signal, elements of image signal processing system, image transform including Fourier transform, FFT and DCT, enhancement and restoration of image signal.
컴퓨터그래픽스 (Interactive Computer Graphics)
2D와 3D 객체의 생성과 디스플레이를 위한 기본적인 기술들을 소개한다. 주요 강의 내용은 그래픽스를 위한 자료구조, 그래픽 프로그래밍 언어, 기학학적 변환, shading, 가시화 등을 포함한다. This course introduce techniques for the interactive generation and display of two and three dimensional objects. The topics to be covered will include data structure for graphics, geometric transformation, shading, visualization, and languages for graphics.
멀티미디어처리 (Multimedia Processing)
영상과 그래픽스, 그리고 비디오의 표현체계, 컬러체계, 비디오 코딩에 필요한 각종 알고리즘의 기본적이고 상세한 개념, 비디오 무손실/손실 압축 방법, JPEG, MPEG 등의 국제 표준 등의 멀티미디어 통신에 필요한 기본 알고리즘에 관한 연구를 수행한다.
This course provides the data representation, color models of the image, graphics and video, and also provides the basic and detailed concepts of the algorithms, lossless and lossy video compression, the international standards such as JPEG and MPEG for multimedia communications.
인간-컴퓨터상호작용 (Human-Computer Interaction)
본 과목은 인간-컴퓨터 상호작용 전반에 걸친 기본 원칙들과 그 원칙들의 응용사례들을 소개하는 과목으로 상호작용 가능한 컴퓨터 시스템을 사용자 중심의 방법론 안에서 디자인 하는 방법, 그리고 이러한 시스템을 사용성 측면에서 평가하는 방법을 배우게 된다. 특히, 컴퓨터 공학은 물론 인지과학, 사회과학, 상호작용 디자인 등 여러 학문분야가 다양하게 유기적으로 연결되어 있는 학문으로써, 본 과목에서 다룰 기본 원칙과 방법론들은 상호작용 가능한 모든 소프트웨어 및 하드웨어 시스템에 적용 가능함으로 통신, 협동, 교육, 의료 등 인간들의 삶의 질을 향상시키는데 아주 중요한 역할을 한다고 볼 수 있다.
This course aims at introducing basic principles and application examples of human-computer interaction(HCI). The students will learn the way how to design interactive computer systems through a user-centered approach and how to evaluate such systems in terms of usability. The principles, methods, techniques, and tools to be thought in this course are based on diverse areas including computer science, cognitive science, social science, and interaction design. The HCI principles and methods are used in designing and evaluation of most software and hardware systems that interact with human such as education, entertainment, and medical application.
UI/UX프로그래밍 (UI/UX Programming)
본 교과목은 UI/UX 프로그래밍에 필요한 모든 과정을 순차적으로 학습하고, 실제 인터페이스 구현에 적용해 보는 수업이다. 우선, UI/UX의 정의 및 최적의 사용자 경험을 제공하기 위한 필요한 요소들에 대한 이론적인 배경을 배우고, 이를 달성하기 위해 따라야하는 디자인 프로세스에 대한 실습을 수행한다. 또한, 인터페이스 프로그래밍 관련 기초 프로그래밍 기술을 학습하여, 수업 프로젝트를 통해 학생이 스스로 모든 과정을 직접 겪어보는 학습과정을 거친다.
This course aims to learn all the steps required for UI/UX programming sequentially and applies it to real interface implementation. First, students will learn the theoretical background about the definition of UI/UX and the necessary factors to provide the optimal user experience, and conduct a practical training on the design process to achieve this. In addition, students will learn basic programming skills related to interface programming, and through the class project, the student goes through a process of learning all of the processes themselves.
컴퓨터비젼 (Computer Vision)
본 과목은 사람이 시각 정보를 이용하여 지능적인 판단과 행동을 하는 것과 마찬가지로, 컴퓨터(기계)도 사람과 같이 시각 정보를 획득, 처리 하고 이를 이용하여 객체 인식 및 행동 인식과 같은 지능적인 일을 수행 할 수 있도록 하는 최신 연구 분야를 공부한다. 기초적인 영상 분석 및 기계 학습 방법들을 활용하여 Feature Extraction, Visual Tracking, Shape Matching, Pattern Detection, Object Recognition, Gesture Recognition, Scene Understanding 및 3D Reconstruction 와 같은 세부 연구 분야들을 공부한다.
Computer vision is an interdisciplinary research field that deals with how computers can be made for gaining high-level understanding from digital images or videos. In this class we study following topics: Feature Extraction, Visual Tracking, Shape Matching, Pattern Detection, Object Recognition, Gesture Recognition, Scene Understanding, 3D Reconstruction.
최신기술프로젝트 1/2 (New Technology Project 1/2)
본 과목에서는 산업계 최신 트렌드를 반영한 주제를 기반으로 심화 프로젝트를 수행한다. 최신 트렌드로 빅데이터 분석, 모바일 및 보안, IoT, 스마트컨텐츠 등의 분야를 다룬다.
This course aims to carry out further projects based on topics that reflect the latest trends in the industry. The latest trends cover big data analysis, mobile and security, IoT, and smart content.
최신기술콜로키움 1/2 (New Technology Colloquium 1/2)
본 과목에서는 유명 회사의 CTO를 초빙하여 관련 분야의 다양한 주제에 대한 특강을 진행한다.
CTO Talk Concert를 통해 산업계의 특징과 노하우 등을 간접적으로 학습한다. In this course, CTOs who work in famous companies are invited and give a lecture on various topics in related fields. Through the CTO Talk Concert, students learn indirectly the characteristics and know-how of the industry.