2017-2018-2 1723《程序设计与数据结构》实验四 & 实验五 & 课程总结 总结

作业地址





作业要求

实验四:

  • (1)Android Stuidio的安装测试:

    • 参考《Java和Android开发学习指南(第二版)(EPUBIT,Java for Android 2nd)》第二十四章:
    • 参考 http://www.cnblogs.com/rocedu/p/6371315.html#SECANDROID ,安装 Android Stuidio
    • 完成 Hello World, 要求修改res目录中的内容,Hello World 后要显示自己的学号,自己学号前后一名同学的学号,提交代码运行截图和码云Git链接,截图没有学号要扣分
    • 学习 Android Stuidio 调试应用程序
  • (2)Activity测试

    • 参考《Java和Android开发学习指南(第二版)(EPUBIT,Java for Android 2nd)》第二十五章:
    • 构建项目,运行教材相关代码
    • 创建 ThirdActivity, 在ThirdActivity中显示自己的学号,修改代码让MainActivity启动ThirdActivity
  • (3)UI测试

    • 参考《Java和Android开发学习指南(第二版)(EPUBIT,Java for Android 2nd)》第二十六章:
    • 构建项目,运行教材相关代码
    • 修改代码让Toast消息中显示自己的学号信息
  • (4)布局测试: 参考《Java和Android开发学习指南(第二版)(EPUBIT,Java for Android 2nd)》第二十七章:

    • 构建项目,运行教材相关代码
    • 修改布局让P290页的界面与教材不同
  • (5)事件处理测试: 参考《Java和Android开发学习指南(第二版)(EPUBIT,Java for Android 2nd)》第二十八章:

    • 构建项目,运行教材相关代码
    • 提交代码运行截图和码云Git链接,截图要有学号水印,否则会扣分

实验五:

(1)任务1:两人一组结对编程:
0. 参考:http://www.cnblogs.com/rocedu/p/6766748.html#SECDSA

  1. 结对实现中缀表达式转后缀表达式的功能 MyBC.java
  2. 结对实现从上面功能中获取的表达式中实现后缀表达式求值的功能,调用MyDC.java
  3. 上传测试代码运行结果截图和码云链接

(2)任务2:结对编程:1人负责客户端,一人负责服务器
0. 注意责任归宿,要会通过测试证明自己没有问题

  1. 基于Java Socket实现客户端/服务器功能,传输方式用TCP
  2. 客户端让用户输入中缀表达式,然后把中缀表达式调用MyBC.java的功能转化为后缀表达式,把后缀表达式通过网络发送给服务器
  3. 服务器接收到后缀表达式,调用MyDC.java的功能计算后缀表达式的值,把结果发送给客户端
  4. 客户端显示服务器发送过来的结果
  5. 上传测试结果截图和码云链接

(3)任务3:加密结对编程:1人负责客户端,一人负责服务器
0. 注意责任归宿,要会通过测试证明自己没有问题

  1. 基于Java Socket实现客户端/服务器功能,传输方式用TCP
  2. 客户端让用户输入中缀表达式,然后把中缀表达式调用MyBC.java的功能转化为后缀表达式,把后缀表达式用3DES或AES算法加密后通过网络把密文发送给服务器
  3. 服务器接收到后缀表达式表达式后,进行解密(和客户端协商密钥,可以用数组保存),然后调用MyDC.java的功能计算后缀表达式的值,把结果发送给客户端
  4. 客户端显示服务器发送过来的结果
  5. 上传测试结果截图和码云链接

(4)任务4:密钥分发结对编程:1人负责客户端,一人负责服务器
0. 注意责任归宿,要会通过测试证明自己没有问题

  1. 基于Java Socket实现客户端/服务器功能,传输方式用TCP
  2. 客户端让用户输入中缀表达式,然后把中缀表达式调用MyBC.java的功能转化为后缀表达式,把后缀表达式用3DES或AES算法加密通过网络把密文发送给服务器
  3. 客户端和服务器用DH算法进行3DES或AES算法的密钥交换
  4. 服务器接收到后缀表达式表达式后,进行解密,然后调用MyDC.java的功能计算后缀表达式的值,把结果发送给客户端
  5. 客户端显示服务器发送过来的结果
  6. 上传测试结果截图和码云链接

(5)任务5:完整性校验结对编程:1人负责客户端,一人负责服务器
0. 注意责任归宿,要会通过测试证明自己没有问题

  1. 基于Java Socket实现客户端/服务器功能,传输方式用TCP
  2. 客户端让用户输入中缀表达式,然后把中缀表达式调用MyBC.java的功能转化为后缀表达式,把后缀表达式用3DES或AES算法加密通过网络把密文和明文的MD5値发送给服务器
  3. 客户端和服务器用DH算法进行3DES或AES算法的密钥交换
  4. 服务器接收到后缀表达式表达式后,进行解密,解密后计算明文的MD5值,和客户端传来的MD5进行比较,一致则调用MyDC.java的功能计算后缀表达式的值,把结果发送给客户端
  5. 客户端显示服务器发送过来的结果
  6. 上传测试结果截图和码云链接

课程总结:



作业问题

  • 关于实验四的总结

    本次实验主要在于让同学们实践学习Android应用程序开发的基本操作,了解开发中Java语言的用法。从本次实验的结果来看,绝大部分同学都能自主完成实验既定内容并且有所拓展,本次实验在Android开发的基础上增加了前期课程中的内容,在这种Android程序与简单Java程序的结合中进一步提高了同学们的编程水平!


  • 关于实验五的总结

    通过第五次实验同学们一方面掌握了socket编程的基本思想,能通过结对编程的方式自主编写了客户端服务器程序。另一方面通过实现对socket程序传输的明文进行加密的实验,学会了多重基本基于文件加解密的方法!本次实验大部分同学能按要求完成,部分同学感到有些吃力,希望部分感到吃力同学能课下用功跟上进度!


  • 关于课程总结博客的总结

    可以看得出来,大部分同学在本学期收获颇大且有一半的同学博客写得很用心,小部分同学也有坚持背单词,很好,你们在博客中提到的比较普遍的建议也已经反馈给王老师。


【附1】本次成绩详见:第 12 周 - 成绩(实验四、实验五、Android三个实践、Socket编程)

【附2】本次作业中遇到的部分问题 & 解答详见:第 12 周 - 作业问题与解答



优秀作业




助教小结

  (小助教 - 张旭升)在检查最后的作业的过程中感觉部分同学对待最后几次作业已经没有之前那么认真了,也许是期末临近大家还有其他科目需要复习的原因,但我作为助教还是希望大家对待程序设计这种专业基础课程能够从一而终,认真对待每一次作业。

  自此本学期程序设计课程所有的课程任务已完成,本学期作为助教也作为你们的学长我真心感觉与你们相处非常愉快,这是本学期最后一次发言,预祝大家期末能有个好成绩,我们下学期再见!


  (小助教 - 刘伟康)成绩只是一种反映结果的形式,这门课更注重的是做的过程,我个人认为这门课更多考验的是独立解决问题的能力、遇到问题时需要的抗压承受能力以及写博客时需要的提炼表达能力。

  每次的博客我都能感受到同学们学习的热情和坚持,每逢周末放假时、考试前、过生日的时候还在孜孜不倦地敲着代码、写着博客,有同学总是能保持住这种学习的动力,感谢你们在博客园的每一次回应,希望同学们能继续坚持学习Java,继续坚持背单词。

  很荣幸能在本学期担任同学们的助教,不论此时的你处于怎样的状态,排名如何,失败了,没关系,重振旗鼓,从头再来,成功了,望再接再厉,更进一步,继续尝试,加油!


posted @ 2018-07-01 20:41  N-Liu  阅读(333)  评论(0编辑  收藏  举报