课程概述

       在互联网迅速发展的今天,我们已能深切感受到互联网带给我们工作与生活方式上的巨大变化。了解互联网的运作机制并掌握一些基本的Web程序设计的技巧与技能已成为时代对目前大多数学习者的一项基本要求。该课程紧扣互联网发展的趋势,以“前台+后台”为支撑,以“能力+项目”为驱动,使学习者了解Web编程的基本框架,并在此基础上培养学习者基本的Web编程技能。

       在内容组织上,该课程主要包括WEB原理、开发过程和环境部署;HTML语言基础; CSS技术、JavaScript技术、PHP技术和ASP.NET技术;重点介绍PHP、ASP.NET及相关的数据库应用开发。

       课程中涉及的技术路线分为两种, 一种是基于开源的“Apache+MySQL+PHP”组合,该组合为开源软件组合,具有跨平台、第三方资源丰富、应用广泛等特征;另一组合是基于Windows平台的“IIS+MSSQL+ASP.NET”组合,该组合具有使用简单,上手容易的特点,是读者快速学习Web编程的最佳方案。学习者可以从中选取一种来学习。

       学完该课程,学习者应具备独自建设一个实用Web信息平台的基本能力。

       希望该课程能尽快带领学习者步入Web编程的殿堂。

证书要求

通过视频学习,完成单元测试和互评作业,参与课程的课堂讨论,期末完成期末测试。上述四方面成绩综合评定,达到课程要求的,可以获得由课程主讲教师签名颁发的合格证书或优秀证书。

课程成绩以百分制计, 总分为100分,分数构成结构如下:

      总分=互评作业(15%)+单元测验(40%)+课程讨论(15%)+期末考试(30%)

分数各组成部分评分细则如下:

      互评作业:由各单元互评作业得分之和按15%的权重进行折算,具体公式如下:

                        互评作业得分=(互评作业原始得分总和/互评作业总分)*15

      单元测试:由各单元测试得分之和按40%的权重进行折算,具体公式如下:

                        单元测试得分=(单元测试原始得分总和/单元测试总分)*40

      期末考试:由期末考试成绩按30%的权重进行折算,具体公式如下:

                        期末成绩得分=(期末考试原始得分/期末考试总分)*30

      课程讨论:由参与课程讨论回复的贴子数量确定,规定有效贴子数量不低于20个可得到此部分全部分数,对有效回贴有如下定义:

    • 回复贴子的内容与提问主题相关可记为有效贴;

    • 回复贴子内容不能包含政治敏感、反动和色情内容,此条为一票否决,一旦出现,课程成绩将直接记为0分,并保持追究法律责任的权利。

获得证书的条件及证书分类如下:

  • 60-79分:合格证书

  • 80-100分:优秀证书

预备知识

学习该课程,您应该具备以下条件:

1、熟悉高级语言程序设计基础知识(任何语言均可);

2、了解因特网与万维网运行基本原理;

3、对B/S及C/S有较清晰的认识;

4、能够分清楚前端与后台的概念。


授课大纲

第1章 因特网与万维网基础

本章学习目标

第1讲 因特网与万维网简介(1)

第2讲 因特网与万维网简介(2)

第3讲 IIS的安装和配置

第4讲 Xampp的安装和配置

本章单元测验

互评作业:安装IIS或xampp

第2章 HTML基础

本章学习目标

第5讲 HTML页面结构和块元素

第6讲 行内元素和列表

第7讲 表格和其它元素

第8讲 HTML案例实现

本章单元测试

互评作业:一个简单网页的制作

第3章 CSS

第9讲 CSS简介及基本语法

第10讲 CSS引入方式及颜色属性

第11讲 Font属性及text属性

第12讲 其他属性、ID和类选择器

第13讲 页面划分及上下文选择器

第14讲 页面布局及盒模型

第15讲 float元素及多列布局

第16讲 定位及元素可见性

第17讲 CSS案例实现

本章学习目标

本章单元测试

互评作业:旅行时光报

第4章 JavaScript

本章学习目标

第18讲 JavaScript基本概念

第19讲 DOM及JavaScript基本语法

第20讲 JavaScript基本语法

第21讲 JavaScript程序逻辑

第22讲 数组与函数

第23讲 全局DOM对象(1)

第24讲 全局DOM对象(2)

第25讲 DOM元素对象(1)

第26讲 DOM元素对象(2)

第27讲 JavaScript案例实现

本章单元测试

互评作业:猜字游戏

第5章 PHP

第28讲 PHP概念及基本语法

第29讲 数据类型和运算符

第30讲 字符串函数和布尔逻辑

第31讲 控制结构

第32讲 PHP与HTML的关系

第33讲 函数

第34讲 数组

第35讲 PHP文件操作

第36讲 PHP案例实现

本章学习目标

单元测验

互评作业:带图片的每日单词

第7章 ASP.NET

本章学习目标

第46讲 ASP.NET简介

第47讲 常用Web服务器控件

第48讲 安全验证控件

第49讲 ASP.NET内置对象(1)

第50讲 ASP.NET内置对象(2)

第51讲 ADO.NET对象模型(1)

第52讲 ADO.NET对象模型(2)

第53讲 数据源控件(1)

第54讲 数据源控件(2)

第55讲 数据绑定概念及语法

第56讲 数据绑定控件(1)

第57讲 数据绑定控件(2)

单元测验

互评作业:一个简单购物网站的设计

第6章 关系数据库及SQL

第37讲 数据库基础

第38讲 SQL概念及基本语法

第39讲 SQL语法扩展

第40讲 聚合函数及增改删语句

第41讲 多表查询

第42讲 查询设计

本章学习目标

第43讲 PHP中的数据库操作(1)

第44讲 PHP中的数据库操作(2)

第45讲 数据库基础案例实现

单元测试

第8章 Cookie和Session

本章学习目标

第58讲 Cookies基础

第59讲 Cookies编程

第60讲 Sessions基础及编程

第61讲 Cookies和Sessions案例实现

单元测验

第9章 Web安全

本章学习目标

第62讲 Web安全基础及常用攻击方式

第63讲 常用攻击方式

单元测验

第10章 综合设计(一)——网上订餐系统的设计与实现

第64讲 系统需求和系统功能结构设计

第65讲 数据库设计

第66讲 用户注册和用户登录的实现

第67讲 菜品选择和我的订单

第68讲 用户管理和菜品管理

本章学习目标

网上订餐单元测验

互评作业:订单处理与统计管理

第11章 综合设计(二)——博客系统的设计与实现

本章学习目标

博客系统代码

第69讲 需求分析和系统功能

第72讲 博文及图片管理的实现

第71讲 注册及登录模块的实现

第70讲 数据库的设计原则和实现

第73讲 评论、公告及用户管理模块的实现

博客系统项目单元测试

互评作业:博客系统的完善

第12章 综合设计(三)——留言板系统的设计与实现

第77讲 用户功能实现

第75讲 数据库设计

第79讲 案例运行演示

第74讲 系统整体设计

第76讲 公共模块设计

第78讲 管理员功能实现

本章学习目标

本章单元测验

互评作业:留言板系统的优化和完善

参考资料

[1] Marty Stepp. Web programming step by step[M]. Washington:University of Washington, 2012.(指定教材)

    此教材是课程学习的指定教材,教材内容跟课程内容架构基本一致,是课程学习的主教材。该教材不包含ASP.NET的教学内容,同学学习课程中除ASP.NET之外的内容都会用到此教材。

[2] https://www.w3school.com.cn 

    此站点是学习Web的重要参考网站,里面包含了课程中几乎所有的Web编程语言的使用,而且配有实例,能让学习者轻松理解相应概念及语法。同学学习课程中除Web安全的内容外,都可参考此网站。

[3] 潘凯华,刘中华. PHP从入门以精通(第2版)[M]. 北京:清华大学出版社,2010.(选学教材)

    此教材是学习PHP和MySQL的选学教材,结构合理、重点突出、配有相关的练习,是一本学习PHP的好教材。同学学习PHP及MySQL部分的内容都可参考此教材。

[4] 张明星. ASP.NET开发从入门到精通[M]. 北京:人民邮电出版社,2016.(指定教材)

    此教材是学习ASP.NET的指定教材,教材中实例、范例充足,拓展资源丰富,但内容仅涉及课程中的ASP.NET内容,对于其他知识基本未涉及。同学学习ASP.NET内容的首选教材。

[5] 吉根林,顾韵华. Web程序设计(第3版)[M]. 北京:电子工业出版社,2012.(选学教材)

    此教材是一门综合性教材,但其开发环境是ASP.NET,因此可以作为指定教材在ASP.NET方面的有益补充。同学学习除Web安全、PHP之外的内容均可参考此教材。

常见问题

1、该课程跟其他类似课程的最大区别是什么?

该课程每章都以案例驱动,围绕案例展开相关知识的学习。每章学习完成后,学习者应能利用所学知识对案例进行实现;课程的目标在于培养学习者的工程实践能力,因此除案例驱动外,课程将学习者的这种能力摆在首位,在结构上出现了“章案例+综合案例”这种形式;在内容上,课程与其他课程的不同之处在于,不仅介绍了Web程序设计所需要的前台技术,而且还对服务器及后台技术作了详细介绍,给学习者一个关于Web程序设计的整体架构。

2、课程中有两种技术方案,每个都必须学吗?

该课程在技术实现中有两种方案,一种是基于开源的“Apache+MySQL+PHP”组合,该组合为开源软件组合,具有跨平台、第三方资源丰富、应用广泛等特征;另一组合是基于Windows平台的“IIS+MSSQL+ASP.NET”组合,该组合具有使用简单,上手容易的特点,是学习者快速学习Web编程的最佳方案。学习者可根据自身情况,选择学习一种即可。

3、课程中涉及很多知识细节,这些内容都要求记住吗?

该课程涉及知识细节很多,每个内容若详细介绍都可以是一门课程,但课程的目标是培养学习者的实践能力,不要求学习者对于每一知识细节都死记硬背,学习者只需知道,在具体工程实践中若遇到问题,该如何查找到相关知识及其具体用法。

4、课程讨论区提出的问题或者回复老师在什么时间内能够反馈给学生?

课程讨论区三大版块的提问由课堂团队教师全程负责答疑,由于团队老师还有其他教学科研任务,所以无法做到对所提问题的及时响应。但我们将会尽最大努力缩短响应时间。在此,我们向各位同学郑重承诺:对于课程讨论区所提出的问题,我们承诺在问题提出72小时内给大家予以答复。请各位同学监督。也希望大家踊跃参与讨论。

5、有没有固定的答疑时间?

课程组目前暂定的固定答疑时间为每天晚上9:30-10:30。其它时段课程组教师会不定时进行答疑。

6、如何开始课程的学习呢?

开始该课程的学习需要从两方面着手准备:

       a. 了解课程内容组织结构。该课程从内容组织上来看,包括:教学视频、教学课件、课程讨论与答疑、自测习题、单元测试、互评作业、期末考试等环节。其中课程讨论与答疑、单元测试、互评作业和期末考试四部分是课程成绩的构成部分。因此,同学准备开始学习时,可以按照这样的思路展开学习:观看教学视频、学习教学课件、参与课程讨论、完成自测习题、完成单元测试与互评作业,完成期末考试。

       b. 做好开课前的知识储备。该课程特点是涉及面宽,但每方面并未涉及太深。因此,同学要学好此课程,需要具备相应的先修知识。这些知识主要包含两方面,一方面是关于计算机的基础知识,如果学习过大学计算机基础类的课程,相信在这方面应该不会有太大问题;另一方面是关于计算机程序设计的基础知识,课程中涉及多种与编程有关的语言,因此需要对编程基础知识有所了解。如果以前学习过程序设计类课程,那在学习该课程时会轻松很多。