Computer science 在开始我的学位之前,给CS ungrad的建议

Computer science 在开始我的学位之前,给CS ungrad的建议,computer-science,Computer Science,我在Java、C#和VB中学习了一些CS课程,并为我目前的工作学习了一些PERL、Python、Javascript、WPF和RegEx。我已经申请了华盛顿大学的CS系,我还在等着听我是否被录取了。 我的问题是,在我希望去华盛顿大学开始我的学位之前的夏天,我现在应该做什么?在主管的建议下,我正在尽可能多地学习C#和WPF。但是,在“正式”开始我的CS学位之前,有什么我应该学习或至少熟悉的吗 提前谢谢 编辑: 我觉得我遗漏了我的一个重要背景,因为我已经进入了一所社区学院,并从那里获得了2年的学位,

我在Java、C#和VB中学习了一些CS课程,并为我目前的工作学习了一些PERL、Python、Javascript、WPF和RegEx。我已经申请了华盛顿大学的CS系,我还在等着听我是否被录取了。 我的问题是,在我希望去华盛顿大学开始我的学位之前的夏天,我现在应该做什么?在主管的建议下,我正在尽可能多地学习C#和WPF。但是,在“正式”开始我的CS学位之前,有什么我应该学习或至少熟悉的吗

提前谢谢

编辑:
我觉得我遗漏了我的一个重要背景,因为我已经进入了一所社区学院,并从那里获得了2年的学位,这将在我进入一所四年制大学时跳过我的导师学位。所以我已经有了一些基本的课程,逻辑、历史、英语、数学等等。

找到你感兴趣的东西,并尽可能多地利用它。贡献或创建一个开源项目,从事一些你从未做过的事情,等等


现在是大学前的夏天,所以放松一下,尽情享受吧。尽可能多地把自己投入到辅助项目中(它们应该很有趣!),但要知道,在大学里,你会有很多时间争论你是否应该使用vi或emacs。

看起来你比你的大多数同学有更多的编程背景和经验,所以我认为你已经走在了前面:)

我的一个建议是,与其尝试学习新的编程语言或提高您对现有语言的知识,不如建议您重新检查您已经知道的内容,并尝试从更学术、更概念的角度来构建这些知识。记住,你将开始计算机科学课程,而不是计算机编程培训课程

鉴于您目前的背景,以下是一些您可能需要进一步探索的想法:

  • 您已经知道的哪些语言是动态类型的,哪些是静态类型的?每种风格的优点/缺点是什么?它们起源于哪些语言

  • 用这些语言编写的程序的性能有什么不同?造成这种差异的可能原因是什么

  • 正则表达式的理论限制是什么?e、 你能写一个正则表达式来匹配平衡圆括号的集合吗?为什么


当然,也许最好的做法是在上大学之前放松一下。玩得开心

也试着学一点理论。如数学逻辑、面向对象的概念、递归、设计模式、数据结构、算法等。。。因为现在有大量的语言和技术,没有人能确定,但是计算机科学的基础知识永远是正确的


你已经远远领先于大部分进入计算机科学系的学生(一般来说)。如果你想的话,你可能会花一个夏天的时间来学习这里的人们向你推荐的一些东西,但是如果你问我,大部分都是你在CS教育期间作为CS课程的一部分所学的东西。在一些事情上领先是很好的,但我认为这不是绝对必要的。它当然可以帮助你减轻你在学期中所面临的负担,在学期中,你每学期都要学习一些课程(这并不需要那么长的时间)。然而,我确实认为,这培养了学生在压力下和有限时间内学习新事物的能力,其中一些可能与其他新事物无关,我认为这是学习和调整的一项重要技能


我记得夏天我经常花很多时间参加USENET上的科技新闻组讨论。我可以放心地说,这样做对我帮助很大。它不仅可以让你的知识逐渐增长,还可以帮助你提高写作能力(特别是从技术角度来看,你可以了解人们如何在讨论中解释技术内容,以及你如何在寻求帮助或更经常地帮助他人时也这样做)。最后,你还学习了正确的礼仪,以及在需要时如何和在何处寻求帮助。

我第一个夏天和随后的夏天都是在一家小型ISV做程序员,如果有一件事是他们在大学里没有教的,那就是如何处理客户/老板等。因此,你从编程工作中获得的任何经验都是一个很好的加分——当你以后申请第一份“真正”的工作时,你的简历也会更好看。赚来的零花钱也是一个加号——即使只是为了再买几桶啤酒:)

买台咖啡机

听起来你已经在语言方面为自己打下了良好的基础。如果你热衷于把时间花在曲线上,那么考虑一下以下几个领域:

  • 设计模式
  • 应用程序块(企业库、用户界面流程)
  • 参考体系结构(智能客户端软件工厂)
  • 单元测试
  • 构建自动化、持续集成
  • 保安
  • 静态代码分析
  • 代码覆盖率
你也可以观看一些课程,从中你可以很好地了解事情的发展方向


你可能还想探索不同的平台(网络、桌面、移动设备),看看你是否对其中一个有偏好。

我想说,这实际上取决于你希望计算机科学朝哪个方向发展

你对软件工程感兴趣吗? 数据库? 人机交互? 人工智能

他们都是f