Upload
others
View
2
Download
0
Embed Size (px)
Citation preview
웹기술 및 응용:
Course Syllabus
2019년도 2학기
Instructor: Prof. Young-guk HaDept. of Computer Science & Engineering
Contents
• Introduction
• Major Topics
• Term Project
• Course Material
• Grading Policy
• Class Schedule
• Contact Information
2
Course Overview
• Course title– “웹기술 및 응용”
• Objective– 웹 기반 컴퓨팅의 개념 및 기초 지식을 학습
• XML, Web Services, REST
– 웹 기반 컴퓨팅 시스템 개발에 대한 기초 학습 및 실습– 웹 기반 컴퓨팅 최신 기술 동향 및 이슈에 대한 이해
• 머신 러닝(Machine Learning) 기반의 지능형 웹 기술에 대한 지식 습득
• Lecture time– 수요일 오후 2:30 ~ 오후 4:30 / 목요일 오후 1:30 ~ 오후 3:30
• Lecture room– 신공학관 1213호
3
Introduction toWeb-Based Computing (1)
• What is Web-Based Computing?– Web Technology를 기반으로 하는 분산 컴퓨팅 기술– For Human-to-Machine interaction (traditionally)
• Essential technologies– W3C standards: URL, HTML, HTML5
HTTP, CGI, …– Web Servers & Web Browsers
(e.g., IE, Safari, Chrome, FireFox, …)– Java: JavaScript,
JSON, JSP, JQuery,AJAX, …
– Web UI Frameworks– ASP, Flash, …
Human ReadableWeb Pages in HTML
HTML
Web-based computing forHuman-to-Machine interaction
4
HTTP
• Today’s Web-Based Computing– 다양한 Mobile Smart Device, Cloud Service 및 IoT의 등장– 보다 Intelligent, Interactive 및 Dynamic한 특성을 가짐– Increasing requirements for Machine-to-Machine interaction
à HTML & CGI are not enough
• Essential technologies– XML (eXtensible Markup
Language)– Web Services: WSDL, SOAP,
REST, …– Open APIs: Facebook,
Google, Naver, …– Semantic Web: RDF, OWL, …– And so on
Introduction toWeb-Based Computing (2)
5
HTML
Web Agents HTML
Hard to parsesemantics of Web pages
Hard to adapt tochanges of Web pages
MobileApps
Cloud
Today’s Web-Based Computing
6
CloudServices
Social MediaServices
Web-Based
Open
API
InformationServices
RESTful
Interfaces
Smart & IoT
Devices
XML
XML
XML
XML
XML
XML
What’s Next?
• “Intelligent Web = AI + Web-Based Computing”
– Traditional approach: Semantic Web• Web 자체를 하나의 거대한 지식베이스화 함 (웹 온톨로지)• 의미추론 기반 웹 검색 (Retrieval), 웹서비스 자동실행 (Execution)
및 웹서비스 자동조합(Composition) 등이 가능해 짐• 아직 실현되기에는 극복해야 할 한계가 많으며, 이론 연구 및 소규
모 실증 수준에서 머물고 있음
– Todays: Machine Learning• 최근 기계학습(i.e., Deep Learning) 기술의 발전 및 실용화에 힘입어
웹과 기계학습 기술을 접목하는 연구가 활발해짐• 웹 기반 서비스에 빅데이터 및 기계학습 기술을 접목하여 다양한 지
능형(사용자 맞춤형) 서비스 및 클라우드 기반 지능형 서비스를 제공하고 있음 (Google Assistant, Amazon Alexa, Apple Siri, MS Cortana, SKT Nugu 등)
7
Intelligent Web-Based Services:Echo(Alexa) and Lynx
8
What’s behind the Echo?
9
EchoDevice
Amazon Cloud
Internet
Open
API
Ultimate Goal of Web Intelligence:Semantic Web & Semantic Web Services
10
Semantic Web(Ontology,
RDF, RDFS, OWL)
Java, REST,Web Services
(XML, WSDL, SOAP)
Intelligence
Interaction“Bringing the web to its full potential”
Semantic Web Services(OWL-S)
Web(URL, HTML, HTTP,Browser, Web Server)
“Web as a Global Scale Knowledge Base”
Technology Stack forSemantic Web Services
11
OWL-S (Web Ontology Language for Services)
Service Profile Service Model Service Grounding
Semantic Web Services
HTTP/HTML
Unicode and URI/URL (Uniform Resource Identifier/Locator)
OWL (Web Ontology Language)
RDF (Resource Description
Framework) and RDF Schema
Semantic Web
WSDL(Web Services Description Language)
SOAP (Simple Object Access Protocol)
REST(Representational State Transfer)
Web Services
XML (eXtensible Markup Language) and Namespaces
Major Topics (1)
• XML (eXtensible Markup Language)– XML basics
• Introduction• Document structure• Basic syntax
– XML document models• DTD (Document Type Definition)• XML Schema
– XML document processing• DOM (Document Object Model)• SAX (Simple API for XML)• XML Path language (XPath)
12
Major Topics (2)
• Web Interfaces and Open API– Web Services
• Basic architecture (SOA)• Core technologies (WSDL, SOAP, UDDI)
– REST (Representational State Transfer)• REST architecture• RESTful API design
– Open APIs• Google, Facebook, Naver, … • 공공데이터포털, 기상청, 한국도로공사, …
– Etc• JSON (JavaScript Object Notation)• Flask
13
Major Topics (3)
• Machine Learning– Introduction to machine learning
• What is ANN (Artificial Neural Network)?• What is deep learning?• Deep learning models: CNN, RNN, YOLO
– Python• Basics on Python language• Programming practice with Python
– PyTorch• Open source machine learning library for Python• Deep learning practice with PyTorch
14
Term Project• 지능형 웹 서비스 시스템 구현
– Base technologies: XML, HTML, REST, JSON– Programming frameworks: Java, JavaScript, Python– Open APIs: Google, Facebook, Naver 등– Operating systems: Android, iOS, Linux, Windowsv 주 1: 관련 Open source를 적극 활용v 주 2: C++, C#, .NET, ActiveX, ASP, Flash 등은 사용 불가
• 텀 프로젝트 진행 절차1) Project proposal2) Progress report3) Final report 및 demonstration
15
Course Material
• 강의 자료– PPT를 이용하여 강의 진행– 강의 자료는 수업시간전에
과목홈페이지에서 다운로드– URL:
http://sclab.konkuk.ac.kr/lecture/4
• References– 각종 Web 표준 및 Spec.:
http://www.w3c.org– Web에서 다운로드할 수
있는 관련 Open 소스 및Document를 활용
16
Grading Policy• Midterm exam: 30%
– Programming exam
• Final exam (Project): 60%– Proposal: 15%– Progress report: 15%– Final report and demonstration: 30%
• Class attendance: 10%– 2회 지각 = 1회 결석– 5회 결석 = 출석점수 0점
17
Class ScheduleWeek Major Topics
Week 1 Course Syllabus
Week 2 Introduction to Web-Based Computing / XML Basics
Week 3 XML DTD & Schema 1
Week 4 XML DTD & Schema 2
Week 5 XML DOM & SAX 1
Week 6 XML DOM & SAX 2
Week 7 XPath
Week 8 Midterm exam
Week 9 Project proposal
Week 10 Web Services
Week 11 REST & Open API
Week 12 Progress report
Week 13 Python 1
Week 14 Python 2
Week 15 Machine Learning & PyTorch
Week 16 Final report & demonstration
18
Contact Information
• Instructor: 하영국 교수– Office: 공학관 C동 291-2호– Phone: 02-450-3273 (내선 3273)– Email: [email protected]– Office hour: 수업 후 1시간 (또는 사전 연락 후 상담)
• Teaching assistant: 이명재– Office: 신공학관 1216호 (대학원 SCLab 연구실)– Email: [email protected]
19