259122-1 (pm) 2024 1 교통대학교

Web Programming Application

웹프로그래밍응용
Section분반259122-1 (pm)
Time수업 시간수 567 | Wed 1pm-4pm
Room강의실W18동 421호
Section분반259122-2 (am)
Time수업 시간수 123 | Wed 9am-12pm
Room강의실W18동 421호
Grading성적 평가
Relative Grading상대평가 Grade distribution set by university policy.대학교 정책에 따라 성적 분포 결정.
10%Attend.출석
35%HW과제
25%Mid.중간
30%Final기말
10% Attendance출석35% Homework과제25% Midterm중간고사30% Final기말고사
Schedule강의 일정
3/6
▶ Slides
Week주차 1
Unit 0. 시작하기 / Getting Set up
- 수업 소개 - Node.JS 소개
Unit 0. 시작하기 / Getting Set up
- 수업 소개 - Node.JS 소개
📖 0장 pp. 35-64
과제 2 →
3/13
▶ Slides
Slides 2
Week주차 2
Unit 0. 시작하기 / Getting Set up
- Lesson 0. Node.js의 설정과 JavaScript 엔진 설치 / Setting up Node.js and the JavaScript engine
- Lesson 1. 환경설정 / Configuring your environment
- Lesson 2. Node.js 애플리케이션 실행 / Running a Node.js application
Unit 0. 시작하기 / Getting Set up
- Lesson 0. Node.js의 설정과 JavaScript 엔진 설치 / Setting up Node.js and the JavaScript engine
- Lesson 1. 환경설정 / Configuring your environment
- Lesson 2. Node.js 애플리케이션 실행 / Running a Node.js application
📖 Get Programming with Node, 1장 pp. 67-116
과제 2 →
3/20
▶ Slides
Week주차 3
Unit 1. Node.js의 시작 / Getting started with Node.js
- Lesson 3. Node.js 모듈의 생성 / Creating a Node.js module
- Lesson 4. Node.js에서 웹 서버 만들기 / Building a simple web server in Node.js
- Lesson 5. 수신 데이터 다루기 / Handling incoming data
Unit 1. Node.js의 시작 / Getting started with Node.js
- Lesson 3. Node.js 모듈의 생성 / Creating a Node.js module
- Lesson 4. Node.js에서 웹 서버 만들기 / Building a simple web server in Node.js
- Lesson 5. 수신 데이터 다루기 / Handling incoming data
📖 Get Programming with Node, 1장 pp. 67-116
과제 2 →
3/27
▶ Slides
Week주차 4
Unit 1. Node.js의 시작 / Getting started with Node.js
- Lesson 6. 라우트와 외부 파일 / Writing better routes and serving external files
- Lesson 7. 캡스톤 프로젝트: 첫 번째 웹 애플리케이션 만들기 / Capstone: Creating your first web application
Unit 1. Node.js의 시작 / Getting started with Node.js
- Lesson 6. 라우트와 외부 파일 / Writing better routes and serving external files
- Lesson 7. 캡스톤 프로젝트: 첫 번째 웹 애플리케이션 만들기 / Capstone: Creating your first web application
📖 - Get Programming with Node, 1, 2장 pp. 117-154 - Get Programming with Node, 2장 pp. 143-185
과제 2 →
4/3
▶ Slides
Week주차 5
Unit 2. Express.js를 통한 웹 개발 / Easier web development with Express.js
- Lesson 8. Express.js의 설정 / Setting up an app with Express.js
- Lesson 9. Express.js에서의 라우트 / Routing in Express.js

Unit 2. Express.js를 통한 웹 개발 / Easier web development with Express.js
- Lesson 8. Express.js의 설정 / Setting up an app with Express.js
- Lesson 9. Express.js에서의 라우트 / Routing in Express.js

📖 Get Programming with Node, 3장 pp. 187-234
과제 2 →
4/10🔴 No Class휴강
No Class Election No Class Election
4/17
▶ Slides
Week주차 6
Unit 2. Express.js를 통한 웹 개발 / Easier web development with Express.js
- Lesson 10 뷰와 템플릿의 연결 / Connecting views with templates
- Lesson 11. 설정과 에러 처리 / Configurations and error handling
- Lesson 12. 캡스톤 프로젝트: Express.js를 통한 Confetti Cuisine 사이트 개선 / Capstone: Enhancing the Confetti Cuisine site with Express.js
Unit 2. Express.js를 통한 웹 개발 / Easier web development with Express.js
- Lesson 10 뷰와 템플릿의 연결 / Connecting views with templates
- Lesson 11. 설정과 에러 처리 / Configurations and error handling
- Lesson 12. 캡스톤 프로젝트: Express.js를 통한 Confetti Cuisine 사이트 개선 / Capstone: Enhancing the Confetti Cuisine site with Express.js
📖 Get Programming with Node, 3장 pp. 187-234
과제 2 →
4/24📝 Exam시험
Midterm Test Midterm Test
5/1
▶ Slides
Week주차 7
Unit 3. 데이터베이스 연결 / Connecting to a database
- Lesson 13. 몽고DB 데이터베이스 셋업 / Setting up a MongoDB database
- Lesson 14. Mongoose를 사용한 모델 제작 / Building models with Mongoose
- Lesson 15. 컨트롤러와 모델과의 연결 / Connecting controllers and models
- Lesson 16. 캡스톤: 사용자 구독 저장 / Capstone: Saving user subscriptions
Unit 3. 데이터베이스 연결 / Connecting to a database
- Lesson 13. 몽고DB 데이터베이스 셋업 / Setting up a MongoDB database
- Lesson 14. Mongoose를 사용한 모델 제작 / Building models with Mongoose
- Lesson 15. 컨트롤러와 모델과의 연결 / Connecting controllers and models
- Lesson 16. 캡스톤: 사용자 구독 저장 / Capstone: Saving user subscriptions
📖 Get Programming with Node, 4장 pp. 237-286
과제 2 →
5/8
▶ Slides
Week주차 8
Unit 3. 데이터베이스 연결 / Connecting to a database
- Lesson 15. 컨트롤러와 모델과의 연결 / Connecting controllers and models
- Lesson 16. 캡스톤: 사용자 구독 저장 / Capstone: Saving user subscriptions
Unit 3. 데이터베이스 연결 / Connecting to a database
- Lesson 15. 컨트롤러와 모델과의 연결 / Connecting controllers and models
- Lesson 16. 캡스톤: 사용자 구독 저장 / Capstone: Saving user subscriptions
📖 Get Programming with Node, 4장 pp. 237-286
과제 2 →
5/15🔴 No Class휴강
No Class Buddha's Birthday No Class Buddha's Birthday
5/22
▶ Slides
Week주차 9
Unit 4. 사용자 모델 제작 / Building a User model
- Lesson 17. 데이터 모델의 개선 / Improving your data models
- Lesson 18. 사용자 모델의 구현 / Building the user model
Unit 4. 사용자 모델 제작 / Building a User model
- Lesson 17. 데이터 모델의 개선 / Improving your data models
- Lesson 18. 사용자 모델의 구현 / Building the user model
📖 Get Programming with Node, 4장 pp. 289-320
과제 2 →
5/29
▶ Slides
Week주차 10
Unit 4. 사용자 모델 제작 / Building a User model
- Lesson 19. 모델의 생성과 읽기 / Creating and reading your models - Lesson 20. 모델의 업데이트와 삭제 / Updating and deleting your models
- Lesson 21. 캡스톤 프로젝트: Confetti Cusine에 CRUD 모델 추가 / Capstone: Adding CRUD models to Confetti Cuisine
Unit 4. 사용자 모델 제작 / Building a User model
- Lesson 19. 모델의 생성과 읽기 / Creating and reading your models - Lesson 20. 모델의 업데이트와 삭제 / Updating and deleting your models
- Lesson 21. 캡스톤 프로젝트: Confetti Cusine에 CRUD 모델 추가 / Capstone: Adding CRUD models to Confetti Cuisine
📖 Get Programming with Node, 4장 pp. 289-320
과제 2 →
6/5🔴 No Class휴강
No Class School Birthday! No Class School Birthday!
6/12 (대면 보강)
▶ Slides
Week주차 11
Unit 5. 사용자 계정 인증 / Authenticating User accounts
- Lesson 22. 세션과 플래시 메시지의 추가 / Adding sessions and flash messages
- Lesson 23. 사용자 로그인 폼 생성과 패스워드 해시 / Building a user login and hashing passwords
- Lesson 24. 사용자 인증 추가 / Adding user authentication
Unit 5. 사용자 계정 인증 / Authenticating User accounts
- Lesson 22. 세션과 플래시 메시지의 추가 / Adding sessions and flash messages
- Lesson 23. 사용자 로그인 폼 생성과 패스워드 해시 / Building a user login and hashing passwords
- Lesson 24. 사용자 인증 추가 / Adding user authentication
📖 Get Programming with Node, 5장 pp. 321-374
과제 2 →
6/11 (LMS)
▶ Slides
Week주차 12
Unit 6. API 빌드 / Building an API
- Lesson 26. 애플리케이션에 API 추가 / Adding an API to your application
- Lesson 27. 애플리케이션에서 API 액세스 / Accessing your API from your application
- Lesson 28. API 보안 / Adding API security
- Lesson 29. 캡스톤 프로젝트: API 구현 / Capstone: Implementing an API
Unit 6. API 빌드 / Building an API
- Lesson 26. 애플리케이션에 API 추가 / Adding an API to your application
- Lesson 27. 애플리케이션에서 API 액세스 / Accessing your API from your application
- Lesson 28. API 보안 / Adding API security
- Lesson 29. 캡스톤 프로젝트: API 구현 / Capstone: Implementing an API
📖 Get Programming with Node, 6장 pp. 375-433
과제 2 →
6/14 (LMS)
▶ Slides
Week주차 13
Unit 7. 채팅 기능 추가 / Adding Chat functionality
- Lesson 30. socket.io로의 작업 / Working with Socket.io
- Lesson 31. 채팅 메시지의 저장 / Saving chat messages
- Lesson 32. 채팅 알림 표시 추가 / Adding a chat notification indicator
- Lesson 33. 캡스톤 프로젝트: Confetti Cuisine에 채팅 기능 추가 / Capstone: adding a chat feature to Confetti Cuisine
Unit 7. 채팅 기능 추가 / Adding Chat functionality
- Lesson 30. socket.io로의 작업 / Working with Socket.io
- Lesson 31. 채팅 메시지의 저장 / Saving chat messages
- Lesson 32. 채팅 알림 표시 추가 / Adding a chat notification indicator
- Lesson 33. 캡스톤 프로젝트: Confetti Cuisine에 채팅 기능 추가 / Capstone: adding a chat feature to Confetti Cuisine
📖 Get Programming with Node, 7장 pp. 435-479
과제 2 →
6/19📝 Exam시험
Overview과목 소개
Prerequisites선수 과목
  • HTML/CSS basics; introductory programming HTML/CSS 기초; 프로그래밍 입문

Node.js를 활용한 서버사이드 웹 프로그래밍을 학습합니다. 강사 주도 실습과 GitHub Classroom 과제를 통해 REST API, Express.js, 데이터베이스 연동 등 실무 웹 개발 역량을 기릅니다.

This course covers server-side web programming with Node.js. Through instructor-led labs and GitHub Classroom assignments, students build REST APIs, use Express.js, and integrate databases.

Textbooks교재
  • Node.js로 프로그래밍 시작하기
    Required교재
    Node.js로 프로그래밍 시작하기
    조나단 웩슬러 저 / 김성준 역
    에이콘출판사 | 2020년 01월 31일
    Buy구매
Instructor강사 소개
Aaron Snowberger
Aaron Snowberger
Ph.D. · Hanbat National University (2023)

Aaron Snowberger earned his Ph.D. in Information and Communications Engineering from Hanbat National University in South Korea in 2023. He also holds degrees in Computer Science and Media Design. He has taught technology courses for over 8 years, English for over 15 years, and has freelanced as a web developer and magazine designer for over 5 years. His current research interests include computer vision, natural language processing, image processing, signal processing, and machine learning.

Aaron Snowberger는 2023년 한국 한밭대학교에서 정보통신공학 박사 학위를 취득했습니다. 그는 또한 컴퓨터 과학 및 미디어 디자인 학위를 취득했습니다. 그는 8년 이상 기술 과정을 가르쳤고, 15년 이상 영어를 가르쳤으며, 5년 이상 웹 개발자 및 잡지 디자이너로 프리랜서로 일했습니다. 현재 연구 관심사는 컴퓨터 비전, 자연어 처리, 영상 처리, 신호 처리, 기계 학습입니다.