第1次作业:no blog no fun

1.先回答老师的问题

第一部分:结缘计算机

读了进入2012 -- 回顾我走过的编程之路后,我试着回顾了我的编程生涯的开始。我最原始的记忆就是老爸教我用电脑玩连连看,那时候的显示器应该是CTR显示器,像电视机一样,屏幕都是凸起来的,没记错的话它应该还在车库里呆着,但是主机好像被家人甩了。一直以来电脑在我手里都是看电影玩游戏,后来在初中,可能是初二还是初三吧,可能是因为想要实现自己想要的功能,我产生了自己编程的想法,于是在网上找C++的教程,因为需要C编译器,得知Linux自带gcc编译器后还尝试了安装Linux,因为不懂虚拟机,英语也是初中水平,于是向老爸请教如何安装系统,然后老爸就不让我动他电脑了。

虽然第一次接触编程就半途而废了,但是隐约还记得“C语言从include开始”。现在学习cs的时候,想起初中开始的编程生涯,总是会感到遗憾。相比优秀的程序员,他们在DOS时代就开始了编程生涯,没有因为业余学习的困难而放弃。如果我坚持学习,经历这么多年,肯定会具备一定的水平的。我觉得并不是坚持很难得,而是我太容易放弃了。我需要做的是谨记这次经历,每一次学习都付出全力,不轻易地放弃。

后来,在三年后,我巧合地被计算机专业录取了。在新学期学习C语言的时候,我才恍然想起来这就是我初中接触过的编程课程。在后来课堂上得知很多人都在高中阶段从事过编程学习,还有些人参加过OI竞赛。跟这些人比起我,我的水平真是太浅了,我们大部分人唯一接触过的编程就是高中数学学习的VB。但是,得益于老师一视同仁的教导,我们这些不具备基础的人都逐渐入门了C语言。当时我还以为学好了C语言就可以工作了,后来,我们逐渐接触了JAVA,JavaEE,Microsoft.NET,我才发现还有这么多编程语言具备C语言所不具备的特性。现在回忆起来我真是目光短浅了,听说游戏都是用C语言写的,就准备用C语言的水平去工作了,想起来就觉得好笑呢。

为什么喜欢计算机呢,因为在学习中,我得知了还有许多我没有学习过的技术,工程师们用这些技术实现了我们生活和学习中必需的各种功能,科研工作者们探索计算机领域的更多技术。我希望我也能成为他们中的一员,实现用户需求的功能,使我的努力和工作发挥价值。我想我现在的水平是远远不够的,还需要先学习计算机领域的基础。

第二部分:在计算机系里学习

结束了高中最后阶段的学习后,进入大学后就失去了当年的勤劳,每天只想躺在床上不想动。我真是太懒惰了,好在后来逐渐找回了对编程的喜爱,有了开发个人产品服务用户的想法,开始加入老师的项目组和课外知识的自学。上大学之后感觉人与人之间都有距离感了,不像高中那么熟悉,所以我觉得沉浸在个人学习中挺好的。国内外的大学区别我也不清楚,不过我认为我们的老师都是很和蔼的,但是我们的课上都是沉默的,而外教上课一般都是踊跃发言的,有留学经历的老师应该感觉更深刻。其实老师上课问问题,我脑子里有想法,但是我不想吭声。我觉得现在的教学我就可以接受,毕竟计算机专业需要靠我们自觉地课后学习。关于国外大学的教育,希望以后有机会可以接触吧。

我学习过的MOOC是Coursera和iTunes U,在Coursera上学习Machine Learning和在iTunes U上学习iOS,但是目前的成果是有限的。MOOC可以自由选择感兴趣的课程,并且没有严格时间要求,而且学习的内容可以立刻采用自己的电脑来自己尝试,可以立刻发现问题和尝试解决问题。但是这种没有监督的学习方式非常自由,我很容易在缺乏时间的时候放置应该进行的学习。而大学课堂学习,每节课都会按时到场,并且可以在课后和老师讨论问题。这两种方式都是可以采取的,我们在学习中可以结合这两种方式,在课堂上学习老师安排的课程,在MOOC中学习个人感兴趣的课程,这样我们业余学习的技能也会具备一定的水平,有利于未来从事相关行业。

其实,Machine Learning和Developing iOS这两门课差别很大,我只看英文字幕的情况下,iOS完全没有问题,而Machine Learning看完都是一脸懵逼,做题得时候需要根据题意在Slide里面找答案,还经常做错。Programing的时候特别费脑,都是靠SOF上面参考完成的。不过,我感觉国外高校的老师上课很有趣,没错,我说的就是Developing iOS的老师,他语速特别快,但是很容易就可以听懂,很感谢iTunes U和Stanford University和Coursera提供免费的课程供我们学习。

学习线性代数和概率论对计算机科学是十分必要的。比如Machine Learning就对我们的线性代数水平有一定的要求,概率论对软件的设计也是有参考价值的。所以学习计算机科学是要保证数学水平的。

第三部分:未来规划

前文有提到,未来想实现用户迫切需求的功能,使我的努力和工作发挥价值。另外替我的家人开发一些移动应用可以方便他们的生活。另外,我和很多游戏爱好者一样,想加入Video Game团队制作受欢迎的游戏。但是,不管从事什么职业,都是可以在自己的职业中发挥个人价值的。马上面临实习了,我认为不管在实验室学习计算机领域备受关注的新技术,或者在企业学习应用广泛的成熟技术都是可取的,我们都能在实习中不断进步,提升个人实力,具备一定的基础进入未来的学习和工作。

2.另外的感想

阅读了博文美国读研期间的一些计算机课程作业后,我认为老师划分检查点实现股票交易系统任务的方式我十分赞成,因为我们学期末一般有课程设计,我们总是倾向于做一个完整且具备一定功能的软件或者系统,但是在限定的一周时间内很难完成,总是耗费大量时间在某些没有意料到的问题上,结果最后很多预期的功能都来不及实现就参与答辩了。但是在老师的指导下,我们可以在课程的学习中逐步实现预期的功能,也有充足的时间来排除意外的问题。我希望在这学期就想好我的课题并且制定计划来分步骤完成,在此途中遇到的问题也可以咨询老师的意见。我打算编写一个MacOS app来方便管理我的相机照片,可以按时间分类照片,添加说明和重命名照片,可以查看照片细节和直方图,可以选择用LightRoom编辑或者用其它轻量的处理软件编辑,可以选择上传到相册或者网盘,这些就是大致上相机管理功能了,其它细节的功能就在之后的阶段来慢慢设想和实现。单元测试对我来说是第一次接触,因为之前的课程设计都是非常简单的,谈不上软件的规模,但是在开发一个具有复杂功能的软件的时候,就需要单元测试来排查问题,通过了单元测试,才能发挥该软件应有的功能。所以,在我即将开发的app基本成型的时候,就需要通过单元测试来保证它的正确性。

第一次写博客,纪念一下。2017.9.17

时间: 2024-08-04 16:23:58

第1次作业:no blog no fun的相关文章

java实验报告三

实验三 敏捷开发与XP实践 一.实验内容 1. XP基础 2. XP核心实践 3. 相关工具 二.实验步骤 (一)敏捷开发与XP 软件工程是把系统的.有序的.可量化的方法应用到软件的开发.运营和维护上的过程.软件工程包括下列领域:软件需求分析.软件设计.软件构建.软件测试和软件维护. 人们在开发.运营.维护软件的过程中有很多技术.做法.习惯和思想体系.软件工程把这些相关的技术和过程统一到一个体系中,叫“软件开发流程”.软件开发流程的目的是为了提高软件开发.运营.维护的效率,并提高软件的质量.用户

结对编程收获-Core10组-PB16110698

本周结对编程追加作业:记录收获.坦白说,我的收获多而杂,一时不知从何说起,以下试图从各方面简要谈谈. 一.编程能力收获 从编程能力方面,我收获的主要是类的设计思路和算法设计.在作业要求blog的指引下,我和同伴一同思考.选用类,最终决定采用我提议的方案,类中的变量名.变量数量都是由我提议和设计完成的,主要基于要求的功能的实现.变量以外,还需要设计类的函数,这就涉及到算法层面.一开始,我对于生成运算式方面非常生疏,翻了半天谭浩强红皮书,又在团队作业的小组中讨论了一阵,终于决定采用树的形式生成,辅以

shdsadjkwqjkjkwqwqwq

http://blog.zhulong.com/blog/detail5686154.html http://blog.zhulong.com/blog/detail5686160.html http://blog.zhulong.com/blog/detail5686166.html http://blog.zhulong.com/blog/detail5686170.html http://blog.zhulong.com/blog/detail5693565.html http://blo

鞍山的好奇我合计为顷刻间即可完全健康请我

http://blog.zhulong.com/blog/detail5686154.html http://blog.zhulong.com/blog/detail5686160.html http://blog.zhulong.com/blog/detail5686166.html http://blog.zhulong.com/blog/detail5686170.html http://blog.zhulong.com/blog/detail5693565.html http://blo

ashdwhqjhjwqejhwqjkjkwqjkwqwq

blog.zhulong.com/blog/detail5686154.html blog.zhulong.com/blog/detail5686160.html blog.zhulong.com/blog/detail5686166.html blog.zhulong.com/blog/detail5686170.html blog.zhulong.com/blog/detail5693565.html blog.zhulong.com/blog/detail5693574.html blog

sadhqhjwjhwqjkwqjkjkqwwq

http://blog.zhulong.com/blog/detail5686154.html http://blog.zhulong.com/blog/detail5686160.html http://blog.zhulong.com/blog/detail5686166.html http://blog.zhulong.com/blog/detail5686170.html http://blog.zhulong.com/blog/detail5693565.html http://blo

鞍山地区无计划为全家健康去我家可千万

blog.zhulong.com/blog/detail5686154.html blog.zhulong.com/blog/detail5686160.html blog.zhulong.com/blog/detail5686166.html blog.zhulong.com/blog/detail5686170.html blog.zhulong.com/blog/detail5693565.html blog.zhulong.com/blog/detail5693574.html blog

1.本周的作业请参照此文:http://www.ruanyifeng.com/blog/2015/12/git-workflow.html 制定本组项目的GitHub版本更新流程---答题者:徐潇瑞

首先,介绍一下gitflow,它是最早诞生.并得到广泛采用的一种工作流程.如果采用git flow开发流程,那么项目存在两个常设分支,一个叫主分支master,另一个叫开发分支develop.master分支中存放的是用于发布的版本,而develop存放的是用与日常开发的版本.此外,项目可能还会存在一些临时性分支包括:功能分支,补丁分支,预发分支.常用到的命令有: Git创建Develop分支的命令: git checkout -b develop master 将Develop分支发布到Mas

SQL SERVER 作业浅析

作业介绍 SQL SERVER的作业是一系列由SQL SERVER代理按顺序执行的指定操作.作业可以执行一系列活动,包括运行Transact-SQL脚本.命令行应用程序.Microsoft ActiveX脚本.Integration Services 包.Analysis Services 命令和查询或复制任务.作业可以运行重复任务或那些可计划的任务,它们可以通过生成警报来自动通知用户作业状态,从而极大地简化了 SQL Server 管理[参见MSDN]. 创建作业.删除作业.查看作业历史记录.