课程编号
编制人
制定日期
护卫神主机大师修订日期
审定组(人)
审定日期
20  .
Node.js开发》课程教学大纲
一、课程基本信息
开课单位:
课程名称:《Node.js开发》
课程编号:
课程类型:专业课
学    分: 4
学    时: 54
开设专业:  专业
前导课程:《Java程序设计》
二、课程任务和目标
(一)课程任务
JavaScript是非常流行的Web前端语言,Node.js能够使JavaScript运行在服务端,开发人员因此可以凭借一门编程语言打通前后端,实现JavaScript全栈式开发。Node.js采用高效、轻量级的事件驱动,非阻塞I/O,单线程的模型,特别适合高并发、I/O密集、业务逻辑少的应用场合。
本课程是计算机软件专业的专业拓展课程。通过本课程的学习,学生熟悉Node.js应用程序编写、运行和调试的基本流程和方法,掌握文件系统、网络和数据库的基本编程方法,掌握Web应用开发框架Express的使用,掌握单元测试和应用部署,熟悉Node.js项目的开发流程,能够胜任Node.js应用程序的开发工作。整个课程按照从基础到应用、开发的逻辑进行讲授,要求学生通过动手实践来掌握Node.js应用程序开发技能。
(二)课程目标
理论上,要求学生掌握Node.js开发的基础知识,能够读懂Node.js代码,尤其是回调函数和异步编程的代码。技能上,要求学生能熟悉Node.js开发流程,掌握Node.js开发方法,能够熟练使用第三方模块,独立编写完整的Node.js程序,能够完成一个基本的Web项目开发。
1、能力目标
(1)培养学生规范编码和良好的程序设计风格
(2)培养学生软件项目规划和实施的能力
(3)培养学生发现问题、分析问题和解决问题的能力
(4)培养良好的文化修养、职业道德、服务意识和敬业精神
(5)培养团队合作和协调沟通能力
2、知识目标
(1)了解Node.js的特点
(2)掌握Node.js运行环境和开发环境的部署
(3)熟悉JavaScript语法
(4)了解Node.js的基础概念和核心特性
(5)掌握模块与包的管理与使用
(6)掌握文件系统的基本编程
(7)掌握网络的基本编程
(8)掌握SQL数据库的基本编程
(9)掌握NoSQL数据库的基本编程
(10)掌握以同步方式编写异步代码的方法
(11)掌握Express框架的使用
(12)掌握单元测试脚本的编写和运行要测试
(13)掌握Node.js应用程序的部署和运行管理
三、教学条件
技术网络机房,在单台Windows计算机上组建实验环境,确保能够访问互联网。
四、教学内容及学时安排
算法与数据结构补考
序号
单元
replacement ac adapter 是什么充电器教学内容
教学目标
学时
训练项目
必备知识redis面试题大全
1
Node.js入门
1.在Windows平台上安装Node.js
2.交互式运行环境的使用
3.安装开发工具Visual Studio Code
4.编写第一个Node.js程序
5.Node.js程序的运行和调试
1.Node.js的概念
2.Node.js的3大特点
3.Node.js的应用场合
4.Node.js版本
5.Node.js开发工具
了解Node.js的特点和应用场合,掌握Node.js运行环境和开发工具的安装,掌握Node.js应用程序的编写、运行和调试的基本流程和方法
4
2
Node.js编程基础
1.读懂JavaScript基本代码
2.回调函数的使用
3.编程实现事件的监听与出发
4.在程序中使用定时器
5.操作Buffer数据6.使用流编写程序
7.编程实现图片服务器
1.回调函数的概念
2.Node.js事件机制
3.Node.js全局对象
4.Node.js的定时器
5.Buffer数据类型6.Node.j的流
了解JavaScript的基本语法,能读懂JavaScript代码;了解Node.js的基础概念和核心特性,学会在编写程序时使用它们
6
3
模块与包的管理与使用
汇编指令转换1.定义和导入模块
2.os、path、url等核心模块的uiys
3.Node.js包的管理和使用
4.使用第三方模块编写程序
5.编写爬虫程序抓取网页中的图片
1.模块的功能
2.模块加载顺序
3.Node.js的核心模块
4.npm的概念
5.包与模块的区别和联系
6.package.json文件
了解Node.js的模块系统,会定义和导入模块;掌握Node.js包的管理和使用,学会使用第三方模块编写程序
4
4
文件系统操作
1.文件和目录基本操作的编程
2.使用Node.js文件操作的流接口
3.编程实现文件遍历
4.编程实现文件监视
5.操作JSON文件6.操作CSV文件
1.同步文件操作与异步文件操作
2.文件路径
3文件模式
4文件系统标志
5文件描述符
6文件操作的流接口
了解文件系统的基础知识,使用Node.js提供的文件系统API实现文件和目录的操作
4
5
网络编程
1.编程实现基本的TCP服务器和客户端
2.通过TCP端口接收和处理二进制数据
3.编程实现基本的UDP服务器和客户端
4通过UDP协议实现文件上传
5.编程实现基本的HTTP服务器和客户端
6.通过HTTP服务器获取并解析请求内容
7实现WebSocket服务器和客户端
8.使用Socket.IO构建实时聊天室
1.TCP基础知识
2.net模块及其API
3.UDP基础知识
4.dgram模块及其API
5.HTTP基础知识
6.http模块及其API
7.WebSocket协议
8.Socket.IO
了解网络通信基础知识,了解TCP、UDP和HTTP的Node.js实现,使用Node.js提供的网络API实现基本网络编程,并掌握Web实时通信的实现方法
6
6
SQL数据库操作
1.MySQL服务器安装和基本使用(图形界面和命令行操作)
2.使用MySQL2连接和访问MySQL数据库
3.同步方式实现异步编程的几种方法
4.使用Promise包装器操作MySQL数据库
5.使用Sequelize框架连接和访问MySQL数据库
1.MySQL驱动
2.连接池
3.Promise
4.Generator
5.co模块
6.async/await组合
7.ORM框架与Sequelize
8.Sequelize的关联mysql入门基础教程
掌握连接和操作SQL数据库的Node.js应用程序编写,会使用ORM框架提高数据库应用程序的开发效率。了解Node.js异步编程方法,能够以同步方式编写数据库操作的异步代码
6
7
MongoDB数据库操作
1.MongoDB的安装和基本使用
2.使用原生驱动连接和操作MongoDB数据库
3.以“同步”方式编写MongoDB操作代码
4.使用Mongoose操作MongoDB数据库
5.利用Mongoose封装MongoDB数据库操作接口
1.NoSQL数据库
2.MongoDB基本概念
3.原生MongoDB驱动及其API
4.Mongoose基本概念
5.使用Mongoose的基本步骤
6.中间件与子文档
7.Mongoose的填充功能
了解MongoDB数据库,了解MongoDB原生驱动,会编程连接和访问MongoDB数据库;了解Mongoose对象模型库,掌握其操作MongoDB数据库的用法
6
8
Node.js框架与Express
1.编写一个最简单的Express应用程序
2.使用Express生成器创建项目脚手架
3.使用路由和路由器
4.使用中间件
5.编写中间件
6.模板引擎的使用
7.编写错误处理程序
8.使用Express构建REST API程序
1.Node.js框架及其选择
2.Express工作机制
3.Express路由
4.Express中间件
5.模板引擎
6.EJS语法
7.Express错误处理
8.REST API
了解Node.js框架,理解Express框架工作机制,理解Express框架路由和中间件,了解Express框架视图和模板引擎,学会使用Express框架快速开发编写Node.js程序
6
9
应用程序测试与部署
1.使用断言编写测试脚本
2.使用Mocha框架进行单元测试
3.结合supertest和Mocha编写项目测试脚本
4.基于测试脚本执行自动化测试
5.使用PM2管理Node.js应用程序
6.使用PM2的配置文件
7.在Windows平台上配置开机自动启动Node.js应用程序
1.单元测试的概念和术语
2.Node.js内置的assert模块
3.Mocha测试框架
4.supertest测试库
5.Node.js应用程序的部署方式
6.Node.js应用程序的稳定运行
了解Node.js单元测试,熟悉Mocha测试框架,掌握单元测试脚本的编写和运行测试的方法。掌握Node.js应用程序的部署,学会使用PM2管理Node.js应用程序
4
10
综合实例——构建博客网站
1.项目功能设计和技术栈选择
2.创建项目脚手架
3.数据库设计与实现
4.用户界面设计与实现
5.业务逻辑设计与实现
1.MVC模式
2.Mongoose的虚拟属性
3.用户密码“加盐”
4.前端技术
5.passport用户认证
6.session控制
7.路由与总控
综合运用前面所学的知识和掌握的技能来实现一个完整的Web项目的开发,通过此项目进一步熟悉开发流程和框架使用
4
11
复习与考核
整体的编程能力
全面的基础知识
对本课程的内容进行回顾和总结,重做一遍实战演练和综合实例来提高实际的编程能力
4
学 时 合 计
54

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。