소프트웨어학부 소프트웨어전공

대학/학과 기본정보
위치
전화번호 팩스번호
이메일 /
관련 홈페이지 대표 / http://sw.hanyang.ac.kr/
관련 SNS
대학/학과 교과목
학년 학기 학수번호 교과목 과목구분 학점-강의-실습  
2 1 CSE2010 자료구조론 전공핵심(필수) 3-3-0
데이터 구조의 개념을 이해하고 S/W 에서 데이터구조가 중요함을 터득한다. 동시에 S/W Engineering의 개념과 프로그래밍 설계기술을 익힌다. 데이터 구조의 추상화, 좋은 프로그램의 조건 등 소프트웨어 공학의 기본개념을 이해한 후 Built-in 데이터구조를 알아본 후 List, Stack, Queue, Tree, Graph등 대표적인 User-Defined 자료구조를 공부한다. 이를 바탕으로 Sorting 및 Search알고리즘과 Recursion 방법을 공부한다. 또한 실습 수업을 통해 이론에서 학습한 내용을 바탕으로 Java 또는 C++ 언어를 통한 자료구조와 알고리즘을 실제 구현한다. 스택과 큐, 리스트, 탐색과 정렬, 이진 트리, 그래프를 응용한 다양한 적용 사례를 실습한다.
2 1 CSE2019 오픈소스SW개발 전공핵심 2-1-2
2 1 CSE3003 디지탈논리설계 전공핵심 3-2-2
이 과목에서는 디지털 논리회로의 설계와 해석에 관한 기본 이론을 배운다. 주요 교과 내용은 디지털의 개념, 논리 게이트의 종류, 부울대수, 논리함수의 표현과 간략화 기법, 기본적인 논리소자의 종류와 동작, 그리고 플립플롭의 종류 및 동작특성 등이다. 이 과목의 최종 목표는 조합논리회로와 순차논리회로를 설계하고 해석하는 방법을 배우는 것이다.
2 1 DEE2037 영어커뮤니케이션1-초급 기초필수 2-2-0
본 교과목은 학생들의 실력에 따라 반편성(초급, 중급, 고급)과 수업진행이 이루어지는 수준별 수업이다. 수업의 핵심은 의사소통을 중심으로 하는 기본영어회화이다. 본 교과목의 수업에서 사용되는 교수방법은 구두영어 사용기능을 익히고, 연습하는 의사소통 중심 교수법이며, 약간의 영작문이 병행되지만 쓰기는 주로 과제 부과를 통해 이루어진다. 본 교과목은 수업 시 학생들의 구두영어 사용에 강조를 둔 실용영어 교과목이지만 실용영어 관련 읽기와 쓰기는 수업시간 이외의 과제물로 부과됨으로써 영어의 말하기, 듣기, 읽기, 쓰기의 통합교육이 이루어지도록 한다.
2 1 DEE2038 영어커뮤니케이션1-중급 기초필수 2-2-0
본 교과목은 학생들의 실력에 따라 반편성(초급, 중급, 고급)과 수업진행이 이루어지는 수준별 수업이다. 수업의 핵심은 의사소통을 중심으로 하는 기본영어회화이다. 본 교과목의 수업에서 사용되는 교수방법은 구두영어 사용기능을 익히고, 연습하는 의사소통 중심 교수법이며, 약간의 영작문이 병행되지만 쓰기는 주로 과제 부과를 통해 이루어진다. 본 교과목은 수업 시 학생들의 구두영어 사용에 강조를 둔 실용영어 교과목이지만 실용영어 관련 읽기와 쓰기는 수업시간 이외의 과제물로 부과됨으로써 영어의 말하기, 듣기, 읽기, 쓰기의 통합교육이 이루어지도록 한다.
2 1 DEE2039 영어커뮤니케이션1-고급 기초필수 2-2-0
본 교과목은 학생들의 실력에 따라 반편성(초급, 중급, 고급)과 수업진행이 이루어지는 수준별 수업이다. 수업의 핵심은 의사소통을 중심으로 하는 기본영어회화이다. 본 교과목의 수업에서 사용되는 교수방법은 구두영어 사용기능을 익히고, 연습하는 의사소통 중심 교수법이며, 약간의 영작문이 병행되지만 쓰기는 주로 과제 부과를 통해 이루어진다. 본 교과목은 수업 시 학생들의 구두영어 사용에 강조를 둔 실용영어 교과목이지만 실용영어 관련 읽기와 쓰기는 수업시간 이외의 과제물로 부과됨으로써 영어의 말하기, 듣기, 읽기, 쓰기의 통합교육이 이루어지도록 한다.
2 1 ELE3029 오토마타와형식언어론 전공핵심 3-3-0
전산학의 기초와 계산의 원리를 학습하고 컴파일러와 같은 응용분야에 대한 기초 지식과 수학을 통한 논리적이고 형식화된 사고 능력을 배양함을 목적으로 한다. 이를 위하여 형식언어의 개념, 컴퓨터 언어를 나타낼 수 있는 형식언어의 특성, 형식언어의 구성 및 해석, 언어를 나타내는 자동장치, 이론적 계산 기법 등에 관하여 강의한다.
2 1 MAT2003 선형대수 전공핵심 3-3-0
본 과목은 선형대스의 기본 개념을 소개한다.
2 1 MAT4073 확률론 기초필수 3-3-0
이 과목에서는 확률의 기초적인 개념들과 이론들을 배운다.
2 1 VCC2001 취창업을위한진로탐색 기초필수 1-1-0
사회진출을 준비하는 저학년 학생들에게 사회진출을 준비하기 위한 직업세계에 대한 이해와 진로탐색을 통한 미래설계에 대한 기회를 제공하는 수업임. 온라인 강의로 직업심리검사와 커리어로드맵 작성 등 자기분석과 진로탐색을 위한 실습과제를 수행함.
2 2 CSE3010 데이터베이스 전공핵심 4-3-2
많은 양의 데이터들을 효율적으로 저장, 검색, 변경, 유지하기 위한 시스템을 데이터베이스 시스테이라고 하며, 본 과목에서는 이에 대한 기본 개념, 설계기법, 구현방법 등에 관한 기초적인 개념과 이론을 공부한다. 모델링 방법으로 Entity-Relationship Model과 Semantic Object Model을 학습하며, 관계형 데이터베이스 기초 이론으로서 관계 대수와 관계 해석을, 그리고 질의어로서 SQL에 관한 이론을 습득한다. 데이터베이스 응용을 웹 서버와 연동시키는 방법과 분산 및 다중 사용자 데이터베이스에 대한 기초 이론도 함께 소개한다. 최종적으로, 이론을 통하여 학습한 내용을 실습한다.
2 2 CSE3026 웹애플리케이션개발 전공핵심 4-3-2
이 과목에서는 웹의 개념과 원리 그리고 웹 관련 개발에 필수적인 언어 및 도구를 배우고, 과제와 실습을 통하여 웹 애플리케이션 개발에 필요한 웹 기반 기술, 웹 프로토콜, 서버 및 클라이언트 사이드 처리 등을 실질적인 구현으로 이해하고 습득합니다.
2 2 CSE3032 소프트웨어융합전략1 전공핵심 2-2-0
글로벌 기업들의 전년도 사업성과를 분석하고 연초에 여러 시장조사 기관에서 예측한 올해 주목해야 할 기술과 트렌드에 대한 보고서를 조사 정리합니다. 다양한 사업분야의 최신 트렌드를 이해함으로써 새로운 사업기회를 발견하는 안목을 기릅니다. 테크컬럼리스트의 자질을 키웁니다
2 2 DEE2040 영어커뮤니케이션2-초급 기초필수 2-2-0
본 교과목은 학생들의 실력에 따라 반편성(초급, 중급, 고급)과 수업진행이 이루어지는 수준별 수업이다. 이 수업에서는 학생들이 ‘영어커뮤니케이션1’ 수업을 통해 다져진 영어기초실력을 바탕으로, 고급영어를 구사할 수 있도록 좀 더 체계적이고 다양한 학습활동이 이루어진다. 단어, 표현, 발음 및 문법뿐만 아니라, 학생들은 수업시간에 다양한 주제를 가지고 토론하고 작문한다. 이러한 활동들은 학생들이 영어로 의사소통하고, 세련된 영어표현을 익히는데 큰 도움을 줄 것이다.
2 2 DEE2041 영어커뮤니케이션2-중급 기초필수 2-2-0
본 교과목은 학생들의 실력에 따라 반편성(초급, 중급, 고급)과 수업진행이 이루어지는 수준별 수업이다. 이 수업에서는 학생들이 ‘영어커뮤니케이션1’ 수업을 통해 다져진 영어기초실력을 바탕으로, 고급영어를 구사할 수 있도록 좀 더 체계적이고 다양한 학습활동이 이루어진다. 단어, 표현, 발음 및 문법뿐만 아니라, 학생들은 수업시간에 다양한 주제를 가지고 토론하고 작문한다. 이러한 활동들은 학생들이 영어로 의사소통하고, 세련된 영어표현을 익히는데 큰 도움을 줄 것이다.
2 2 DEE2042 영어커뮤니케이션2-고급 기초필수 2-2-0
본 교과목은 학생들의 실력에 따라 반편성(초급, 중급, 고급)과 수업진행이 이루어지는 수준별 수업이다. 이 수업에서는 학생들이 ‘영어커뮤니케이션1’ 수업을 통해 다져진 영어기초실력을 바탕으로, 고급영어를 구사할 수 있도록 좀 더 체계적이고 다양한 학습활동이 이루어진다. 단어, 표현, 발음 및 문법뿐만 아니라, 학생들은 수업시간에 다양한 주제를 가지고 토론하고 작문한다. 이러한 활동들은 학생들이 영어로 의사소통하고, 세련된 영어표현을 익히는데 큰 도움을 줄 것이다.
2 2 ELE3034 알고리즘설계와분석 전공핵심(필수) 3-3-0
본 과목에서는 알고리즘을 효과적으로 설계하는 방법과 그 알고리즘의 효율성 측정 척도인 계산복잡도에 대해서 소개한다. 많이 알려져 있는 알고리즘 설계 전략인 분할정복법, 동적계획법, 탐욕적 방법, 되추적, 분기한정법 등을 세부적으로 공부하고, 설계된 알고리즘의 계산복잡도를 분석하는 기법을 숙지한다. 그리고 문제 자체의 계산복잡도, 즉, 계산복잡도 하한을 정렬 및 검색 문제를 통하여 공부한다. 마지막으로 문제를 해결하는 어려움의 정도를 대변해 주는 복잡도 체계를 소개하며, 특히 다루기 힘든 문제로 분류되는 NP와 NP-Complete 문제에 대하여 학습한다.
2 2 INE2018 전산통계학 기초필수 3-2-2
이 과목에서는 잔산통계의 기초적인 개념들과 이론들을 배운다.
2 2 MAT3008 수치해석 전공핵심 3-3-0
일반 수학적 공식은 무한의 정밀도를 요구하는 반면 전산계산에서는 유한한 정밀도만이 주어진다. 따라서 주어진 알고리즘이나 공식을 컴퓨터에서 효율적이고 정확하게 계산하는 것이 매우 중요한 과제이다. 또 이 과정에서 계산오차가 발생하고 전파된다. 본 과목에서는 정수나 실수의 표시하는 방법을 설명하고 이로부터 가장 효율적이고 오차가 적게 발생하는 방법들을 설명한다. 또 주어진 알고리즘들의 시간과 공간 복잡도에 대한 분석도 시행한다. 다루는 주제는 선형대수, 다항식의 해를 구하기, 미분/적분, 상미분방정식, 경계치문제 와 편미분방정식의 해법이며 LINUX 나 Window 환경에서의 실습을 필수적으로 병행한다.
3 1 COM2005 운영체제론 전공핵심(필수) 3-2-2
운영체제는 컴퓨터와 사용자 사이의 인터페이스이며, 동시에 컴퓨터 하드웨어 자원을 관리하는 가장 중요한 시스템 소프트웨어이자 컴퓨터 시스템의 자원 관리자이다. 본 강좌에서는 운영체제의 개념과 기본적인 구성 원리를 강의함으로써 컴퓨터 공학을 전공하는 학생들에게 운영체제에 대한 폭넓은 지식을 전달한다.
3 1 CSE3027 컴퓨터네트워크 전공심화 3-3-0
본 강의는 컴퓨터 통신에서 가장 중요하고 핵심이 되는 인터넷의 이해와 활용을 위해 다양한 컴퓨터네트워크 프로토콜을 학습한다. 응용계층으로부터 링크계층까지 Top-down 방식으로 소개하고, 인터넷의 프로토콜을 실제 구현/실습하기 위한 socket 프로그램을 작성한다
3 1 CSE4009 시스템프로그래밍 전공핵심 4-3-2
"하위수준의 프로그래밍 기법을 간단히 학습하고, 실제 운영체제의 커널 소스 코드를 분석해가며 다중 프로그래밍 환경의 시스템 설계 기술과 구현 방법을 습득한다. 교과내용으로는 CPU 스케줄링과 컨텍스트 스위칭, 프로세스 관리와 조정, 메시지 전송, 메모리 관리, 인터럽트 처리, 리얼타임 클럭 관리, 디바이스 독립 I/O, 디바이스드라이버, 윈도 관리, 디스크 드라이버, 파일시스템 등을 소스코드 레벨에서 학습한다. "
3 1 CSE4034 모바일애플리케이션개발 전공심화 3-2-2
아이폰용 모바일 앱 개발을 위한 기초적인 실습과 과제로 구성된다. 기본적으로 iPhone SDK, MVC, Xcode, 인터페이스와 첫 번째 애플리케이션을 개발하는 방법을 간략히 소개한다. 그 이후의 실습은 4가지 주제로 구성된다. (뷰와 네이게이션 컨트롤러, 동작 인식, UI 이미지와 테이블 관리, data persistency) 최종 프로젝트는 이와 같은 주제를 포괄하는 창의적인 작품을 발표하는 것이 요구된다.
3 1 ELE3028 멀티미디어정보처리 전공핵심 3-3-0
본 과목은 멀티미디어 정보 처리에 대한 다양한 이론, 알고리즘 및 그의 응용에 대하여 공부하는 것을 목표로 한다. 이를 위하여, 멀티미디어 시스템의 구조, 멀티미디어 하드웨어, 인터넷과 멀티미디어, 샘플링과 양자화, 사운드 처리 기법, 영상 Enhancement와 Filtering, 영상 분할, 영상 압축(MPEG-1,2,4), 영상 표현 및 해석(MPEG-7), 영상 분류 및 인식, 멀티미디어 정보 검색 등에 대하여 강의한다.
3 1 ENE1004 컴퓨터구조 전공핵심(필수) 3-3-0
단일 CPU 시스템의 범위 내에서 컴퓨터시스템의 하드웨어 구성과 동작원리를 배운다. 하향식(Top-Down) 접근방법에 따라 중점적으로 다루는 내용은 명령문 사이클, 메모리 접속회로, 캐시메모리 구성, 입출력기법 및 동작원리, 마이크로프로그램 방식의 제어장치의 원리와 구현방식, 그리고 명령축소형 컴퓨터(RISC)의 구성과 특성 등이다.
3 1 VCC3003 직무소양과역량계발 기초필수 1-1-0
학생들의 사회진출 및 취업경쟁력 향상을 지원하는 수업으로, 온라인 강의와 더불어 전공교수와의 지속적인 상담 및 교내외 타 경력개발관련 프로그램과의 유기적인 연계활동을 통해 사회진출 역량을 배가시키는 수업임. 진로 및 취업상담 및 각종 역량진단 테스트와 기본적인 취업준비 스킬에 대한 대규모 비정규 교과 강의를 병행하여 진행함.
3 2 CSE1008 컴퓨터캡스톤디자인1 전공심화 3-1-4
본 과목의 목적은 팀 단위 소프트웨어 개발 프로젝트를 직접 수행해 봄으로써, 신뢰성 있는 소프트웨어를 효율적으로 개발하기 위한 다양한 기법들을 배우는 것이다. 효율적인 소프트웨어 개발을 위한 소프트웨어 요구 사항 분석 기법, 체계적인 소프트웨어 분석 및 설계 기법, 구현, 문서화 및 테스트 기법 등과 같은 다양한 기법들을 배우고, 또한 팀 기반 소프트웨어 개발 프로젝트에서 필요한 발표력과 팀웍 등과 같은 의사 소통 능력을 습득하여 소프트웨어 개발에 필요한 실무적인 기술들을 배운다.
3 2 CSE4007 인공지능 전공심화 3-3-0
"인간의 두뇌를 모방하여 사람과 유사하게 생각할 수 있는 시스템을 개발하는데 그 목적이 있다. 이를 위하여 지능을 이용한 문제 해결 기술, 새로운 지식의 표현방법과 추론 기법, 휴리스틱을 이용한 탐색 기법과 이를 이용한 컴퓨터 게임 구축, 계획과 학습을 통한 문제 해결 알고리즘, 자연어 처리, 전문가 시스템, 이미지 처리 등의 고급 인공지능 시스템에 관하여 강의한다. 주요 토픽으로는 자극반응 에이전트, 신경망, 유전자 프로그래밍, 계획수립, 학습, 무정보 탐색과 휴리스틱 탐색, 명제논리, 논리융합, 술어논리, 지식기반 시스템, 전문가 시스템, 자연어처리 등이 있다. "
3 2 CSE4020 컴퓨터그래픽스 전공심화 3-3-0
컴퓨터 그래픽의 개념과 원리를 배우며, 이를 지원하는 제작 및 디스플레이 장비를 포함하는 하드웨어와 언어 및 시스템을 포함하는 소프트웨어에 대해 전반적으로 살펴본다. 특히 그래픽 시스템의 모델 구성, 그림의 구조와 변환, 곡선과 곡면의 구성, 숨은 곡면의 취급, 디스플레이 장치 등에 대해 다룬다.
3 2 ELE3026 객체지향개발론 전공심화 3-3-0
본 과목에서는 Unified Modeling Language (UML)와 객체지향 소프트웨어 개발 방법론을 공부한다. 객체지향의 기본 개념(객체, 클래스, 상속, 다형성 등)을 먼저 소개하고, 이를 바탕으로 UML을 이용한 객체지향 분석과 설계 방법을 공부한다. 이 과목에서는 객체지향 패러다임을 통하여 복잡한 계산 문제의 해결 방안을 강구하고, 재사용이 가능한 설계 패턴을 파악하고 습득하며, JAVA와 C++등의 언어를 이용하여 고품질 프로그램의 작성 능력을 배양함을 목표로 한다.
4 1 CSE1018 컴퓨터캡스톤디자인2(종합) 전공심화 3-1-4
본 과목의 목적은 팀 단위 소프트웨어 개발 프로젝트를 직접 수행해 봄으로써, 상품화 수준의 소프트웨어 개발을 위한 다양한 소프트웨어 품질 보장 방법을 배우는 것이다. 소프트웨어 품질을 보장하기 위하여 소프트웨어 개발의 산출물인 요구 사항 분석 및 설계 문서, 구현 노트에 대한 검증 방법과 소프트웨어 소스 코드의 디버깅/테스트/검증 방법을 배운다. 또한, 소프트웨어 개발 산출물에 대한 효율적인 유지 보수 방법을 습득하도록 한다.
4 1 CSE4006 소프트웨어공학 전공심화 4-3-2
이 과목은 요구사항 분석, 소프트웨어 설계 및 구현, 시스템 유지보수에 이르는 소프트웨어 개발의 전반적인 과정에 대해서 익히는 것이 목적이며, 이와 관련하여 소프트웨어 개발 프로세스 모델 및 각각의 개발 단계에서 비용 효율적인 처리를 위해 필요한 방법론 및 도구들에 대해서 배우게 된다.
4 1 ELE4076 정보검색론 전공심화 3-3-0
"비구조적인 문서(unstructured documents)를 저장하고 검색하는 이론적인 알고리즘을 배우고, 이를 바탕으로 구현된 응용 시스템을 분석, 비교해본다. 정보검색시스템에 대한 기본적인 개념을 습득하고, 전문검색(Fulltext Information Retrieval Systems)을 응용 사례로 선택하여 이에 따른 검색이론을 중점적으로 다룬다. 교과 내용으로는 IR Modeling, Retrieval Evaluation, Query Languages and Operations, Text Operations, Indexing and Searching, User Interface and Visualization, Multimedia IR, Searching the Web, Digital Library 등을 다룬다. 응용 시스템에서는 주로 인터넷과 웹에 산재해 있는 정보를 대상으로 하는 시스템을 살펴본다. 연관된 내용으로써 검색 에이전트, 데이타 마이닝 등에 대해서도 개념과 응용 기술을 공부한다 "
4 1 ENE4014 프로그래밍언어론 전공심화 3-3-0
이 과목은 프로그래밍언어의 패러다임과 설계 원칙을 공부한다. 프로그래밍언어의 역사를 먼저 살펴보고, 프로그래밍언어 구문과 의미를 표현하는 문법과 인터프리터를 중심으로 주요 프로그래밍 패러다임 별로 언어 설계의 원칙을 배운다. 다루는 패러다임은 명령중심, 객체중심, 함수중심, 논리중심이며, 데이터구조 확장원칙, 제어구조 확장원칙, 추상화 원칙, 파라미터화 원칙, 블록화 원칙에 의해서 어떻게 언어를 설계하는지를 배운다.
4 1 ITE4067 임베디드소프트웨어설계 전공심화 3-2-2
이 과목은 제한된 자원을 가지는 임베디드시스템에서의 소프트웨어 구축에 관한 가이드라인을 제시하는 고급 시스템 소프트웨어 인력 양성 프로그램이다. 학생들은 ARM Cortex-A 프로세서 기반의 소프트웨어 설계 과정, 즉 개발 환경의 구축과 시스템 서비스의 포팅, 장치간 통신 지원등의 임베지드 소프트웨어를 직접 개발해 봄으로써 실용적인 감각을 익히게 된다.
4 2 CSE3009 컴파일러구조 전공심화 3-3-0
본 과목에서는 컴파일러의 구조와 설계, 모델링하는 방법에 대해 공부한다. 이를 위하여 어휘구조 분석과 스캐닝, 구문구조 분석과 파싱, 의미구조 분석 등에 대해 학습한다. 또한 실제 컴파일러를 구현하여 이론적으로 습득한 지식을 직접 활용해 본다.
4 2 CSE4036 빅데이터처리 전공심화 3-2-2
본 과목의 목적은 빅데이터에 대한 개념을 이해하고 다양한 빅데이터 분석 기술(예, 텍스트 마이닝, 평판 분석, 소셜 네트워크 분석, 클러스터 분석)과 빅데이터를 위한 분산처리 기술 (예, 하둡, NoSQL)들을 배우는 것이다. 또한 구글의 Bigtable이나 아마존의 DynamoDB 등과 같은 빅데이터 처리를 위한 구체적인 사례 연구를 통하여 빅테이터 처리의 중요성을 이해하고 실무적 기술들을 습득한다.
4 2 CSE4039 소셜네트워크분석 전공심화 3-3-0
최근 각광을 받고 있는 소셜네트워크 시스템의 기본적인 이론, 분석 방법, 응용 시스템에 관한 다양한 관심분야를 다룰 예정입니다. 페이스북과 같은 대규모 온라인 소셜 네트워크에서 어떠한 방식으로 네트워크가 구성되는지 궁금하지 않은가요? 그러한 네트워크가 갖고 있는 다양한 성질들이 궁금하지 않은가요? 그러한 성질들을 사용하여 어떠한 분석결과를 얻을 수 있는지 궁금하지 않은가요? 인류가 과거에 경험한 적이 한번도 없었던 대규모로 우리가 서로 연결되어 있다는 사실이 (highly connected society) 우리의 미래의 삶의 방식을 어떠한 방향으로 변화시킬 수 있을지 지적 호기심을 가진 많은 학생들과 재미있는 수업을 진행하기 원합니다. 교재를 포함한 거의 모든 수업자료는 PDF 화일의 형식으로 무료로 배포될 예정입니다.
4 2 CSE4045 모바일컴퓨팅 전공심화 3-3-0