目前,我的CS学位第一年就要结束了,我对我被要求做的编码不足感到失望(一个单元)。
我基本上是在寻找一种有效的方法来获得实用知识,但我不知道从一个近初学者的角度去寻找经验。
发布于 2012-05-24 08:23:29
直到我选择了操作系统、数据库管理系统、计算机网络和一些编程课程,我才了解整个情况。
从学习你选择的编程语言开始。(我从C开始,然后转到C++,它非常强大)
执行一些需要非平凡算法的简单项目,如ProjectEuler的算法。
在熟悉了语言和常见算法之后,转向GUI编程,比如Windows窗体、WPF或Qt。
获得一些GUI和事件驱动应用程序的经验,并再次了解跨平台GUI库(如Qt )。
你可能想开发一些小游戏来娱乐。
然后你想了解进程,线程,多线程,数据库编程,网络编程等等。你将在你的CS课程中学习其中的大部分。
Web开发是扩展您的技能的一个很好的方法,因为它需要服务器端开发和HTTP之类的网络信息。
慢慢来享受编码吧。当你看到你什么都不懂的代码时,不要沮丧。)
发布于 2012-05-24 03:59:33
有几件事你可以做
发布于 2012-05-24 04:45:54
考虑为您想要的解决方案编写一个解决方案,它可以激励您深入了解问题,解决软件开发问题和其他任何问题。想些对你或你认识的人有用的/实用的东西。
它不必是复杂的。如果一个有经验的程序员能在15分钟内解决这个问题,谁在乎呢。您将学习如何决定要使用的编程语言,为该语言设置工作环境,开始编写代码,进行测试,并可能将其用于其他人。
如果您没有编写GUI、单元测试、数据库等方面的经验,那么暂时不要使用它们。制作程序的命令行版本。使用print语句来跟踪发生在哪里出错的事情。从纯文本中读取数据,这样就可以使用编辑器为程序创建输入。
如果你对电子学有一点了解的话:考虑用Arduino做点什么。我最近用SMS实现了一个水泵的远程控制。我已经编码了25+多年,但有一个程序做一些具体的事情,如响应我的电话命令是有趣和令人满意的。乐趣是一个伟大的动机,完成这个项目,并使它成为一个有用的学习经验。不管这个项目是否简单,都很重要。
如果您从未使用过修订控制系统,那么就不用担心:将您的项目(源、数据)复制到backup_00、backup_01等。因此,一旦您搞砸了(您会),您就可以回到工作中去了。
对于软件开发的任何元素,总是有一个更好的解决方案,即使您已经改进了它。在哪里停止改进是一件很有经验的事情。现在,不要担心改进和效率,只要试着把事情做完就行了。在前进的过程中,你将学会进步。
如果你认识一个人,在你被困的时候,谁能也愿意帮助你,问他们是否愿意。当你合作时,作为一个人类感到满足是一件人类进化的事情(这很好地导致了stackexchange网站上的反馈)。如果你不认识任何人,看看是否有一个活跃的在线社区,在那里有人愿意帮助。
最后,给出一些关于事情进展情况的反馈。在这里或任何你寻求帮助的地方。
https://softwareengineering.stackexchange.com/questions/149964
复制相似问题