2017-2018-2学期《程序设计与数据结构》教学进程

教学进程#

目录

本教学进程主要参考娄嘉鹏老师去年的教学进程

1.考核方式

2.课前准备

3.教学进程

1.考核方式(100=45+20+10+25,+10)

  • 翻转课堂考试(笔试)
    • 包括10次考试,每次考试20-30道题目,每题1分,最后将本项总成绩按照比例(最高分为满分)归化为45分;
  • 课堂实践
    • 课堂实践次数不定,最后将本项总成绩按照比例(最高分为满分)归化为20分;
  • 作业(博客)
    • 包括10次博客,每次博客评分为5分,总分为50分,并按照成绩比例归化到10分;附:博客打分细则
  • 实验及报告
    • 包括5次实验,每次实验5分,本项总分数为25分;
  • 扣分项
    • 无故迟到/旷课根据实际情况直接在总成绩中扣1-2分;
    • 无故缺考一次扣2分,缺考超过4次取消考试资格;
    • 不交作业作业(学习博客、实验报告等)的每次扣2分;
    • 上课吃东西(喝水除外)、聊天、玩手机、打游戏等影响别人学习的行为每次扣1分;
  • 加分项
    • 博客(作业)完成质量较好,每次额外在总成绩中加1分;
    • 课题积极回答问题,根据实际情况在总成绩中加1-2分;
    • 积极协助老师完成课堂教学,根据实际情况在总成绩中加1-2分;
    • 积极在论坛、云班课等帮助同学解答疑难问题或者在积极帮助同学解决编程问题者,根据实际情况在总成绩中加1-2分;
    • 积极点评其他同学博客者,根据实际情况在总成绩中加1分;
    • 加分成绩不能超过10分,且总成绩不能超过100分;
    • 英语学习加分(扇贝英语打卡等,需要在期末联系助教或老师加分);
    • 其他加分项。

返回目录

2.课前准备

预备作业

总结及问题解答

返回目录

3.教学进程

学习方法

  • 进度很重要:注意前紧后松,必须跟上每周的进度,教材阅读与总结,教材上的练习,问答小组,项目。我和助教们会认真对待每一位同学,请你不要因为困难而放弃,坚持下来,会发现自己的不可思议。
  • 问答很重要:遇到知识难点请多多提问,问答到「课程讨论小组」,提问请阅读一下「如何提问」,答疑注意事项.
  • 实践很重要:解决书中习题,实践教材中实例,完成个人和团队项目,才算真的消化了课程内容。可以通过「实验楼」的课程配套环境或自己安装的虚拟机在实践中进行学习.
  • 学习总结很重要:总结学习与实践中的问题,得到老师和同学们的反馈,是进步的捷径。学习完成后在博客园中把学习过程通过博客(随笔)发表,博客标题「学号 2017-2018-2 《程序设计与数据结构》第x周学习总结」

学习总结模板(Markdown)如下:

# 学号 2017-2018-2 《程序设计与数据结构》第X周学习总结

## 教材学习内容总结

尽量简单的总结一下本周学习内容
尽量不要抄书,浪费时间
看懂就过,看不懂,学习有心得的记一下

## 教材学习中的问题和解决过程
- 问题1:XXXXXX
- 问题1解决方案:XXXXXX
- 问题2:XXXXXX
- 问题2解决方案:XXXXXX
- ...

## 代码调试中的问题和解决过程
- 问题1:XXXXXX
- 问题1解决方案:XXXXXX
- 问题2:XXXXXX
- 问题2解决方案:XXXXXX
- ...

## [代码托管](码云学习项目链接)

(statistics.sh脚本的运行结果截图)

## 上周考试错题总结
- 错题1及原因,理解情况
- 错题2及原因,理解情况
- ...

## 结对及互评

### 评分标准

1. 正确使用Markdown语法(加1分):
    - 不使用Markdown不加分
    - 有语法错误的不加分(链接打不开,表格不对,列表不正确...)
    - 排版混乱的不加分
2. 模板中的要素齐全(加1分)
    - 缺少“教材学习中的问题和解决过程”的不加分
    - 缺少“代码调试中的问题和解决过程”的不加分
    - [代码托管](链接)不能打开的不加分
    - 缺少“结对及互评”的不能打开的不加分
    - 缺少“上周考试错题总结”的不能加分
    - 缺少“进度条”的不能加分
    - 缺少“参考资料”的不能加分

3. 教材学习中的问题和解决过程, 一个问题加1分

4. 代码调试中的问题和解决过程, 一个问题加1分

5. 本周有效代码超过300分行的(加2分)
    - 一周提交次数少于20次的不加分

6. 其他加分:
    - 周五前发博客的加1分
    - 感想,体会不假大空的加1分
    - 排版精美的加一分
    - 进度条中记录学习时间与改进情况的加1分
    - 有动手写新代码的加1分
    - 课后选择题有验证的加1分
    - 代码Commit Message规范的加1分
    - 错题学习深入的加1分
    - 点评认真,能指出博客和代码中的问题的加1分
    - 结对学习情况真实可信的加1分

7. 扣分:
    - 有抄袭的扣至0分
    - 代码作弊的扣至0分
    - 迟交作业的扣至0分

### 点评模板:
- 博客中值得学习的或问题:
    - xxx
    - xxx
    - ...
- 代码中值得学习的或问题:
    - xxx
    - xxx
    - ...
- 基于评分标准,我给本博客打分:XX分。得分情况如下:xxx

- [参考示例](http://www.cnblogs.com/haoliberale/p/6580822.html#3650972)

### 点评过的同学博客和代码
- 本周结对学习情况
    - [结对同学学号1](博客链接)
    - 结对照片
    - 结对学习内容
        - XXXX
        - XXXX
        - ...
- 上周博客互评情况
    - [学号1](博客链接)
    - [学号2](博客链接)
    - [学号3](博客链接)
    - [学号4](博客链接)
    - ...

## 其他(感悟、思考等,可选)

xxx
xxx

## 学习进度条

|            | 代码行数(新增/累积)| 博客量(新增/累积)|学习时间(新增/累积)|重要成长|
| --------   | :----------------:|:----------------:|:---------------:  |:-----:|
| 目标        | 5000行            |   30篇           | 400小时            |       |
| 第一周      | 200/200           |   2/2            | 20/20             |       |
| 第二周      | 300/500           |   2/4            | 18/38             |       |
| 第三周      | 500/1000          |   3/7            | 22/60             |       |
| 第四周      | 300/1300          |   2/9            | 30/90             |       |


尝试一下记录「计划学习时间」和「实际学习时间」,到期末看看能不能改进自己的计划能力。这个工作学习中很重要,也很有用。
耗时估计的公式:Y=X+X/N ,Y=X-X/N,训练次数多了,X、Y就接近了。

参考:[软件工程软件的估计为什么这么难](http://www.cnblogs.com/xinz/archive/2011/04/05/2005978.html),[软件工程 估计方法](http://www.cnblogs.com/xinz/archive/2011/04/06/2007294.html)

- 计划学习时间:XX小时

- 实际学习时间:XX小时

- 改进情况:

(有空多看看[现代软件工程 课件
软件工程师能力自我评价表](http://www.cnblogs.com/xinz/p/3852177.html))
## 参考资料

-  [《Java程序设计与数据结构教程(第二版)》](https://book.douban.com/subject/26851579/)

-  [《Java程序设计与数据结构教程(第二版)》学习指导](http://www.cnblogs.com/rocedu/p/5182332.html)
-  ...

上面模板中用Markdown写的总结的渲染效果大概如下:
image

返回目录

第01周学习任务和要求(3.5-3.9)

学习目标

  • 了解上课方式以及准备
  • 了解计算机系统基础知识
  • 掌握Java程序编辑/编译/运行/调试的方法
  • 了解程序开发过程和基本概念
  • 了解问题求解的一般方法
  • 了解面向对象的软件原理

学习资源

学习任务

  • 1.教材第一章
    • 阅读全文,学习计算机系统和Java的基础知识
    • 代码托管到git@OSC,参考一下使用开源中国托管代码
    • 完成课后自测题,并参考答案学习
    • 完成课后练习题
    • 完成程序设计项目:至少完成PP1.3和PP1.8
    • 有问题去答疑论坛提问,尽量不在微信群和QQ群解答学习问题
  • 2.参考上面的学习总结模板,把学习过程通过博客(随笔)发表,博客标题“学号 《程序设计与数据结构》第一周学习总结
    • 提高学习效率,提高写博客效率:尽量少摘抄书上的内容,主要写有疑惑和有收获的内容
    • 截止时间:本周日 24:00,不按时发博客要扣1分
    • 不按上面的模板写的要重写,否则会扣1分
    • 严禁抄袭,违反者成绩零分

返回目录

第02周学习任务和要求(3.12-3.16)

学习目标

  • 掌握Java字符串
  • 理解变量并会使用
  • 掌握Java基本数据类型
  • 掌握表达式
  • 理解数据类型转换
  • 会用Scanner类进行输入

学习资源

学习任务

  • 1.教材第二章
    • 阅读2.1-2.6章节,学习数据和表达式的基本知识
    • 代码托管到git@OSC,参考一下使用开源中国托管代码
    • 完成课后自测题,并参考答案学习
    • 完成课后练习题
    • 完成程序设计项目:至少完成PP2.3、PP2.5和PP2.12
    • 有问题去答疑论坛提问,尽量不在微信群和QQ群解答学习问题
  • 2.参考上面的学习总结模板,把学习过程通过博客(随笔)发表,博客标题“学号 《程序设计与数据结构》第一周学习总结
    • 提高学习效率,提高写博客效率:尽量少摘抄书上的内容,主要写有疑惑和有收获的内容
    • 截止时间:本周日 24:00,不按时发博客要扣1分
    • 不按上面的模板写的要重写,否则会扣1分
    • 严禁抄袭,违反者成绩零分

返回目录

第03周学习任务和要求(3.19-3.23)

学习目标

  • 理解并掌握对象创建
  • 掌握String类的使用
  • 理解包与代码组织
  • 会用常见的类如:Math,Random,NumberFormat,DecimalFormat
  • 会用包装类

学习资源

学习任务

  • 1.教材第三章
    • 阅读3.1-3.8章节,学习对象创建及常见对象的使用
    • 代码托管到git@OSC,参考一下使用开源中国托管代码
    • 完成课后自测题,并参考答案学习
    • 完成课后练习题
    • 完成程序设计项目:至少完成PP3.3、PP3.5和PP3.8
    • 有问题去答疑论坛提问,尽量不在微信群和QQ群解答学习问题
  • 2.参考上面的学习总结模板,把学习过程通过博客(随笔)发表,博客标题“学号 《程序设计与数据结构》第一周学习总结
    • 提高学习效率,提高写博客效率:尽量少摘抄书上的内容,主要写有疑惑和有收获的内容
    • 截止时间:本周日 24:00,不按时发博客要扣1分
    • 不按上面的模板写的要重写,否则会扣1分
    • 严禁抄袭,违反者成绩零分
  • 3.完成实验一

返回目录

第04周学习任务和要求(3.26-3.30)

学习目标

  • 理解类与对象
  • 会自定义类
  • 理解方法的作用
  • 了解方法设计的问题
  • 会用UML建模工具

学习资源

学习任务

  • 1.教材第四章
    • 阅读4.1-4.5章节,学习对象创建及常见对象的使用
    • 代码托管到git@OSC,参考一下使用开源中国托管代码
    • 完成课后自测题,并参考答案学习
    • 完成课后练习题
    • 完成程序设计项目:至少完成PP4.5、PP4.7和PP4.9
    • 有问题去蓝墨云班课或者答疑论坛提问,尽量不在微信群和QQ群解答学习问题
  • 2.参考上面的学习总结模板,把学习过程通过博客(随笔)发表,博客标题“学号 《程序设计与数据结构》第一周学习总结
    • 提高学习效率,提高写博客效率:尽量少摘抄书上的内容,主要写有疑惑和有收获的内容
    • 截止时间:本周日 24:00,不按时发博客要扣1分
    • 不按上面的模板写的要重写,否则会扣1分
    • 严禁抄袭,违反者成绩零分

返回目录

第05周学习任务和要求(4.02-4.06)

学习目标

  • 学习第7章:理解软件开发过程
  • 理解类与对象
  • 会自定义类
  • 理解静态类
  • 理解类间关系,掌握接口Comparable和Iterator的使用
  • 会使用枚举类型
  • 理解方法设计的过程,掌握方法重载
  • 会对编写的类进行测试
  • 会用UML建模工具

学习资源

学习任务

  • 1.教材第七章
    • 阅读7.1-7.9章节,学习面向对象设计方法
    • 代码托管到git@OSC,参考一下使用开源中国托管代码
    • 完成课后自测题,并参考答案学习
    • 完成课后练习题
    • 完成程序设计项目:至少完成PP7.1、PP7.2、PP7.3、PP7.4
    • 有问题去蓝墨云班课或者答疑论坛提问,尽量不在微信群和QQ群解答学习问题
  • 2.参考上面的学习总结模板,把学习过程通过博客(随笔)发表,博客标题“学号 《程序设计与数据结构》第一周学习总结
    • 提高学习效率,提高写博客效率:尽量少摘抄书上的内容,主要写有疑惑和有收获的内容
    • 截止时间:本周日 24:00,不按时发博客要扣1分
    • 不按上面的模板写的要重写,否则会扣1分
    • 严禁抄袭,违反者成绩零分

返回目录

第06周学习任务和要求(4.09-4.13)

学习目标

  • 掌握布尔表达式的用法,熟练使用数据比较操作
  • 掌握if语句、while语句、switch语句、do、for语句的用法
  • 掌握条件运算符的用法
  • 熟练使用迭代器的基本方法
  • 熟练使用ArrayList类

学习资源

学习任务

  • 1.教材第5和6章
    • 阅读5.1-5.6章节,学习条件判断和循环语句及使用方法
    • 代码托管到git@OSC,参考一下使用开源中国托管代码
    • 完成课后自测题,并参考答案学习
    • 完成课后练习题
    • 完成程序设计项目:至少完成PP5.1、PP5.3、PP5.7、PP6.3、PP6.6.
    • 有问题去蓝墨云班课或者答疑论坛提问,尽量不在微信群和QQ群解答学习问题
  • 2.参考上面的学习总结模板,把学习过程通过博客(随笔)发表,博客标题“学号 《程序设计与数据结构》第一周学习总结
    • 提高学习效率,提高写博客效率:尽量少摘抄书上的内容,主要写有疑惑和有收获的内容
    • 截止时间:本下周二 24:00,不按时发博客要扣1分
    • 不按上面的模板写的要重写,否则会扣1分
    • 严禁抄袭,违反者成绩零分

返回目录

第07周学习任务和要求(4.16-4.20)

学习目标

  • 理解数组的概念,掌握基本数组的声明和使用
  • 掌握对象数组的声明和使用
  • 掌握命令行实参中数组的使用及参数可变的方法重载
  • 掌握二维数组的使用

学习资源

学习任务

  • 1.教材第8章
    • 阅读8.1-8.6.1章节,学习数组的使用方法
    • 代码托管到git@OSC,参考一下使用开源中国托管代码
    • 完成课后自测题,并参考答案学习
    • 完成课后练习题
    • 完成程序设计项目:至少完成PP8.1、PP8.5、PP8.6.
    • 有问题去蓝墨云班课或者答疑论坛提问,尽量不在微信群和QQ群解答学习问题
  • 2.参考上面的学习总结模板,把学习过程通过博客(随笔)发表,博客标题“学号 《程序设计与数据结构》第一周学习总结
    • 提高学习效率,提高写博客效率:尽量少摘抄书上的内容,主要写有疑惑和有收获的内容
    • 截止时间:本周日 24:00,不按时发博客要扣1分
    • 不按上面的模板写的要重写,否则会扣1分
    • 严禁抄袭,违反者成绩零分

返回目录

第08周学习任务和要求(4.23-4.27)

学习目标

  • 使用继承创建子类;
  • 掌握重写方法的技巧;
  • 熟悉类层次结构;
  • 熟悉可见性以及类间继承关系的设计

学习资源

学习任务

  • 1.教材第9章
    • 阅读9.1-9.5章节,学习数组的使用方法
    • 代码托管到git@OSC,参考一下使用开源中国托管代码
    • 完成课后自测题,并参考答案学习
    • 完成课后练习题
    • 完成程序设计项目:至少完成PP9.1、PP9.3.
    • 有问题去蓝墨云班课或者答疑论坛提问,尽量不在微信群和QQ群解答学习问题
  • 2.参考上面的学习总结模板,把学习过程通过博客(随笔)发表,博客标题“学号 《程序设计与数据结构》第一周学习总结
    • 提高学习效率,提高写博客效率:尽量少摘抄书上的内容,主要写有疑惑和有收获的内容
    • 截止时间:本周日 24:00,不按时发博客要扣1分
    • 不按上面的模板写的要重写,否则会扣1分
    • 严禁抄袭,违反者成绩零分

返回目录

第09周学习任务和要求(5.02-5.04)

学习目标

  • 掌握多态的定义及其作用
  • 掌握动态绑定的概念
  • 掌握利用继承建立多态引用
  • 熟悉利用接口建立多态应用
  • 掌握常见的排序和搜索算法,并利用多态实现

学习资源

学习任务

  • 1.教材第10章
    • 阅读10.1-10.6章节
    • 代码托管到git@OSC,参考一下使用开源中国托管代码
    • 完成课后自测题,并参考答案学习
    • 完成课后练习题
    • 完成程序设计项目:至少完成PP10.1、PP10.4、PP10.5.
    • 有问题去蓝墨云班课或者答疑论坛提问,尽量不在微信群和QQ群解答学习问题
  • 2.参考上面的学习总结模板,把学习过程通过博客(随笔)发表,博客标题“学号 《程序设计与数据结构》第一周学习总结
    • 提高学习效率,提高写博客效率:尽量少摘抄书上的内容,主要写有疑惑和有收获的内容
    • 截止时间:5.3 24:00,不按时发博客要扣1分
    • 不按上面的模板写的要重写,否则会扣1分
    • 严禁抄袭,违反者成绩零分

返回目录

第10周学习任务和要求(5.7-5.11)
学习目标

学习第11和12章,掌握以下内容:

  • 了解引起异常的常见问题
  • 掌握try-catch语句;
  • 掌握finally子句;
  • 掌握异常的传递;
  • 熟悉异常类的层次结构,并掌握自定义异常的方法;
  • 熟悉I/O异常;
  • 掌握递归方法及编程技巧;
  • 掌握直接递归与间接递归;
  • 了解递归的应用(迷宫旅行和汉诺塔问题)

学习资源

学习任务

  • 1.教材第11和12章
    • 阅读11.1-11.6、12.1-12.3章节
    • 代码托管到git@OSC,参考一下使用开源中国托管代码
    • 完成课后自测题,并参考答案学习
    • 完成课后练习题
    • 完成程序设计项目:至少完成PP11.1、PP11.2、PP12.1、PP12.9.
    • 有问题去蓝墨云班课或者答疑论坛提问,尽量不在微信群和QQ群解答学习问题
  • 2.参考上面的学习总结模板,把学习过程通过博客(随笔)发表,博客标题“学号 《程序设计与数据结构》第一周学习总结
    • 提高学习效率,提高写博客效率:尽量少摘抄书上的内容,主要写有疑惑和有收获的内容
    • 截止时间:本周日 24:00,不按时发博客要扣1分
    • 不按上面的模板写的要重写,否则会扣1分
    • 严禁抄袭,违反者成绩零分

返回目录

第11周学习任务和要求(5.15-5.19)

学习目标

  • 熟悉集合的概念;
  • 掌握动态链表的创建和使用;
  • 掌握常见线性结构队列、堆栈的使用;
  • 了解非线性结构树和图的概念;
  • 掌握泛型并熟悉Java集合类API

学习资源

学习任务

  • 1.教材第13章
    • 阅读13章节
    • 代码托管到git@OSC,参考一下使用开源中国托管代码
    • 完成课后自测题,并参考答案学习
    • 完成课后练习题
    • 完成程序设计项目:至少完成PP13.1、PP13.3.
    • 有问题去蓝墨云班课或者答疑论坛提问,尽量不在微信群和QQ群解答学习问题
  • 2.参考上面的学习总结模板,把学习过程通过博客(随笔)发表,博客标题“学号 《程序设计与数据结构》第一周学习总结
    • 提高学习效率,提高写博客效率:尽量少摘抄书上的内容,主要写有疑惑和有收获的内容
    • 截止时间:本周日 24:00,不按时发博客要扣1分
    • 不按上面的模板写的要重写,否则会扣1分
    • 严禁抄袭,违反者成绩零分

返回目录

第12周学习任务和要求(5.21-5.25)

学习目标

  • 掌握数据的基本概念;
  • 熟悉XAMPP、数据库的建立和连接;
  • 熟悉常见的SQL语言;
  • 熟悉在Java程序执行各种数据的常见操作。

学习资源

学习任务

  • 完成课堂实践,如未在课堂完成,需要不写课堂实践的博客。

返回目录

第13周学习任务和要求(5.28-6.1)

学习目标

  • 学习《Java和Android开发指南》(第2版)第23、24、25、26章;
  • 熟悉Android及Android开发环境;
  • 掌握Activity的创建和使用;
  • 掌握常用UI组件的使用。+

学习资源

学习任务

  • 1.教材第23-26章
  • 2.参考上面的学习总结模板,把学习过程通过博客(随笔)发表,博客标题“学号 《程序设计与数据结构》第一周学习总结
    • 提高学习效率,提高写博客效率:尽量少摘抄书上的内容,主要写有疑惑和有收获的内容
    • 截止时间:本周日 24:00,不按时发博客要扣1分
    • 不按上面的模板写的要重写,否则会扣1分
    • 严禁抄袭,违反者成绩零分

返回目录

第14周学习任务和要求(6.4-6.8)

学习目标

  • 练习Android开发基本知识;
  • 掌握Activity、Intent、Listener等的使用;
  • 熟悉Service、Content Provider、Broadcast Receiver三个组件的使用;
  • 能够在Android上演示Java程序设计中的常用概念。

学习资源

学习任务

  • 完成蓝墨云上的实践题目

返回目录

第15周学习任务和要求(6.11-6.15)

学习目标

  • 掌握Java Socket编程技术

学习资源

  • 参考教材《java和Android开发学习指南》第22章

学习任务

  • 完成实验五和课堂实践;

返回目录

第16周学习任务和要求(6.18-6.22)

学习目标

  • 总结

学习资源

  • 参考之前的资源

学习任务

  • 撰写全课总结报告

返回目录

posted on 2018-02-02 11:09  Mr.Wang003  阅读(843)  评论(0编辑  收藏  举报

导航