2015-2016-2 《Java程序设计》教学进程

2015-2016-2 《Java程序设计》教学进程

目录

考核方式

参考「《Java程序设计》 课程教学」中的考核方式。

返回目录

寒假准备

课程基础

学习实验楼实践教程:

问卷调查

2016年2月28日晚12点前,发一篇博客(随笔)包含以下内容:

  1. 你对自己的未来有什么规划?做了哪些准备?
  2. 你认为什么是学习?学习有什么用?现在学习动力如何?为什么?
  3. 你认为专业课学习和公务员考试是哪个重要还是同等重要还是其他想法?为什么?
  4. 你感觉自己什么事情做的比较成功?有什么经验?
  5. 你怎么看待《Java程序设计》这门课?学习这门功课你对自己有什么期望?
  6. 参考2015-2016-1 《信息安全系统设计基础》课程总结,学习《Java程序设计》你对老师有什么期望?你准备怎么学习《Java程序设计》?
  7. 你是怎么学习C语言的?(作业,实验,教材,其他),目前为止估算自己写过多少行代码?
  8. C语言的学习有什么经验和教训?
  9. 除了应付考试和实验,编程在什么地方帮到过你?
  10. 学了C语言,你分的清数组指针,指针数组;函数指针,指针函数这些概念吗?
  11. 学了C语言,你明白文件和流的区别和联系吗?如何区分文本文件和二进制文件?如何编程操作这两种文件?
  12. 学了C语言,你知道什么叫面向过程吗?它解决问题的方法是什么?
  13. 在C语言里面,什么是模块?你写过多个源文件的程序吗?
  14. 学了C语言,你知道什么是“高内聚,低耦合”吗?这个原则如何应用到高质量程序设计中?
  15. 学了C语言,你如何把数组A的内容复制到数组B中?如何查找整数数组A中有没有5?如何对整数数组A进行排序(从小到大,从大到小)?写出相应的程序。
  16. 你知道什么是断点吗?给出自己调试程序的例子。
  17. 毕业后大多数人从事的工作的要求是“提笔能写,开口能说,问策能对,遇事能办”,非常重要的技能是公文写作能力,你觉得自己写作能力如何?

注意:

  • 调查的目的不是考你,而是为我备课做准备,回答不要有压力,但态度很重要
  • 调查计入加分,不要抄袭,不用可以学习相关内容,不会的可以如实说不会
  • 太多回答不会的,我会单独找你聊天了解情况,帮你学的更好

返回目录

教学进程

学习方法

  1. 进度很重要:注意前紧后松,必须跟上每周的进度,教材阅读与总结,教材上的练习,问答小组,项目。我和助教们会认真对待每一位同学,请你不要因为困难而放弃,坚持下来,会发现自己的不可思议。
  2. 问答很重要:遇到知识难点请多多提问,这是你的权利更是您对自己负责的义务。问答到课程讨论小组
  3. 实践很重要:解决书中习题,实践教材中实例,完成个人和团队项目,才算真的消化了课程内容。可以通过实验楼课程配套环境或自己安装的虚拟机在实践中进行学习。 实践中的代码请参考「积极主动敲代码,使用Junit学习Java程序设计」。
  4. 学习总结、实验报告很重要:总结学习与实践中的问题,得到老师和同学们的反馈,是进步的捷径。学习完成后在博客园中把学习过程通过博客(随笔)发表,博客标题“学号《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写的总结的渲染效果如下:

2015-2016-2 《Java程序设计》教学进程

返回目录

第0周学习指导

学习目标

  1. 了解课程上课方式
  2. 做好心理预期

学习资源

  1. 现代软件工程讲义 0 课程概述

    • 师生关系:trainer/trainee
    • 负担与压力:现在辛苦是因为欠帐,现在的努力可以发现自己的不可思议
  2. 现代软件工程 习而学的软件工程教育

    • 编程也一样
    • 学习科学日益主流的观念:从「情景学习」出发,当一名「认知学徒」,它的要点有:
      • 找到学习共同体:因为大量知识存在于学习共同体的实践中,不是书本中,所以有效的学习不是关门苦练,而是找到属于自己的学习小团体。如程序员在类似于github这样的网站练习编程。
      • 隐性知识显性化:隐性知识是使人们有能力利用概念、事实以及程序来解决现实问题的知识。
      • 模仿榜样:榜样可以是现实生活中的导师,也可以是网上的导师;
      • 培养多样性:在多种情境中实践,以此强调学习广阔的应用范围。如裁缝出师并不是已经练习了一万小时,而是能够缝制出足够好的,各种各样的衣服。
  3. 现代软件工程讲义 1 软件工程概论: 程序和软件的不同

  4. 为什么一定要自学?:善于自学的人,最终会形成一个重要的能力:融会贯通。

学习任务

  • 阅读以上博客,可以写一篇阅读心得发博客,相关内容纳入课堂考试范围

返回目录

第一周学习指导(2.29-3.06)

学习目标

  • 了解Java基础知识
  • 了解JVM、JRE与JDK,并下载、安装、测试JDK
  • 了解PATH、CLASSPATH、SOURCEPATH的作用并会设置
  • 初步使用IDE(推荐IDEA),会编译、运行、调试简单的Java程序

学习资源

学习任务

  • 教材第一章、第二章
  • 参考上面的学习总结模板,把学习过程通过博客(随笔)发表,博客标题“学号 《Java程序设计》第一周学习总结

返回目录

第二周(3.07-3.13)

学习目标

  1. 了解Java编程风格
  2. 认识Java的类型与变量
  3. 掌握Java流程控制的方法(分支、循环)

学习资源

学习任务

返回目录

第三周(3.14-3.20)

学习目标

  • 区分基本类型与类类型
  • 理解对象的生成与引用的关系
  • 掌握String类和数组
  • 理解封装的概念
  • 掌握构造方法的定义
  • 理解重载的概念
  • 掌握static的应用

学习资源

学习任务

返回目录

第四周(3.21-3.27)

学习目标

  • 理解封装、继承、多态的关系
  • 理解抽象类与接口的区别
  • 掌握S.O.L.I.D原则
  • 了解模式和设计模式
  • 能正确覆盖方法
  • 了解垃圾回收机制
  • 掌握Object类
  • 掌握enum

学习资源

学习任务

返回目录

第五周(3.28-4.03)

学习目标

  • 理解异常架构
  • 牚握try...catch...finally处理异常的方法
  • 会用throw,throws
  • 理解Collection和Map架构
  • 会用常见的数据结构和算法
  • 了解Lambada和泛型

学习资源

学习任务

返回目录

第六周(4.04-4.10)

学习目标

  • 理解流与IO
  • 理解InputStream/OutPutStream的继承架构
  • 理解Reader/Writer继承架构
  • 会使用装饰类
  • 会使用多线程进行并发程序设计

学习资源

学习任务

返回目录

第七周(4.11-4.17)

学习目标

  • 了解Lambda语法
  • 了解方法引用
  • 了解Fucntional与Stream API
  • 掌握Date与Calendar的应用
  • 会使用JDK8新的时间API

学习资源

学习任务

返回目录

第八周(4.18-4.24)

学习目标

  • 了解NIO
  • 会使用Channel、Buffer与NIO2
  • 会使用日志API、国际化
  • 会使用正则表达式
  • 了解JDK8增强功能

学习资源

学习任务

返回目录

第九周(4.25-5.01)

学习目标

  • 了解JDBC架构
  • 掌握JDBC架构
  • 掌握反射与ClassLoader
  • 了解自定义泛型和自定义枚举
  • 会使用标准注解

学习资源

学习任务

返回目录

第十周(5.02-5.08)

学习目标

  • 了解计算机网络基础
  • 掌握Java Socket编程

学习资源

学习任务

  • 完成学习资源中相关内容的学习

  • 参考上面的学习总结模板,把学习过程通过博客(随笔)发表,博客标题“学号 《Java程序设计》第十周学习总结

  • 参考实验五 Java网络编程 完成实验并在本周日(5.08) 24:00前发实验报告博客

返回目录

第十一周(5.09-5.15)

学习任务

返回目录

第十二周(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前完成团队项目总结和课程总结(两篇博客,团队总结发在团队博客中,课程总结发在个人博客中)

  • 团队项目总结

    • 项目实现情况
    • 项目测试
    • 项目实现中的问题与解决
    • 项目展望与改进(供下一届同学参考)
    • 团队成员贡献与成绩分配
    • 其他
  • 课程总结

    • (按顺序)每周读书笔记链接汇总

    • (按顺序)实验报告链接汇总

    • 代码托管链接:代码量汇总

    • 项目链接(可无)

    • 课程收获与不足

      • 自己的收获
      • 自己需要改进的地方
      • 如果有结对,写一下你提供的帮助或接受了什么帮助,并对老师提供参考建议
    • 给学弟学妹们的学习建议

      • 如果重新学习这门课,怎么做才可以学的更好?
    • 问卷调查

      • 你觉得这门课老师应该继续做哪一件事情?
      • 你觉得这门课老师应该停止做哪一件事情?
      • 你觉得这门课老师应该开始做什么新的事情?
      • 其他

返回目录

个人项目

四则运算

词频统计

  • 收集近二十年CET-4(or CET-6)的试题
  • 统计最常用的1000词汇
  • 调用词典API制作电子书

其他

返回目录

团队项目

基本要求

  • 单元测试要不少于产品代码的行数
  • git 提交在函数级别上
  • 对系统进行UML建模
  • 团队合作要有代码规范,风格要一致

逆向Android项目

要求:

  • 至少两人一个团队(总分25*人数)

移动学习之网站(做的好有开发费用支持)

移动学习之Android App(做的好有开发费用支持)

博客园客户端

返回目录

课程学习资源

教材与参考资料

Java API

MOOC & 视频

其他

返回目录


欢迎关注“rocedu”微信公众号(手机上长按二维码)

做中教,做中学,实践*同进步!

2015-2016-2 《Java程序设计》教学进程



如果你觉得本文对你有帮助,请点一下左下角的“好文要顶”和“收藏该文


上一篇:Django 模本(Template--for--csrf--if--filter--simple_tag模版继承等)


下一篇:Jmeter核心-hc课堂笔记