2021软件创新实验室暑假集训总结篇

Posted Dreamchaser追梦

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2021软件创新实验室暑假集训总结篇相关的知识,希望对你有一定的参考价值。

系列文章目录

文章目录

前言


本博文为21届软件创新实验室暑假集训的总结,用于记录2021软件创新实验室暑假集训,为往后的实验室集训提供参考。

一、21届软件创新实验室暑假集训招新方案

1、我们是谁?

软件服务外包协会,最初是由吕心泳学姐在2016年创立的,当时的协会是以全国大学生服务创新应用大赛、浙江省服务外包大赛以及校服务外包大赛(A类竞赛)为核心建立,建立的初衷也是为了更好的服务于比赛,故名为软件服务外包协会。随着协会的发展,我们协会也不再仅仅局限于软件服务外包大赛,我们也负责宣传中国软件杯等比赛的宣传工作,同时承办校前端大赛。而协会成员的技术也丰富多样起来,不仅仅是服务外包的相关技术,更有深度学习,物联网,Java后端开发,前端开发等技术方向。

软件创新实验室,原名Java实验室,自吕心泳学姐创立协会后,实验室改名为软件创新实验室。软件创新实验室是软件服务外包协会下属单位,实验室成员默认为协会核心成员。

目前的实验室官网软件创新实验室 – 浙师大20-506 (buzhou.site)

2、参加集训有什么好处?

2.1 完成集训的同学不论是否加入实验室都会加德育分3分

2.2 实验室集训与协会的俱乐部创新课程息息相关,参加集训的20级同学基本上都能获得俱乐部创新学分1分,详见俱乐部课程常见问题&答疑汇总

2.3 加入实验室有很多很多好处:

  • 软件创新实验室宣传视频

  • 舒适的实验室环境以及不可多得的硬件设施

    加入实验室同学都会分配一个专门的实验室位子(该位子基本在数计所有实验室中算很大的了),专门的电脑(mac,惠普任选),实验室有自己投影仪,自己的服务器等等

  • 良好的技术氛围,优秀的制度管理

    我们实验室技术氛围浓厚,在这里你经常可以看到一大早就已经到实验室的同学,也有奋战到晚上10点的同学。当然啦我们实验室本身还是比较自由的,技术方向也广。我们也有一些制度促进我们的学习交流,比如学习小组(这就是为什么后面说分方向招新),博文评比制度,1对1老带新制度等等。相比于其他实验室,如acm,ctf,数模,我们的技术方向比较广,同时无论是技术前沿性还是实用性都是不错的,这就能让我们无论是考研还是就业都有不错的凭借。

  • 经验丰富的吴老师作为我们实验室的指导老师

  • 有机会接触到企业里的真实项目

3、集训时间

考虑到各种因素,本次集训从7月10日开始,为期20天,集训成员需在规定时间到20-506进行上课,上课有签到,如果有三次缺课且无正当理由的视为放弃集训资格,并被拉入实验室集训黑名单,后续集训将不能参加

上午为20级集训,下午为19级集训,晚上可能会有学长学姐来给大家进行讲座分享。

注:如果有无法控制的特殊情况,比如在集训期间有支教任务的,请提供相应证明并被允许后,方可进行线上集训,不过为了公平起见,此种情况考勤分减半

4、20级集训方案

经实验室成员讨论后决定20级授课以Javaweb为主要内容,具体方案如下:

4.1 课程安排(20级集训都安排在上午进行)

  • Java篇(8天)

    • 计算机的起源与大致原理(从不同角度理解计算机的发展,有空的话也会谈谈语言的自举)+Java发展概述与jdk安装+idea安装和大致使用(1天)
    • Java基础(一)——关键字、标示符、常量、变量、作用域(1天)
    • Java基础(二)——流程控制、基本运算符(1天)
    • Java基础(三)——方法、方法重载、数组(1天)
    • 面向对象思想(一):类与对象、封装与抽象(1天)
    • 面向对象思想(二):继承与接口(1天)
    • 面向对象原理——Java内存模型与生命周期、JVM简析(1天)
    • 源码阅读——以最常见的ArrayList入手看工业级类库如何构建?(1天)
  • 应用篇(8天)

    • mysql数据库与简单sql语句的使用(1天)
    • maven项目管理与git版本管理(1天)
    • jdbc及jdbc操作的封装(1天)
    • web前端——基本的html标签和css样式(简单网页的制作) (1天)
    • js学习(网页计算器)(1天)
    • 我们所说的前后端是什么?web应用原理解析+tomcat 服务器介绍(1天)
    • jsp的使用与原理(1天)
    • servlet的由来与使用,解析一个请求的一生(1天)
  • 项目总结篇(4天)

    • 总结时刻:这些天我们学了什么?知识串讲(1天)
    • 简单的demo项目实战(3天)

注:该课程安排十分紧凑,对于0基础的同学可能会很难,所以如果想要达到实验室招新标准,建议同学们课下自学Javaweb相关课程。

参考学习资料:

Java部分(【狂神说Java】Java零基础学习视频通俗易懂_哔哩哔哩_bilibili

前端部分:超牛的Web前端全套视频教程!【HTML5+CSS3+JS】自学速成完整版教学,轻松掌握Web前端所有知识点!!_哔哩哔哩_bilibili

web项目部分:【狂神说Java】JavaWeb入门到实战_哔哩哔哩_bilibili

考虑大部分人是0基础而且集训时间较短,所以推荐的都是一些比较短的入门视频,如果想深入学习,建议学习那些详细资料。

4.2 大作业

为了让更多同学能够完成基本作业要求,

我们将大作业分为三个部分——Java部分,项目开发部分,前端页面部分。

参加集训的同学完成上述任一部分即为合格,如果想参与招新则至少选择上述两个部分。

给分标准:大作业分数=平均分(所做部分的分数之和/所做部分数量)*权重

权重标准

完成一个部分:60%

完成两个部分:100%

完成三个部分:150%

大作业方向为制作一个小网站,具体题目会在集训结束后给出。

5、19级集训方案

19级招新采用分方向招新的策略

目前实验室可接收方向大致分为——Java后端开发、web端开发、移动端开发。

5.1.报名

报名者在报名时需选择对应的方向参加(报名时方向可以选择暂定,但是大作业阶段必须选择一个方向)。

如果有自己想要参加的方向不在上述方向中时,我们会进行统计,在有一定人数的情况下,我们会去寻找对应方向的学长学姐帮忙进行出题审核。如果该方向的报名人数不足或者无该方向的学长学姐愿意帮忙出题审核,那么报名者需要在大作业阶段在上述方向中选择其一参加。

5.2.集训方案

集训课程由上述三个方向以及后面增加的人工智能赛道组成,以知识分享的形式开展,各个方向的课程穿插。

至少考勤8次,自己方向的课程必须选择,可以另外选择自己感兴趣的方向课程

注:考虑到19级分方向发展,个性化需求比较大,所以一般来讲,19级是不会有日常作业。目的是想让19级有更多时间去学自己感兴趣的技术,而不被课上的东西束缚了手脚,我们更多的是想给19级同学起到一种引导的作用,对于那些方向不明确的同学,也可以有机会了解到各个方向的内容,以便为日后选择方向提供参考。

5.3.大作业

背景介绍

在以往的协会招新和实验室招新的过程中,我们发现一个问题,那就是宣传不足,尽管我们有自己的公众号和WordPress制作的官网,但是效果不尽如人意。

很多时候,我们无法将我们协会和实验室的优点宣传出去,我们开展的活动往往无人问津。在以往的接触中,很多同学对我们协会、我们实验室的了解仅仅停留在名字上,甚至有些即将毕业的学长学姐都没有听过我们协会和实验室的名字。

这使我们不得不反思宣传的不足,于是我们有了自己开发协会/实验室官网的想法,一个是为了更好的展示我们协会和实验室的风采,一个也是为了我们协会/实验室开展活动之便。

需求简介

…已被加密…

具体需求会在集训结束后给出,这里给出大作业方向是为了让同学更有目的地去学习,项目驱动一直是我们实验室学习的方法之一。

注意:后端在进行设计时最好考虑到需求的可变性,这样在未来需求变化时也能以最小的代价修改,如果能体现这点会有额外加分

评分标准

共有标准:

1.代码的可阅读性和可维护性

2.文档描述是否清晰

3.未出现抄袭情况

后端标准:

1.是否完成了基本需求和接口任务

2.设计是否合理

3.是否考虑到需求的可变性

4.是否有亮点

前端标准(web端、移动端):

1.页面是否美观

2.交互是否合理

3.用原生代码写而不用框架会有加分(但如果出现引用代码还当做原生视为抄袭,会被评为低权重)

4.如果图片,视频,图标等素材原创,会根据情况加分(实验室缺少美工人才)

作业形式

为了模拟真实的项目开发过程,我们在确定基本需求后,会给大家提供一套接口。

届时后端实现接口,也可以根据自己的设计拓展接口(务必考虑到接口设计的合理性),

前端根据提供的模拟接口来编写项目,如果有另外需要的接口可以在文档中注明。

完成项目,将项目源码和文档上传至gitee,提交时发送仓库地址即可。

注:人工智能赛道的题目将在集训结束后公布

6、评审标准

最终分数=(考勤分+平时表现分+大作业成绩)*面试权重

考勤分:日常签到的分数 (10%)

平时成绩:日常作业,成绩由主讲人决定(20%)

平时表现分:主讲人上课时会可能问一些问题以活跃课堂气氛,这个看课堂表现给分,原则上每次上课不能超过一分。
大作业成绩:这部分占分数的大部分,根据多个维度(如代码规范,所用技术,是否有亮点,文档编写,遇到问题的解决方案等等)来打分,至少两人打分,然后取平均分。(70%)
面试权重:为防止抄袭作弊的情况出现,我们会对有机会进实验室的同学进行面试,会围绕项目问问题,候选人需要演示项目同时回答面试人的问题。面试人根据候选人的面试情况给出权重(没作弊,独立完成的一般都会给到1;对于有亮点,遇到问题的解决思路有创新的可以适当提高权重;对于有抄袭嫌疑,或者有部分代码搬运但未注明的视情况降低权重,如果被认定为抄袭则权重为0并拉入实验室集训黑名单)。

注意事项:抄袭是历届实验室集训的红线,如果被确认为抄袭则取消集训成绩,并拉入实验室集训黑名单,禁止参加日后的实验室集训。切记!

7、关于实验室招新人数

本次招新招15人左右,19级和20级大致1:1招新,可以根据情况调整,如果优秀的人多可以多招,少的话可以减少名额。

总之,实验室招新坚持一个标准——欢迎那些对技术有追求的有志青年加入我们,我们一起追求技术的高度,享受技术的乐趣!

我们欢迎更多的小伙伴加入我们软件创新实验室这个大家庭,期待与你相见!

二、20大作业

总述

为了让更多同学能够完成基本作业要求,

我们将大作业分为三个部分——Java部分,项目开发部分,前端页面部分。

参加集训的同学完成上述任一部分即为合格,如果想参与招新则至少选择上述两个部分。

1.Java部分

1.1 作业内容

用Java封装一个自己熟知的数据结构,注意代码规范,可以参考jdk中集合类的实现。

1.2 提交要求

将代码上传至gitee。

同时需要在作业文档(Markdown)里写上相应的设计思路,实现过程中遇到的困难和解决思路以及心得体会等等。

1.3 评分标准

1.代码的鲁棒性

2.代码规范

3.方法设计是否合理(注意变量、方法权限设计,即只需开放用户使用的方法即可)

4.对于使用者来说是否方便

5.是否运用了一些高级技巧(泛型,异常,甚至是并发、反射等等。当然,要运用合理,盲目使用是不给分的)

2.项目开发部分&前端页面部分

2.1 背景介绍

本届实验室集训主题为实验室官网开发,故此次大作业也和此相关。本题目脱胎于19级作业里的学习小组功能,项目立足点也在于实验室的学习小组。

学习小组:实验室成员根据自己的发展方向确定自己的学习小组,比如Java后端开发学习小组,前端开发学习小组,游戏开发学习小组,人工智能学习小组等等。每个小组都有自己的活动,可以有相关领域的学习交流,经验分享等等,在每月底实验室会进行小组报告,报告过去的一个月的学习情况等等。

2.2 需求

2.2.1 前后台

前台主要做展示交互

后台可以对完整进行管理设置

注:这个其实可以设计成两种页面(能实现功能即可)

2.2.2 权限管理

权限有两种:普通用户管理员

普通用户登录后可以在前台浏览和评论,可以创建或者加入相应的学习小组

管理员可以登录后台,可以对用户、学习小组、评论等进行管理

2.2.3 用户注册和登录

注册:填写相关信息即可注册成功

登录:输入正确的账号密码即可登录成功

2.2.4 用户管理

管理员可以对用户信息进行管理(增加、修改、删除)

2.2.5 多级评论

可以展示多级评论(至少两级)

评论需要展示评论内容,评论时间,评论用户

用户可以对评论进行回复

2.2.6 学习小组

用户可以创建自己的学习小组,其他用户可以选择加入学习小组

小组成员可以发起或者查看相应的话题讨论

在对应的话题讨论中可以发表评论看法

2.2.7 其他功能

同学们可以根据自己的理解去设计拓展一些合理的功能。

2.3 提交要求

将代码上传至gitee。

同时需要在作业文档(Markdown)里写上相应的设计思路,实现过程中遇到的困难和解决思路,以及心得体会等等。

2.4 评分标准

前端页面部分

1.页面设计是否美观

2.交互设计是否合理

3.与后端交互是否合理

4.代码编写是否有条理

5.运用UI、js框架/原生开发(原生开发分数会高一些)

6.是否完成了功能

7.是否对功能进行了合理拓展

项目开发部分

1.数据建模(数据库设计)是否合理

2.是否运用mvc思想来分层设计

3.项目框架是否清晰符合规范

4.代码是否符合规范(变量、方法命名是否规范,关键代码是否有注释等等)

5.项目设计是否合理(主要是指如何设计解决相对应的需求)

6.是否完成了功能

7.是否对功能进行了合理拓展

3.给分标准

大作业分数=平均分(所做部分的分数之和/所做部分数量)*权重

权重标准

完成一个部分:60%

完成两个部分:100%

完成三个部分:150%


以上作业代码需要提交到gitee,链接附在作业文档里(Markdown),文档里主要是介绍设计思路,讲讲你是如何一步步实现的,实现过程中遇到的困难和解决思路,以及心得体会等等。

注:以上作业对于同学们来说可能会有点难度,这就需要大家自己去探索解决问题。而这点也是我们今后过程中所必须要学会的,**在今后的道路上,没有一定要帮你的人,一切都需要靠自己。希望大家能尽自己所能,独立去完成此次作业。**期待你的精彩表现!

你的水平是我们考量的标准,同时你的态度也决定了你是否能进入实验室,我们希望加入我们实验室的是那些真正愿意努力,愿意学习的同学。

最后提醒一遍,抄袭是实验室集训的红线,一经发现,立即取消集训成绩,并被拉入集训黑名单,就算侥幸靠抄袭进入实验室,被发现后也会被劝退。切记!

2021年7月30日

浙江师范大学软件创新实验室

三、19级大作业


以下为开发赛道大作业。

1.背景介绍

在以往的协会招新和实验室招新的过程中,我们发现一个问题,那就是宣传不足,尽管我们有自己的公众号和WordPress制作的官网,但是效果不尽如人意。

很多时候,我们无法将我们协会和实验室的优点宣传出去,我们开展的活动往往无人问津。在以往的接触中,很多同学对我们协会、我们实验室的了解仅仅停留在名字上,甚至有些即将毕业的学长学姐都没有听过我们协会和实验室的名字。

这使我们不得不反思宣传的不足,于是我们有了自己开发实验室官网的想法,一个是为了更好的展示我们实验室的风采,一个也是为了我们实验室开展活动之便。

2.需求简介

2.1 前后台(必做)

前台主要做展示交互

后台可以对完整进行管理设置

注:以下功能并未注明哪些是前台,哪些是后台,这个需要大家根据自己的经验合理分配

2.2 权限管理(必做)

网站权限设计中,分为普通用户,实验室成员,系统管理员三个角色。

普通用户:可以进入网站前台进行浏览,包括浏览成员博文,成员简介,实验室发展历史等,也可以发表评论,参与留言

实验室成员:除了以上权限外,实验室成员可以参与实验室内部的讨论,查看实验室内部的资源,登录后台发布博文等等

系统管理员:除了以上权限外,系统管理员可以对网站进行管理,如发布公告,管理用户等等

2.3 评论设计(必做)

可以展示多级评论(至少两级)

评论需要展示评论内容,评论时间,评论用户

用户可以对评论进行回复

注:评论功能可以参考各个网站/app的设计,要求和他们差不多

2.4 用户注册(必做)

用户注册时填写相关个人信息即可注册(刚注册时是普通用户)

同时需要绑定登录账号,比如邮箱、手机号等作为找回密码的依据(这里推荐邮箱注册,因为比较简单)

注意要进行验证操作(发送验证码,如果是邮箱就发邮件,手机号就发短信)

2.5 多方式登录(选做)

登录可以账号密码(这个必须有)

如果有能力的也可以另外再去弄微信、qq第三方登录方式登录

2.6 成员信息管理(必做)

后台可以对用户进行管理,比如授权

2.7 博文模块(必做)

可以展示实验室实验室同学最近写的优秀博文

点击博文详情可以进行查看

博文可以进行点赞,收藏,评论等互动操作

用户可以编写博文并发布,如果未编写完成也可以保存在草稿箱内

用户可以对自己的博文进行管理(修改,删除,设置不可见等)

2.8 公告模块(必做)

网站首页应该有公告显示

管理员可以在后台发布公告

公告应该可以有公告内容,发布人,发布时间等

2.9 消息通知功能(必做)

需要有消息通知界面,用户博文被点赞、评论,评论被回复等情况需要收到相应的消息通知(有能力的同学可以再发一封邮件告知用户)

2.10 个人信息模块(必做)

个人风采展示

比如个人介绍,曾任职的职位,技术方向,写的博文等等

注:这个需要自己去设计拓展合理的功能

个人信息修改

用户可以修改自己的账号信息

2.11活动模块(选做)

可以查看最近的实验室/协会活动。

点开可以看到活动详情,点击报名填写相关信息后即为报名成功。

可以在活动下方评论

2.12 学习小组功能(选做)

注:该功能对应到我们实验室的学习小组,比如Java后端学习,前端开发学习小组等等,所以同学们可以发挥自己的想象去设计完成学习小组的功能

实验室成员可以创建学习小组(可以设置加入权限,比如实验室成员才可以加入,或者所有人都可以加入)

学习小组需要有名称,简介等信息

学习小组功能里有话题讨论功能,所有人都可以参加讨论

自己的写的博文可以关联到学习小组,这样关联的学习小组页面就会有相应的博文展示

用户可以加入相应的学习小组

2.13 集训功能(选做)

集训报名

信息收集

作业发布与提交

发布作业者评分

2.14 拓展模块/功能(选做)

根据自己对未来可能出现的需求进行补充,需求合理可额外加分

比如用户有职位称号,比如游客,实验室成员,宣传部部长,实验室负责人等等

注:首页实验室风采展示

前端页面需要能展示实验室风采,可以播放实验室宣传视频,可以展现实验室最近的活动,以及博文推荐(页面设计需要气派一点)

3.作业模式

以上需求适用于Java后端开发、网页端开发和移动端开发三个赛道。

为模拟真实的团队开发,我们会提供一套接口(只有部分接口,其他接口需要自行拓展),前后端分离开发。

后端需要根据需求设计系统,同时实现相应的接口,对于一些可能的接口做出拓展。

前端(网页端和移动端)根据提供的接口去设计页面,如果有另外需要的接口需要自行编写接口文件到相关mock平台(建议放在apifox中,这样可以获取模拟数据),前端根据需求进行前端页面设计和编写,同时根据提供的接口和自行设计的接口和后端进行交互。

注:因为每个人的系统设计会各有不同,接口设计也并不唯一,我们不想因为接口限制住大家的发挥。所以如果觉得提供的接口设计的不合理,不能满足自己的系统设计,可以在作业文档里说明原因以及你的设计思路,我们期待大家的精彩表现。
附上接口文档地址:https://www.apipark.cn/s/5b12208b-1208-4463-84fc-7bc96b36b862

4. web前端赛道

作业要求

  • 选择web赛道的同学主要只要完成前端部分就可以了,考核的重点是页面的美观性和实用性,如果能够前端后端都实现的话可以加分

  • 前端要求:

    • 尽可能减少页面刷新次数,降低网站负荷,提高网页性能
    • 尽量降低网页容量,实现较少的页面跳转
    • 页面设计美观大气,UI设计简洁干净
    • 代码清晰,有比较完整统一的注释和注释规则
  • 文档要求:

    • 尽可能的要加入自己的设计初稿图,也就是简单的页面设计图

    • 要求展示页面的运行结果,说明各个模块运用的主要技术,以及指明模块对应的代码是哪一部分(可以用表格的形式写明每一个代码文件中包含了哪些内容或功能)

非常重要的一点,一定要原创

提交

8.21号22:00前发到邮箱XXXX@qq.com

注意命名格式,尽量符合命名法则。

注意将图片、css文件、js文件等分类放置

除代码部分外,还需要写一份文档,符合前面的文档要求

评分标准

基础得分

  • 项目完整度(必做模块) 50%
  • 页面ui框架(layui或其他)与设计(简洁实用) 10%
  • 页面设计美观大方 10%
  • 页面刷新频率与网页容量(尽可能小) 10%
  • 代码规范及框架使用(vue或其他) 10%

加分项

  • 选做模块的完成度

  • 同时完成了后端设计

  • 页面与ui设计格外具有创意

5. Java后端开发赛道

作业要求

技术选择

  • 仅要求使用Java开发,其他技术使用不限。
  • 建议使用SpringBoot集成SSM开发

代码编写

  • 代码可读性强,关键代码需要有相应注释
  • 注意代码的鲁棒性
  • 代码耦合度低
  • 符合代码规范,文件、变量命名需要规范

系统/功能设计

  • 实现提供的接口,如果因为系统设计不想实现请在文档中说明原因以及你的解决方案
  • 根据需求拓展合理的接口,接口设计需要合理
  • 系统设计合理,对于未来可能的需求具有一定的拓展性

文档编写

  • 你的设计思路(包括技术栈选择,数据建模,框架搭建)
  • 图文展示,需要有对应的设计图,比如项目的架构图,数据建模的ER图等
  • 你遇到的问题以及解决办法
  • 你的收获

注:也可以选择全栈开发(前后端都自己来),那样分数上限会更高,不过需要注意完成作业中的需求

评分标准

基础得分

  • 代码编写是否规范 10%
  • 基本接口是否完成 20%
  • 文档编写是否规范 10%
  • 系统设计(包括技术栈选择、数据建模、框架设计等)是否合理,是否能解决最基本(必做)的需求 60%

加分项

  • 针对自己的设计拓展出一些使用的接口,完成拓展模块 每个拓展模块10%
  • 代码具有良好的鲁棒性 10%
  • 合理利用Java的高级特性 10%
  • 系统具有良好的拓展性,可以对未来可能的需求的做出适应 10%
  • 系统设计思路新颖实用 10%
  • 遇到问题时,具有良好的定位问题、解决问题的能力(这个在文档中体现) 10%
  • 文档编写通俗易懂,图文并茂 10%

提交

代码上传至gitee,文档发布至任一博客平台(建议csdn),以“【21届软件创新实验室暑假集训】XX赛道大作业”的形式命名。8.21号22:00前将gitee链接和作业文档链接发到邮箱XXXX@qq.com即可。

6.移动端赛道

注:移动端不止只微信小程序,安卓、ios皆可。

作业要求

项目要求

  • 尊重用户信息和权利
    • 有操作成功/失败等相关提示信息
    • 用词礼貌准确,尊重用户隐私
  • 移动端上的操作对用户友好
    • 合理解决移动端屏幕大小等问题可能带来的操作不便
    • 多使用移动端的特色手势控制,但要避免可能的误操作
    • 重点可操作的一系列控件有突出提示,避免其他无关信息的干扰
    • 减少用户长时间的等待,在出现异常时给予用户合理的反馈
  • 页面UI设计美观,布局合理
    • 布局清晰,排版合理,有导航模块,能让用户快速找到相关信息模块
    • UI设计主题统一美观,色彩有一定搭配,不要花里胡哨
    • 字体、列表、按钮、图标、导航等等统一规范,依据是自己设计的主题
  • 合理处理与展示相关数据
    • 成功获取/存储数据
    • 成功展示数据,且结合其他要求,合理且直观的展示
  • 熟练运用授课知识
  • 代码美观,使用模块化,注释清晰,可读性强
  • 更多详见👉微信小程序设计指南 | 微信开放文档 (qq.com)

文档要求

  • 文档简洁明了
  • UI排版等主题的设计思路(不接受完全贴图展示,要求写明设计理念、目的等文字描述)
  • 开发过程记录,包括但不限于遇到的问题,解决问题的过程,与开发完成后的总结等

评分标准

基础得分

  • 页面设计美观合理 20%
  • 功能模块正常工作 35%
  • 代码美观, 使用模块化, 注释清晰 10%
  • 上述其余项目要求 15%
  • 上述文档要求 20%

加分项

  • 使用小程序其他框架开发
  • 使用云开发技术
  • 个人实现前后端,此项可结合云开发
  • PC端使用小程序适配

提交

代码上传至gitee,文档发布至任一博客平台(建议csdn),以“【21届软件创新实验室暑假集训】XX赛道大作业”的形式命名。8.21号22:00前将gitee链接和作业文档链接发到邮箱XXX@qq.com即可。

7.人工智能赛道

解图片中的九宫格数独

背景介绍

数独游戏介绍:玩家需要在九宫格中,根据已知的数字,利用逻辑和推理能力,填出所有的空格中应有的数字。

游戏要求:

  1. 每行、每列和每宫都要不重复地包含数字0-9。
  2. 每行、每列和每宫中1-9都必须出现且只能出现一次

项目介绍

项目简介

给一张数独的图片,识别出数字,并求解数独。(图片上的数字限定为印刷体)

  • 识别数字
  • 生成数独并解决它
  • 显示输出

技术要求

由于本次暑假集训主要学习的人脸识别用到的是python + opencv库,所以此次要求:

  • 编程语言:python
  • 主要使用的库:opencv

项目示例

给出一张数独的照片,如下:

识别照片上的数独,然后求解数独并展示结果

数据集说明

由于本次所使用的照片已经限定为印刷体,非常容易制作,同学们可自行打开excel制作数据集,也可上网寻找

提交要求

  • 请以压缩包形式(班级+姓名)上传至邮箱 XXXX@163.com,并再上传一份至gitee

  • 请注意文件的命名,包括文件夹、图片、py文件。

  • 请将所有用到的照片先放入一个文件夹;之后再分类将照片放入测试集文件夹、训练集文件夹

  • 请同时需要在作业文档(Markdown)里写上相应的设计思路,实现过程中遇到的困难和解决思路,以及心得体会等等

  • 请提交一个read me文档(写清楚项目的思路,每个.py文件的内容,如何运行、运行的环境等等)

  • 请写一个模型评估文档

评分标准

基本给分点:

  • 是否使用了python
  • 是否使用opencv库
  • 代码里写的每个函数,请做好注释,注释内容包括:函数功能说明、参数说明、返回说明
  • 项目的完整度(如做出完整的项目,并另外提交以上文件,可得到及格分60)

加分项

  • 可视化的界面
  • 文档中对算法、项目思路的描写细致程度
  • 后期答辩的表现(鉴定是否抄袭的依据,问得很细致)

四、集训评价摘录

注:以下评价是学校要求写的,至于谁写完全自愿,没有强迫,也没有修改

1.评价一(19级某女生)

首先,十分感谢各位实验室的同学能繁忙的项目学习中抽出部分时间给予我们无偿的课程教学。其次,在此次暑期集训过程,本人对计算机知识和计算机领域有了更深入的了解,收获颇丰。以下是本人对于此次暑期集训的收获与感想。

一、教学方向多样,有助于参加集训的同学明确未来职业规划方向。此次集训课程设置了web前端、Java后端、小程序、人工智能四种课程。这四个方向都是计算机学生今后毕业就业的大方向。使得原本对未来职业规划不明确的本人对于这四个方向有更加清晰的了解,未来职业规划方向更加明确。

二、教学内容多样,开阔同学视野。此次集训,主讲同学给我们介绍了许多在课堂上没有的知识和技术。比如Java后端使用到的mybatis、Spring、SpringBoot等框架,这使得在学校选修课程中仅仅学习了8周Java课程的我们大开眼界,原来实际开发中可能会用到这么多框架。而在Web前端方面,主讲同学也让我意识到,Web前端不止HTML、CSS和javascript。除此之外,微信小程序入门让我觉得新奇,人工智能算法让我眼花。总之,在此次集训学习中,见识到了许多技术、框架及相关工具的使用,见到了一些课堂上老师没有教授的东西,开阔了视野。

三、主讲同学备课及讲课态度认真。每一位主讲同学都认真准备了讲课内容并且整理成了博文提供给我们课前及课后阅读参考。课上讲课态度温和且认真,采用边讲边演示的讲课方式,让我对相关工具的使用更加了解。

四、优秀学长学姐分享经验,有助于同学了解相关领域的就业环境。本次集训,实验室邀请了6位已经就业的优秀学长学姐给我们讲述他们的经历和就业环境现状。让我们更加了解到想要进大厂该如何规划自己的大学学习,解决就业还是考研的疑惑等。让我对自己的未来有了更多的思考。

综上,此次软件创新实验室暑期集训很好,对我未来的学习规划和职业规划有很大的帮助,让我的职业规划方向更加明确。再次感谢实验室的主讲同学们。祝你们前程似锦,辛苦了!

2.评价二(19级某男生)

十分庆幸,在上一学期的某次机缘巧合下来听了一次周末的知识分享,从而了解了这个强者云集的实验室:认识到自己之前的大学学习一直拘束在自己的一隅方圆之中、短视而自大,从未去见过、甚至未曾想象过我视线所及之外的世界是如何的。但那一次“小觉醒”也仅仅只持续了一小段时间,整个人便又沉沦到之前的状态中去了;唯有在看到了“实验室集训”的告示后才猛然忆起,也由此在“回家的诱惑”和自我提升的抉择之间当即选择了后者,报上了名——事实也证明,那时头脑一热下的决心确实带给了我极大的裨益。

作为19级的学习者,被安排的上课内容方向较多、课程规划时间也比较宽松,而在看到了20级的课程安排、对两者作对比的时候,其实自己内心更倾向于后者:20级那种规定方向、紧凑的学习模式和固定的作业要求,似乎更加契合我的学习模式——那种在初高中一日日训练出来的、被动的学习模式。但在真正开始上课之后,才发觉正是这种思维,很大程度上导致我一直停滞在自己的小圈子里:缺乏自学能力和主动性,一直在等候着他人的指令。在身居实验室听课、学习的这段日子里,一直感受着周遭那种超自律的自学的氛围,自己也慢慢地会去主动搜索知识和资源来进行拓展性学习了——这与过去的“为了作业”、“为了考试”的学习带来的感觉不同;这样的学习,带给我的反馈是更具充实感和成就感,同时也鲜有厌倦之意。但这样的感受唯有在实验室期间是有的,一等到“休息日”窝到寝室里,那种状态就慢慢下滑、显露出我的本态来了;由此看来,实验室的那个学习环境是一级棒的“培养皿”呀!

比接触、体验到新的学习模式和方法更令我兴奋的,是我终于在计算机领域找到了“心之所向”。因为实验室的课程学习规定和多种赛道的机制,我在半被动的情况下浅尝了人工智能领域的内容,整颗心却像是全被她衔去了:课余时间自己竟能够主动拒绝游戏的诱惑,花空闲时间来学习一些未曾涉及的算法知识,这在我之前学习前端、后端乃至移动端的过程中是全然未曾体验过的经历。若是没有参与这一次集训,自己或许都难有机会认识到自己对这方面有如此浓厚的兴趣,或许整个大学时光乃至之后好长一段时间,都会在那个心中不太欢喜、全听着他人的建议选择的“后端”领域中徘徊、挣扎了。虽然当下自己在这一新领域的基础还很薄弱,学校为我们专业安排的课程也很难与这一方向有交集,但内心的一腔渴望,已难以让我拒绝其吸引力了。想来,抱持着对新事物的好奇和慢慢的动力去探索新领域,正是念大学的真正意义所在吧?感谢能够有这一次集训的机会,让我有机会好好看看自己、看看自己脚下正在走的路!

在认清自己现状、确认自己的道路之外,听了好些身处大厂的学长学姐为我们做的分享,让我对于自身未来可能会走的道路、可能会面临的抉择也有了一定的轮廓概念,对于自己之后的考研路也有了一定的想法和规划。虽然目前对有些大视角下的言辞还不太能够完全理解明白,但这些学姐学长们作为“过来人”分享的经验,总是比自己去网上瞎逛瞎找要有借鉴意义的多啦~
(码的有点多了…不过300字感觉实在很难把这段时间的体悟全部表达出来呀!)

3.评价三(20级某男生)

20天集训下来,从一开始的java初识,到后来的网页前后端开发,我经历了许多的艰辛与收获。

一开始学习java的时候,因为有着一定的c语言基础,学起来还是相对轻松的。后来学习到项目开发的时候,毕竟之前很少接触,是会感到有点力不从心,这也更加要求我们需要自律,多多课下去总结自学,才能有更好的收获。

在集训过程中,我也学到了很多有意思的知识。比如环境变量的配置,面向对象开发,自行查看源码等等。通过实践,我自行设计了一些有意义的项目,也制作了许多网页,实现了自己以前敢想却不敢做的工程。总而言之,这次集训我的收获颇丰。

集训虽然已经结束,但结束往往意味着新的开始。路就在脚下,让我们一步步勇敢地迈出前程!

4.评价四(19级某男生)

这二十多天的集训下来,我对后端、前端和微信小程序有了一定的基础,集训的老师们讲究要点,从易到难开始逐步讲解,代码我也一步一步去解释。条理清晰,每行代码每条注释有理有据。我发现这样的线下课程和线上课程比起来,我认为效率高多了,因为线下课程通过各个方向的老师们会通过他们的经验最主要是通过学生的视角来跟我们讲述知识,因为有时候学校里的老师讲的比较抽象,就不太好懂。

我总结了以下对集训的优点:

  • 字字句句是重点,对一些概念直接通过代码演示来解释我觉得就非常好理解

  • 浅显易懂,比较好理解知识

  • 给予同学代码测试时间,自己对代码和知识理解更深

  • 不懂的问题可以当场或者线下提问,对学校老师不好意思开口但是现在上课是同学上课方便直接询问回答也积极

  • 还邀请了学长学姐的知识、就业、考研等的一些分享,给我们这些摸不着头脑的大二学生指明方向

    对于这次集训感觉收获很多,可以学到课本以外的知识,我也意识到学校里教的东西是远远不够的只有通过自我学习其他更广的东西,毕业后才更好的就业,这次集训就是一次契机!

5.评价五(20级某男生)

本次集训总的感觉难度较大,但也掌握了许多新鲜有趣实用的知识。

从课程安排上看,上课时间紧凑,课后也需要自己花费时间进行自学消化,
我根据自己的需求和时间重点学习了javaweb技术,细节方面比如有,用
css,html写静态页面,js动态修改html和css代码,servlet程序,部署tomcat服务器等。

值得一提的是,学长在最后3节课带我们做了个demo项目,现场直播,可以看到,学长完成一个项目也不是一帆风顺的,也需要面向百度编程。

从学习效果看,收获还是很大的,特别是学长学姐的关于就业、考研的经验分享,确实对大一刚结束的学生很有帮助,同时集训课程如上所述,提升了实操能力(写代码,配环境,高效地利用工具)。

总体来说,参加集训,然后课后多学,就能收获满满!


当然了,以上只是选了部分的评价,这里就不继续放了

五、集训录取情况

本次集训的大作业难度我们也是知道的,对于大部分同学来说,都非常难,需要花费很多时间去学习探索,这也是为什么我在一开始就提供了学习的参考资料以供大家去自学。

但是,令人难能可贵的是,在这种情况下,依然有一部分非常不错的大作业,可见还是有一部分同学在平时愿意去花时间去学习课外的内容。

最终,经过筛选,21届软件创新实验室招新暑假集训录取13名20级同学,4名19级同学,共计17名同学,欢迎这17位同学加入我们软件创新实验室这个大家庭,在接下来的日子里,我们将一起进步,共同探索技术的快乐。

六、集训总结

总体来看,这次集训效果还是不错的。

这离不开实验室的各位同学的辛苦付出。从一开始的方案讨论,安排课程,到后面的邀请优秀毕业学长学姐进行讲座,发布各种通知,准备各自的课程,撰写相应的博客,布置课后作业以及统计各种表格(包括参训同学名单统计、线下线上考勤、平时作业评分、大作业评分等等),再到统计总分表,收集各种资料,筛选新一批的实验室同学…

这一切都脱不开大家的努力。在这里我以实验室负责人的身份感谢各位同学的辛勤付出,感谢你们!

当然啦,这次集训还有需要改进的地方,比如线上线下考勤统计出现了点小问题以至于并不能统计出考勤拉黑的19级同学;又比如讲课进度问题,很难把控节奏,不过这也和参训同学水平参差不齐有关(有的已经快学完了,有的可能是零基础)…

最后,我们欢迎大家为此次集训提供任何宝贵的建议,我们也会认真听取大家的意见或建议以求更好的集训效果。


愿我们以梦为马,不负人生韶华!
与君共勉

以上是关于2021软件创新实验室暑假集训总结篇的主要内容,如果未能解决你的问题,请参考以下文章

2021软件创新实验室暑假集训SpringBoot框架

2021软件创新实验室暑假集训SpringMVC框架(设计原理简单使用源码探究)

2021软件创新实验室暑假集训SpringBoot框架

2021软件创新实验室暑假集训JDBC(原理使用以及实现简单的数据库连接池)

2021软件创新实验室暑假集训SpringMVC框架(设计原理简单使用源码探究)

2021软件创新实验室暑假集训JDBC(原理使用以及实现简单的数据库连接池)