此作业的要求参见[https://edu.cnblogs.com/campus/nenu/2019fall/homework/5522]

2. 博客作业

(1)回想一下你曾经对计算机专业的畅想

当初你是如何做出选择计算机专业的决定的? 

答:在读高中时,我一直认为自己是个对理科悟性很好的人,所以在挑选大学专业时,只考虑了工科方向,计算机在当时乃至现在都是很热门的专业,在家人的劝说下就报了这个专业,我当时对自己的规划是毕业之后进入银行,从事相关工作。

你认为过去接触到的课程是否符合你对计算机专业的期待,为什么?

答:在理论方面,大学所开设的课程基本已经满足我的期待,但是有点过于繁杂,容易理不清头绪,在实践上,太过缺少,一大部分同学毕业时依然没有一技之长。

你觉得计算机是你喜欢的领域吗,它是你擅长的领域吗?

答:计算机是我喜欢的领域,但就目前而言,它并不是我擅长的领域。我喜欢自学时沉浸在一个知识点的专注感和学会或者做出一个东西的成就感,但大学的碌碌无为,使我的基础知识过于薄弱,缺乏系统化,并且找不到自己现在适合专注的方向,这是我的当务之急。

(2)考取研究生,对照前人们走过的路和描述未来发展,现在的你自我感觉你已经具备的专业知识、技能、能力有哪些?

答:我已经具备的专业知识主要是本科教授的那些基础知识,如数据结构、计算机组成原理、操作系统等,技能就是能用C编写一些常见的小程序,能力是自学能力和协作能力。

离成为一个合格的计算机学生,在专业知识、技能、能力上还差距哪些?

答:想成为一名合格的计算机学生,在专业知识上还缺系统化的整理,深入的学习和有方向的研究,在技能上缺乏对大规模程序良好的编程,缺乏对于项目从构建到开发到试用、推广到完善这一系列的过程中任何一个环节能做到很好的能力。

(3)每天都是一个人生选择的十字路口,学术研究、工程项目、社会实践 (?) ,不同的选择有不同的努力方向。

对照以上你阅读的前人们的经历,你的选择是什么?

在这种选择下,你认为你相比其他同学来说有何优势,有何劣势?

针对你的选择,你给自己的本学期的规划是什么?

答:我的选择是学术研究。我的优势在于我的自学能力和专注度较强,劣势在于我目前还不知道我该朝着什么方向研究并且我缺乏相关的经验。

本学期的规划是首先对于已经选择的研究生课程认真学好,其次尽快找到自己的研究方向,然后选择性阅读相关文献和书籍,并将Python这门语言学好。

(4)你对这门课的期待是什么?

你打算平均每周拿出多少个小时用在这门课上?

答:我对这门课的期待是在这门课程结束时我能从一个项目开发的“小白”转变成一个真正能跟团队合作开发一些小型项目的开发人员。

我打算平均每周至少拿出10个小时用在这门课上,因为基础不好,所以可能实际会花费更长的时间。

3.博客作业

问题1:好的单元测试能解决哪些问题,哪些问题又不能解决呢?

在课本26页第二章关于单元测试应该产生可重复、一致的结果的问答中提到:单元测试不能解决所有问题,不必期望它会发现所有的缺陷。但就单元测试能解决什么问题并没有详细解释。我在网上查到软件测试的四个阶段包括单元测试、集成测试、系统测试和验收测试,并指出单元测试是最小粒度的测试,如果不经过单元测试,一些问题在后期可能导致整个软件工程的失败,那究竟是什么样的问题能在单元测试时解决呢,哪些又不能呢?

问题2:好的软件工程师该如何发展自己的创新思维?

在课本47页第三章关于个人能力的衡量与发展中提到:对于这些任务,一个成熟的软件工程师应该能够降低任务交付时间的标准方差。在课堂上,老师也谈到:大家都想创新,作为员工,你能实现的必须是老板的创新想法。但创新与创新思维是当今社会热门的词汇,也是国家对新一代提出的要求,作为一个好的软件工程师,无疑也不例外,那他们又该如何发展创新思维呢?

问题3:极限编程如何与在预计的时间内发布“足够好”的软件有效结合?

在课本117页第六章敏捷流程中提到:所谓极限编程,就是把一些认为重要和有效的做法发挥到极致。同时在第17页第一章作者对读者提出的三点期望中有一条说到:通过一定的软件流程,在预计的时间内发布“足够好”的软件。“足够好”意味着这个软件总是有一些不足存在,那我们在有限的时间内究竟要把哪些方面做到极限编程呢,这对于初学者或刚从业者而言,是一个很迷惑却很重要的问题。

问题4:良好的用户体检和好的软件质量如何“和谐共处”?

在课本260页第十二章用户体检中提到:好的用户体验当然是所有人都想要的,如果它和产品的质量有冲突,怎么办?牺牲质量去追求用户体验,用户能接受吗?在下面作者举了一个例子,说明了牺牲质量去追求用户体验,用户能接受。但如果就当前技术而言,牺牲的产品质量会造成安全、财产等比较重要方面的损失,还能一味追求良好的用户体验吗?当发生冲突时,该如何协调良好的用户体验和好的产品质量的关系呢?

问题5:什么样的人更容易做出创新性的产品?

在课本347页第十六章IT行业的创新中作者提到了一种迷之思维:要成为领域的专家,才能创新。通过调查大量的资料发现:从事某个领域的工作者往往没有领域外的人对这个领域有更新的想法,这或许是因为“当局者迷”。但从小到大,我们一直被教导要创新,却又一直循规蹈矩的活着,似乎那些创新只存在于离自己很远的那个世界,那究竟成为什么样的人,才更容易做出创新性的产品呢?

4. 博客作业

很多人有不为大家所知的本事,而这个能力可以超过周围90%的人。比如课堂中教师提到,如果表现得不像高度近视,如何伪装得不像脸盲,能做40个俯卧撑。当然,也可能是篮球、足球、钢琴、ACM、演讲。

请给出你超出朋侪的特殊技能,并告诉我们,你如何通过何种努力、花了多久获得这样的成就。

答:我能快速的从书中抽取出重点,然后整理成条理清晰的树状图或表格的形式。因为我从小就喜欢罗列知识点,开始可能不太完整,不断调整补充练习,所以久而久之就变得逻辑能力比较强。

5. 博客作业 (10分)

采访本课程往届同学(含外校和毕业生,以《构建之法》作为教材的。不含刚好你熟悉的一位软件工程专家)。 现代软件工程这门课已经上了好几年了,以前有很多学生做过团队项目(说不定包括本校的学生),请你们找一个以前的团队采访一下:

我采访了之前一个学软件工程的同学,他和几个同学合伙开发了一个类似于淘宝的卖东西的微信小程序。

问:当时的项目有多少用户,给用户多少价值? 现在还有人用吗?

答:当时大概只有几十个用户,还都是推荐身边熟悉的人用的,价值含量并不高,当初做这个,只是想试试自己有没有这个能力,完成一个项目究竟需要怎样的一个过程,现在基本没人用了。

问:这个项目能否给我们团队继续开发,源代码/文档还有么?

答:这个就没必要了,它几乎没什么市场价值,源代码我估计你也看不懂,还有其他人的份,我再问问他们(最后也没给我)

问:项目开发有什么经验和教训

答:找好合作的伙伴会事半功倍,找好适合自己的定位也很重要,最后,如果真的做个项目,市场需求最关键。

问:对学好软件工程有什么建议

答:多动手实践,逻辑一定要清楚

6. 博客作业

以下统计精确到一百行。

你目前的代码量是多少?

你认为优秀的和一般的计算机专业学生,(根据你的理想选择以下两问中的一个)为了有资格入职软件公司/互联网公司,需要多少代码量?从事高校教学科研工作呢?

你计划在本课程结束时,完成多少代码量?这些代码量分布在整个学期中,每周应完成多少代码量?

答:虽然在学C时,编过一些小程序,但几乎都在30行以内,没做过什么真正的项目,目前的代码量也就是0行。

根据我在网上的了解,计算机计算机专业学生从事高校教学科研工作,至少需要20000行代码量。

在这个学期,我将学习Java和Python两门全新的编程语言,肯定要经常练习,所以计划在本课程结束时,完成6000行代码量?这些代码量分布在整个学期中,每周应完成375行代码量。

7.阅读材料,写心得

(1) 你为何要来上课并且认真参与

答:不可避免的,我们总会遇到那么几个讲课不太好的老师,但绝大数老师讲课还是很好,并且作为博士和从教多年的教师,他们的知识科研各方面肯定比我们强太多,计算机的很多知识又很深奥枯燥,没有领路人,有时可能很能进展下去,只有认真参与到课堂中,你才能把老师的知识转为自己的知识。

(2) 你在大学中体验到了哪种师生关系

答:在我上大学时,有一部分教师采取的是填鸭式教育,自顾讲自的,学生在下面玩自己的,其实这是一种病态的教育方式。真正好的师生关系应该是学生愿意投入的学,教师尽自己最大可能的教。作为一名大学生,应带着饱满的热情和求知欲,有自己明确的目的来投入课堂,教师应该注意教学方法,照本宣科是带不来好的效果的,将所要讲授的知识条理清晰地让学生内化才是目的。

posted on 2019-09-10 09:39  simpleli  阅读(167)  评论(2编辑  收藏  举报