2015-2016-2 《Java程序设计》教学进程
目录
考核方式
参考「《Java程序设计》 课程教学」中的考核方式。
寒假准备
课程基础
- 阅读「使用博客园进行学习」,并建立个人技术博客
- 加入「课程答疑小组」,提问前请阅读「如何提问」.
- 阅读「使用开源中国托管代码」并完成作业
- 在实验楼注册账号(注意体现学号信息),然后点击配套实验课程进入实验楼实验环境,点击『加入私有课程』,《Java程序设计》的课程码:
DLUH8XBH
,个人信息
填“学号+姓名”。 - 注册极客学院,学习Java相关视频。
- 教材学习导读: 《Java学习笔记(第8版)》学习指导
学习实验楼实践教程:
- Linux基础入门,本学期有考核要求
- Vim编辑器,学有余力者学习,下学期考核
- 高级Bash脚本编程指南,学有余力者学习,下学期考核
问卷调查
2016年2月28日晚12点前,发一篇博客(随笔)包含以下内容:
- 你对自己的未来有什么规划?做了哪些准备?
- 你认为什么是学习?学习有什么用?现在学习动力如何?为什么?
- 你认为专业课学习和公务员考试是哪个重要还是同等重要还是其他想法?为什么?
- 你感觉自己什么事情做的比较成功?有什么经验?
- 你怎么看待《Java程序设计》这门课?学习这门功课你对自己有什么期望?
- 参考2015-2016-1 《信息安全系统设计基础》课程总结,学习《Java程序设计》你对老师有什么期望?你准备怎么学习《Java程序设计》?
- 你是怎么学习C语言的?(作业,实验,教材,其他),目前为止估算自己写过多少行代码?
- C语言的学习有什么经验和教训?
- 除了应付考试和实验,编程在什么地方帮到过你?
- 学了C语言,你分的清数组指针,指针数组;函数指针,指针函数这些概念吗?
- 学了C语言,你明白文件和流的区别和联系吗?如何区分文本文件和二进制文件?如何编程操作这两种文件?
- 学了C语言,你知道什么叫面向过程吗?它解决问题的方法是什么?
- 在C语言里面,什么是模块?你写过多个源文件的程序吗?
- 学了C语言,你知道什么是“高内聚,低耦合”吗?这个原则如何应用到高质量程序设计中?
- 学了C语言,你如何把数组A的内容复制到数组B中?如何查找整数数组A中有没有5?如何对整数数组A进行排序(从小到大,从大到小)?写出相应的程序。
- 你知道什么是断点吗?给出自己调试程序的例子。
- 毕业后大多数人从事的工作的要求是“提笔能写,开口能说,问策能对,遇事能办”,非常重要的技能是公文写作能力,你觉得自己写作能力如何?
注意:
- 调查的目的不是考你,而是为我备课做准备,回答不要有压力,但态度很重要
- 调查计入加分,不要抄袭,不用可以学习相关内容,不会的可以如实说不会
- 太多回答不会的,我会单独找你聊天了解情况,帮你学的更好
教学进程
学习方法
- 进度很重要:注意前紧后松,必须跟上每周的进度,教材阅读与总结,教材上的练习,问答小组,项目。我和助教们会认真对待每一位同学,请你不要因为困难而放弃,坚持下来,会发现自己的不可思议。
- 问答很重要:遇到知识难点请多多提问,这是你的权利更是您对自己负责的义务。问答到课程讨论小组
- 实践很重要:解决书中习题,实践教材中实例,完成个人和团队项目,才算真的消化了课程内容。可以通过实验楼的课程配套环境或自己安装的虚拟机在实践中进行学习。 实践中的代码请参考「积极主动敲代码,使用Junit学习Java程序设计」。
- 学习总结、实验报告很重要:总结学习与实践中的问题,得到老师和同学们的反馈,是进步的捷径。学习完成后在博客园中把学习过程通过博客(随笔)发表,博客标题“学号《Java程序设计》第x周学习总结”
总结模板(Markdown)如下:
# 学号 《Java程序设计》第X周学习总结
## 教材学习内容总结
(1000字以内总结一下本周学习内容,尽量不要抄书)
## 教材学习中的问题和解决过程
xxx
xxx
## 代码调试中的问题和解决过程
xxx
xxx
## 本周代码托管截图
## 其他(感悟、思考等,可选)
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 | |
## 参考资料
- [Java学习笔记(第8版)](http://book.douban.com/subject/26371167/)
- [《Java学习笔记(第8版)》学习指导](http://www.cnblogs.com/rocedu/p/5182332.html)
- ...
上面模板中用Markdown写的总结的渲染效果如下:
第0周学习指导
学习目标
- 了解课程上课方式
- 做好心理预期
学习资源
-
- 师生关系:trainer/trainee
- 负担与压力:现在辛苦是因为欠帐,现在的努力可以发现自己的不可思议
-
- 编程也一样
- 学习科学日益主流的观念:从「情景学习」出发,当一名「认知学徒」,它的要点有:
- 找到学习共同体:因为大量知识存在于学习共同体的实践中,不是书本中,所以有效的学习不是关门苦练,而是找到属于自己的学习小团体。如程序员在类似于github这样的网站练习编程。
- 隐性知识显性化:隐性知识是使人们有能力利用概念、事实以及程序来解决现实问题的知识。
- 模仿榜样:榜样可以是现实生活中的导师,也可以是网上的导师;
- 培养多样性:在多种情境中实践,以此强调学习广阔的应用范围。如裁缝出师并不是已经练习了一万小时,而是能够缝制出足够好的,各种各样的衣服。
现代软件工程讲义 1 软件工程概论: 程序和软件的不同
为什么一定要自学?:善于自学的人,最终会形成一个重要的能力:融会贯通。
学习任务
- 阅读以上博客,可以写一篇阅读心得发博客,相关内容纳入课堂考试范围
第一周学习指导(2.29-3.06)
学习目标
- 了解Java基础知识
- 了解JVM、JRE与JDK,并下载、安装、测试JDK
- 了解PATH、CLASSPATH、SOURCEPATH的作用并会设置
- 初步使用IDE(推荐IDEA),会编译、运行、调试简单的Java程序
学习资源
- 教材:学习指导在这,重点内容,考试内容都有
- 视频:下载地址 密码:nws1
- Java程序设计的DOS命令基础
学习任务
- 教材第一章、第二章
- 参考上面的学习总结模板,把学习过程通过博客(随笔)发表,博客标题“学号 《Java程序设计》第一周学习总结”
第二周(3.07-3.13)
学习目标
- 了解Java编程风格
- 认识Java的类型与变量
- 掌握Java流程控制的方法(分支、循环)
学习资源
学习任务
- 教材第三章
- 编辑、编译、运行教材上代码,参考「积极主动敲代码,使用Junit学习Java程序设计」
- 代码中不懂的内容仔细阅读教材,参考Java API帮助文档
- 代码托管到git@OSC, 这样老师和助教才能看到,参考一下使用开源中国托管代码 和 Windows下安装git & 在git@OSC上推送代码
- 完成课后习题
- 有问题去答疑论坛提问,不在微信群和QQ群解答问题
- 课堂考试题目和参考答案在这,看看自己哪些题目答错了,一定要弄明白了,重点内容以及错的多的知识点会多次考核
- 常来这看看自己的成绩,每周更新,排名靠后的,不及格的要努力了
- 参考上面的学习总结模板,把学习过程通过博客(随笔)发表,博客标题“学号 《Java程序设计》第二周学习总结”
- 截止时间:本周日(3.13) 24:00,不按时发博客要扣1分,优秀博客加1分
第三周(3.14-3.20)
学习目标
- 区分基本类型与类类型
- 理解对象的生成与引用的关系
- 掌握String类和数组
- 理解封装的概念
- 掌握构造方法的定义
- 理解重载的概念
- 掌握static的应用
学习资源
学习任务
- 教材第四章、第五章
- 编辑、编译、运行教材上代码,参考「积极主动敲代码,使用Junit学习Java程序设计」
- 代码中不懂的内容仔细阅读教材,参考Java API帮助文档
- 代码托管到git@OSC, 这样老师和助教才能看到,参考一下使用开源中国托管代码 和 Windows下安装git & 在git@OSC上推送代码
- 完成课后习题
- 有问题去答疑论坛提问,不在微信群和QQ群解答问题
- 课堂考试题目和参考答案在这,看看自己哪些题目答错了,一定要弄明白了,重点内容以及错的多的知识点会多次考核
- 常来这看看自己的成绩,每周更新,排名靠后的,不及格的要努力了
- 参考上面的学习总结模板,把学习过程通过博客(随笔)发表,博客标题“学号 《Java程序设计》第三周学习总结”
- 截止时间:本周日(3.20) 24:00,不按时发博客要扣1分,优秀博客加1分
第四周(3.21-3.27)
学习目标
- 理解封装、继承、多态的关系
- 理解抽象类与接口的区别
- 掌握S.O.L.I.D原则
- 了解模式和设计模式
- 能正确覆盖方法
- 了解垃圾回收机制
- 掌握Object类
- 掌握enum
学习资源
- 教材:学习指导在这,重点内容,考试内容都有
- 视频:下载地址 密码:nws1
- 实验二 Java面向对象程序设计
学习任务
- 教材第六章、第七章
- 编辑、编译、运行教材上代码,参考「积极主动敲代码,使用Junit学习Java程序设计」
- 代码中不懂的内容仔细阅读教材,参考Java API帮助文档
- 代码托管到git@OSC,这样老师和助教才能看到,参考一下使用开源中国托管代码 和 Windows下安装git & 在git@OSC上推送代码
- 完成课后习题
- 有问题去答疑论坛提问,不在微信群和QQ群解答问题
- 课堂考试题目和参考答案在这,看看自己哪些题目答错了,一定要弄明白了,重点内容以及错的多的知识点会多次考核
- 常来这看看自己的成绩,每周更新,排名靠后的,不及格的要努力了
- 参考上面的学习总结模板,把学习过程通过博客(随笔)发表,博客标题“学号 《Java程序设计》第四周学习总结”
- 截止时间:本周日(3.27) 24:00,不按时发博客要扣1分,优秀博客加1分
- 严禁抄袭,违反者列入立此存照-抄袭作业者的曝光台
第五周(3.28-4.03)
学习目标
- 理解异常架构
- 牚握try...catch...finally处理异常的方法
- 会用throw,throws
- 理解Collection和Map架构
- 会用常见的数据结构和算法
- 了解Lambada和泛型
学习资源
学习任务
- 教材第八章、第九章
- 编辑、编译、运行教材上代码,参考「积极主动敲代码,使用Junit学习Java程序设计」
- 代码中不懂的内容仔细阅读教材,参考Java API帮助文档
- 代码托管到git@OSC,这样老师和助教才能看到,参考一下使用开源中国托管代码 和 Windows下安装git & 在git@OSC上推送代码
- 完成课后习题
- 有问题去答疑论坛提问,不在微信群和QQ群解答问题
- 课堂考试题目和参考答案在这,看看自己哪些题目答错了,一定要弄明白了,重点内容以及错的多的知识点会多次考核
- 常来这看看自己的成绩,每周更新,排名靠后的,不及格的要努力了
- 参考上面的学习总结模板,把学习过程通过博客(随笔)发表,博客标题“学号 《Java程序设计》第五周学习总结”
- 截止时间:本周日(4.03) 24:00,不按时发博客要扣1分,优秀博客加1分
- 严禁抄袭,违反者列入立此存照-抄袭作业者的曝光台
第六周(4.04-4.10)
学习目标
- 理解流与IO
- 理解InputStream/OutPutStream的继承架构
- 理解Reader/Writer继承架构
- 会使用装饰类
- 会使用多线程进行并发程序设计
学习资源
学习任务
- 教材第十章、第十一章
- 编辑、编译、运行教材上代码,参考「积极主动敲代码,使用Junit学习Java程序设计」
- 代码中不懂的内容仔细阅读教材,参考Java API帮助文档
- 代码托管到git@OSC,这样老师和助教才能看到,参考一下使用开源中国托管代码 和 Windows下安装git & 在git@OSC上推送代码
- 完成课后习题
- 有问题去答疑论坛提问,不在微信群和QQ群解答问题
- 课堂考试题目和参考答案在这,看看自己哪些题目答错了,一定要弄明白了,重点内容以及错的多的知识点会多次考核
- 常来这看看自己的成绩,每周更新,排名靠后的,不及格的要努力了
- 参考上面的学习总结模板,把学习过程通过博客(随笔)发表,博客标题“学号 《Java程序设计》第六周学习总结”
- 截止时间:本周日(4.10) 24:00,不按时发博客要扣1分,优秀博客加1分
- 严禁抄袭,违反者列入立此存照-抄袭作业者的曝光台
- 参考实验一 Java开发环境的熟悉(Linux + Eclipse) 完成实验并在本周日(4.10) 24:00前发实验报告博客
第七周(4.11-4.17)
学习目标
- 了解Lambda语法
- 了解方法引用
- 了解Fucntional与Stream API
- 掌握Date与Calendar的应用
- 会使用JDK8新的时间API
学习资源
学习任务
-
教材第十二章、第十三章、
- 编辑、编译、运行教材上代码,参考「积极主动敲代码,使用Junit学习Java程序设计」
- 代码中不懂的内容仔细阅读教材,参考Java API帮助文档
- 代码托管到git@OSC,这样老师和助教才能看到,参考一下使用开源中国托管代码 和 Windows下安装git & 在git@OSC上推送代码
- 完成课后习题
- 有问题去答疑论坛提问,不在微信群和QQ群解答问题
- 课堂考试题目和参考答案在这,看看自己哪些题目答错了,一定要弄明白了,重点内容以及错的多的知识点会多次考核
- 常来这看看自己的成绩,每周更新,排名靠后的,不及格的要努力了
-
参考上面的学习总结模板,把学习过程通过博客(随笔)发表,博客标题“学号 《Java程序设计》第七周学习总结”
- 截止时间:本周日(4.17) 24:00,不按时发博客要扣1分,优秀博客加1分
- 严禁抄袭,违反者列入立此存照-抄袭作业者的曝光台
参考实验二 Java面向对象程序设计 完成实验并在本周日(4.17) 24:00前发实验报告博客
第八周(4.18-4.24)
学习目标
- 了解NIO
- 会使用Channel、Buffer与NIO2
- 会使用日志API、国际化
- 会使用正则表达式
- 了解JDK8增强功能
学习资源
学习任务
-
教材第十四章、第十五章
- 编辑、编译、运行教材上代码,参考「积极主动敲代码,使用Junit学习Java程序设计」
- 代码中不懂的内容仔细阅读教材,参考Java API帮助文档
- 代码托管到git@OSC,这样老师和助教才能看到,参考一下使用开源中国托管代码 和 Windows下安装git & 在git@OSC上推送代码
- 完成课后习题
- 有问题去答疑论坛提问,不在微信群和QQ群解答问题
- 课堂考试题目和参考答案在这,看看自己哪些题目答错了,一定要弄明白了,重点内容以及错的多的知识点会多次考核
- 常来这看看自己的成绩,每周更新,排名靠后的,不及格的要努力了
-
参考上面的学习总结模板,把学习过程通过博客(随笔)发表,博客标题“学号 《Java程序设计》第八周学习总结”
- 截止时间:本周日(4.24) 24:00,不按时发博客要扣1分,优秀博客加1分
- 严禁抄袭,违反者列入立此存照-抄袭作业者的曝光台
参考实验三 Java面向对象程序设计实验三 敏捷开发与XP实践 完成实验并在本周日(4.24) 24:00前发实验报告博客
第九周(4.25-5.01)
学习目标
- 了解JDBC架构
- 掌握JDBC架构
- 掌握反射与ClassLoader
- 了解自定义泛型和自定义枚举
- 会使用标准注解
学习资源
- 教材:学习指导在这,重点内容,考试内容都有
- 视频:下载地址 密码:nws1
- 数据库第一二三范式到底在说什么?
学习任务
-
教材第十六章、第十七章、第十八章
- 编辑、编译、运行教材上代码,参考「积极主动敲代码,使用Junit学习Java程序设计」
- 代码中不懂的内容仔细阅读教材,参考Java API帮助文档
- 代码托管到git@OSC,这样老师和助教才能看到,参考一下使用开源中国托管代码 和 Windows下安装git & 在git@OSC上推送代码
- 完成课后习题
- 有问题去答疑论坛提问,不在微信群和QQ群解答问题
- 课堂考试题目和参考答案在这,看看自己哪些题目答错了,一定要弄明白了,重点内容以及错的多的知识点会多次考核
- 常来这看看自己的成绩,每周更新,排名靠后的,不及格的要努力了
-
参考上面的学习总结模板,把学习过程通过博客(随笔)发表,博客标题“学号 《Java程序设计》第九周学习总结”
- 截止时间:下周一(5.02) 24:00,不按时发博客要扣1分,优秀博客加1分
- 严禁抄袭,违反者列入立此存照-抄袭作业者的曝光台
-
参考实验四 Andoid开发基础 完成实验并在下周一(5.02) 24:00前发实验报告博客
- 基于Android Studio开发简单的Android应用并部署测试;
- 了解Android组件、布局管理器的使用;
- 掌握Android中事件处理机制。
- AndroidStudio安装
第十周(5.02-5.08)
学习目标
- 了解计算机网络基础
- 掌握Java Socket编程
学习资源
学习任务
完成学习资源中相关内容的学习
-
参考上面的学习总结模板,把学习过程通过博客(随笔)发表,博客标题“学号 《Java程序设计》第十周学习总结”
- 截止时间:本周日(5.08) 24:00,不按时发博客要扣1分,优秀博客加1分
- 严禁抄袭,违反者列入立此存照-抄袭作业者的曝光台
参考实验五 Java网络编程 完成实验并在本周日(5.08) 24:00前发实验报告博客
第十一周(5.09-5.15)
学习任务
- 团队项目
- 在团队博客发表一篇随笔介绍一下项目内容、目标、实现计划(以周为单位)、成员、分工等
- 给出项目托管链接,项目模板如下:
- src:源代码
- test:测试代码
- bin/out:可执行代码
- docs:项目相关参考文献、项目文档、报告
- lib:项目依赖的jar库文件
- dist: 打包部署
- README.md: 项目简介
- ...
- 参考关于用户需求的调查完成项目需求分析
- 参考现代软件工程讲义看看如何做项目
- 参考如何提出靠谱的项目建议 NABCD写出团队项目的NABCD。
- 参考以下工具构建项目原型:(更多工具参考程序开发与信息安全工具箱)
- 在本周日(5.15) 24:00前发博客
第十二周(5.16-5.22)
学习任务
- 团队项目
- 在本周日(5.22) 24:00前发博客介绍项目进展、成员贡献、与计划相符情况、改进措施等
第十三周(5.23-5.29)
学习目标
学习资源
学习任务
- 团队项目
- 在本周日(5.29) 24:00前发博客介绍项目进展、成员贡献、与计划相符情况、改进措施等
第十四周(5.30-6.05)
学习目标
学习资源
学习任务
- 团队项目
- 在本周日(6.05) 24:00前发博客介绍项目进展、成员贡献、与计划相符情况、改进措施等
第十五周(6.06-6.12)
学习目标
学习资源
学习任务
- 团队项目
- 在本周日(6.12) 24:00前发博客介绍项目进展、成员贡献、与计划相符情况、改进措施等
后续学习预告
第十六周(6.13-6.19)
学习目标
学习资源
学习任务
在本周日(6.19) 24:00前完成团队项目总结和课程总结(两篇博客,团队总结发在团队博客中,课程总结发在个人博客中)
-
团队项目总结
- 项目实现情况
- 项目测试
- 项目实现中的问题与解决
- 项目展望与改进(供下一届同学参考)
- 团队成员贡献与成绩分配
- 其他
-
课程总结
个人项目
四则运算
- 参考现代软件工程 第一章 【概论】练习与讨论
- 参考口算伴我成长自动出题系统v2.9 进行改进
- 代码量不低于1000行
词频统计
- 收集近二十年CET-4(or CET-6)的试题
- 统计最常用的1000词汇
- 调用词典API制作电子书
其他
团队项目
基本要求
- 单元测试要不少于产品代码的行数
- git 提交在函数级别上
- 对系统进行UML建模
- 团队合作要有代码规范,风格要一致
逆向Android项目
要求:
- 至少两人一个团队(总分25*人数)
移动学习之网站(做的好有开发费用支持)
移动学习之Android App(做的好有开发费用支持)
博客园客户端
课程学习资源
教材与参考资料
- Java学习笔记(第8版)
- Effective java 中文版(jjhou,Effective java)
- 实现模式 (Implementation Patterns)
- Android编程权威指南(Android programming: the big nerd ranch guide)
- 程序设计实践(The Practice of Programming)
- 构建之法(电子版)
- 图解密码技术
- Java 加密与解密的艺术 (Kindle)
- 程序员必读书单 1.0
Java API
MOOC & 视频
其他
欢迎关注“rocedu”微信公众号(手机上长按二维码)
做中教,做中学,实践*同进步!
版权声明:*转载-非商用-非衍生-保持署名| Creative Commons BY-NC-ND 3.0
如果你觉得本文对你有帮助,请点一下左下角的“好文要顶”和“收藏该文”