分类:见证成长

实验室内部技术交流

讲座:Hibernate&JPA

讲座:Hibernate&JPA

Hibernate

——比JDBC更高层次的抽象

Hibernate历史:

创始人:Gavin King

最早ORM(Object Relation Mapping):对象和数据表的映射

hibernate-tutorials-with-postgresql:
basic中两个配置文件:

 

 

讲座:maven入门

讲座:maven入门

2016-9-8下午,实验室讲座如期举行,主要内容是JDBC和Maven入门,重点如下:

JDBC概念

从一个小例子入手,介绍了JDBC的基本概念和使用方法,顺便总结了CLASSPATH环境变量的用法:在执行例子时,postgresql jdbc driver必须在CLASSPATH上。有两种方法可以做到这一点:

  1. 设置CLASSPATH环境变量
  2. java的cp命令行参数

Maven入门

重点介绍了Maven的核心思想:

  • 使用groupId/artifactId/version表达构件在中央仓库的坐标,解决第三方jar包的依赖关系。
  • 管理项目的生命周期管理及其相互依赖管理。
  • 约定重于配置思想的体现:标准的maven java项目的目录结构。

Maven应用实例

通过展现一个简单的pom.xml文件,介绍了pom.xml文件的基本结构和组成部分,希望大家通过不断使用加深对maven的理解。

 

314实验室讲座——软件工程

314实验室讲座——软件工程

讲座时间:2016-6-23,下午3:00-4:00。

软件工程(SE——Software Engineering

TUYI

 

se

一、需求分析

先整理一下老师在讲座中讲到的内容。

1)了解行业信息

想要根据客户的要求开发一个项目,首先要了解这个客户的行业信息。了解的越多,越深,你就会成为一个行业专家,不仅仅是专一于一个行业。

2)需求报告/说明书

在写报告与说明书时,不要穿插一些你的技术中的专业用语,要保证浅显易懂,尽量多使用甲方语言。报告中包括背景、功能描述(矩阵)以及如何实现等内容。

3)谁干什么

谁(Actor)干什么(use case——用例)

该点涉及UML

UMLUnified Modeling Language又称统一建模语言或标准 建模语言。

如果想下载可以去Ubuntu Software中心下载

Screenshot from 2016-06-26 20-14-11

补充:

软件需求包括 3 个不同的层次――业务需求、用户需求和功能需求。

1、业务需求Business requirement

表示组织或客户高层次的目标。业务需求通常来自项目投资人、购买产品的客户、实际用户的管理者、市场营销部门或产品策划部门。业务需求描述了组织为什么要开发一个系统,即组织希望达到的目标。

2、用户需求user requirement

描述的是用户的目标,或用户要求系统必须能完成的任务。也就是说用户需求描述了用户能使用系统来做些什么。

3、功能需求functional requirement

规定开发人员必须在产品中实现的软件功能,用户利用这些功能来完成任务,满足业务需求。

因为至今为止还没有接触过,所以有些地方理解的不透彻,望老师指正,以后会随时修改补充。

二、暑假任务(预告)

1、java(最好两周之内)

可以参考www.oracle.com

2、html

3、TCP/IP协议

4、B/S程序设计

6月19日实验室内部交流

6月19日实验室内部交流

6月19日下午3点,软件实验室在一号实验楼311进行了内部技术交流,主要内容如下:

封鑫、张钰罗华、胡安禄三人就查找方面与大家做了交流,宿老师也对讲课的方式提出了进一步的要求,并对即将到来的暑期做了规划。

<1> 要从定性和定量两个角度分析一个算法的优劣,算法是要应用到大量数据的,必须要用大量数据进行测试和检验。

<2> 注意讲课的方式与方法,推荐使用ppt、绘图等方法,力求课程的清晰、条理。

IMG_20160619_151959_HDR

IMG_20160619_154304_HDR

IMG_20160619_161350_HDR

接下来,宿老师结合实物就电脑主机的结构做了一定的讲解,使大家对计算机有了更加深入的认识,为大家的进一步学习培养了兴趣,打下了基础。

附张钰罗华课件:数据结构查找表

代码部分请移步:http://softlab.sdut.edu.cn:3000/fengxin/list

 

5月29日实验室技术交流

5月29日实验室技术交流

下午在311教室,由高自强、封鑫、高义升三位同学就图的概念、深度/广度搜索、最小生成树、最短路径等问题进行了探讨和交流,其中代码部分请大家移步:http://softlab.sdut.edu.cn:3000/gaoziqiang/Date_Structure/src/master/Graph

 

img_20160529_155916_hdr.jpg
img_20160529_152417_hdr.jpg img_20160529_150657_hdr.jpg

看到大家的不断进步,内心还是略激动的。希望大家把知识学的扎实些,再扎实些,比如如果使用图的广度/深度搜索算法去处理一棵二叉树会有怎样的结果?通过类似这样的比较和推演,加深对数据结构和算法的理解。

5月19日实验室内部交流

5月19日实验室内部交流

5月19日下午在311教师交流了《数据结构》中关于排序的算法和C语言实现,赵越伟和郑书亚两位同学的讲解还是比较到位的,表扬一下:-)。遗憾的是,忘记拍照片了。

大家在掌握排序算法的C语言实现的同时,也需要注意以下几点:

  • 算法的思想很重要:如何将复杂的问题转化为若干个简单的问题?这是算法的灵魂,也是最值得思考的地方。
  • 通过各种排序算法的比较获得实验数据,从定量和定性两个角度分析排序算法。
  • 注意培养自己的讲课(演讲)的能力,清晰的表达自己的思想。

最后,提前聊了聊暑假的安排问题,建议大家将暑假作为迅速提升能力的一个好机会:从程序设计语言的角度讲,一个暑假完全可以很好的学会一门语言,比如Java。打算在期末考试完到8月初的这段时间,集中精力帮助大家拿下Java,这样大家至少就掌握了C和Java,一个是面向过程的,一个是面向对象的,在这个基础上,再自学其他的程序设计语言就比较容易了。

附:

郑书亚的课件:冒泡排序和快速排序

赵越伟的课件:插入排序、希尔排序

 

5月12日小组内部交流

5月12日小组内部交流

关于二叉树的基本概念和C语言实现

Linux下的常见画图工具

尽早确立努力的方向

5月5日小组内部交流

5月5日小组内部交流

5月5日下午小组的内部交流主要内容有:

1,刘善雨同学和戴景鑫同学分享了数据结构中关于“队列”的理解和应用。在这里进一步强调一点,关于小组交流中涉及到的代码,大家可以通过git仓库分享和共同研究,也借此进一步熟悉git的用法。

IMG_20160505_153720_HDR

2,本人就“如何做笔记”这个话题和大家交流了一下,博文:如何记笔记 讲述的是我个人记笔记的方法,希望大家要注意总结适合于你自己的记笔记的方法,逐渐形成自己的习惯,逐步积累构建自己的知识框架。

在交流“记笔记”这个话题的同时,讲述了思维导图工具vym的使用方法,大家可以参考使用,具体可以参考:一个好用的思维导图工具vym

 

4月21日实验室内部技术交流

4月21日实验室内部技术交流

下午3点到6点,三位同学分别介绍了这段时间的学习心得,大家就其中的知识点和难点进行了讨论和澄清。

IMG_20160421_153958_HDR IMG_20160421_171223_HDR IMG_20160421_154002_HDR

总结一下知识点:

  • 一定要尽快学会和习惯使用调试器,可以使用GDB/DDD/Netbeans等等。调试器不仅仅可以有效的调试程序,还是学习编程的利器。
  • 关于如何借助于栈把中缀表达式转换为后缀表达式,需要把栈的变动情况一步一步画出来才能帮助更好的理解,希望大家能够亲自画一下栈的变化图。
  • 指向函数的指针也需要加强理解,主要是指向函数的指针的表示方法以及使用场合。

下次小组交流预告,有两方面内容:

  1. 请2位同学谈谈队列的概念、实现和用法;
  2. 大家相互交流一下知识积累的意义和方法;

大家加油!

4月14日实验室内部交流

4月14日实验室内部交流

今天下午3:00到6:00,实验室内部技术交流如期举行,共有两位同学分别讲了一下这段时间的学习心得。高自强同学就算法的概念和算法的复杂度分析和大家交流了一下,李榆汝同学就线性链表、双向链表的C语言实现和大家做了深入交流。

IMG_20160414_171809_HDR

从大家的反应来看,这种“小老师”的形式值得继续尝试,有几个原因:

  • 锻炼了在公众面前表述自己的思想的能力,这是将来把自己推销出去的重要训练;
  • 通过“小老师”,可以更清楚的了解学生哪些方面已经掌握了,哪些方面还比较薄弱,指导学习更有针对性了;

从今天下午的交流来看,大家共性的问题大致有如下几个:

  • 还需要加强对指针、内存分配和释放的理解,线性链表是个很好的练习。建议在编写数据结构的相关程序时配合画图理解,对变量的命名要保持前后意义一致。
  • 递归的用法建议阅读一下“谭浩强”的C语言教材中关于“汗诺塔”问题的解释;
  • 重视高等数学、线性代数等数学知识的学习,不要受教材、授课老师的影响。微积分建议阅读一下《托马斯微积分》,线性代数建议阅读一下《线性代数应该这样学》,都是优秀的理论和实践结合的好教材,不同于国内的数学教材只空洞的讲理论。
  • 关于当下火热的创业创新,个人观点,至少在大一大二,主要精力要放到学习上,创业先不要考虑,创新也要先打好基础。
跳至工具栏