在上计算机工程大学之前,我应该学习一种编程语言吗?[关闭]


14

我将脚趾浸入C ++编程中,但实际上并没有深入研究它。我想知道在进入计算机工程大学之前是否真的需要学习它或其他语言,还是我还是要在学校学习它?


我想说您绝对不需要,但是完全没有伤害。在开始学习CS类之前,我从未做过任何编码,甚至不知道C ++是什么,并且该类是C ++的。
pllee

3
...即使您确实在那儿学习,也只不过是一堂简单的课。因此,没有理由不立即学习...
Izkata 2011年

它可能会帮助您了解您是否对编程有兴趣和/或感兴趣。
JeffO 2011年

您已经在developers.stackexchange.com上问了这个问题。您是否真的希望得到另一个答案,而不是“是的,在上大学之前学习C ++”?
马丁·托马

@moose,然后将其关闭。

Answers:


48

是的,有几个原因。

  1. 您越早开始获得该领域的经验,就越早就能弄清楚这是您应该学习的专业。如果您不喜欢编程,那么计算机工程可能不是一个适合该专业的好领域。即使您对设计CPU最感兴趣,也要进行很多编程。
  2. 大多数人发现,他们在大学中期望的工作水平和工作量大大超过了他们在中学时期的工作水平。除非您非常有才华,否则您会发现自己被工作重创。帮自己一个忙:找出用于一年级课程教学的语言,然后立即开始学习。最坏的情况是,您在班上会有些无聊,但是您可以更快地完成工作并使用为其他班级节省的时间。
  3. 许多类别在曲线上分级。这样做的缺点是您将与同学竞争成绩。您的许多计算机工程专业的同学已经完成了很多编程工作,因此您可能已经落后了。这是开始追赶的好时机。
  4. 擅长编程的唯一方法就是要做很多事情。在接下来的几年中,您花费在编程上的时间越多,您的工作就会越好。您拥有的经验越多,获得实习和工作机会就越好。

7
+1对于现在就开始,以便日后变得更轻松
Andy Hunt,

如果是在HS上的,则在大学期间也可以跳过两节课(通常是编程入门和数据结构入门)。少上课意味着花费更少的钱,或者至少有更多的缓冲时间。CSE计划可能非常严格-例如,您跳过一堂课意味着您要呆一年。有一个缓冲区会有所帮助。一个人总是可以参加额外的研究生课程或接一个未成年人。
工作

如果您在参加入门编程课时最终精通所教授的编程语言,请考虑您所在的机构是否具有可用来进行测试的“借贷考试”政策。它可以节省你不少时间(但前提是你是格外的语言流利)。
在计算机上2012年

7

我本人是CS毕业生(理学学士,硕士,博士学位),我建议您尽快将自己弄湿。大学一年级时,您还将拥有足够的其他东西。特别是对于编程:

  • 检查目标大学的网站,并查看低年级课程目录或讲师课程大纲网页以了解编程入门课程。寻找正在教授的编程语言,看看第一堂课涵盖了哪些内容。在开始之前,请尝试阅读该材料。

  • 再次,查看课程提纲页面,查看之前的编程任务,并查看使用了哪种软件编程工具和环境。是vi和gcc(这是真正的男人使用的)?Microsoft Visual Studio?日食?开始之前,请尝试使用这些工具。

  • 软件编程只是CS课程中讲授的内容之一。其他的还有算法(例如QuickSort),数据结构(树,链表,哈希表)和纯理论(NP完整性和集合逻辑)。我要说的是,这些至少与您学习的任何编程语言一样重要。


+1不只是阅读的编程语言
安迪·亨特

4

这取决于大学。当我在加利福尼亚州立大学研究所谓的“计算机科学”时,他们(在我看来是正确的)专注于科学方面,他们希望每个人(甚至是新生)都已经知道如何使用操作系统以及如何用某种流行语言编写代码。他们不接受转移我在俄亥俄州立大学参加语言课程时获得的一些学分。(这对我来说真是个无赖,但我还是明白。)这也有一个好处:我完成了一次任务,用C语言编写了代码;教授看不懂C,所以他要求我用Pascal重写它。我问部门负责人有关这项要求的合理性,他说,既然他们不教语言,他们也不能指望任何人完成任何特定语言的作业。因此,我的教授必须忍受用C语言编写的作业。因此,最重要的是,与您要去的大学核实。但是,如果您需要我的建议,那么尽可能多地学习就不会有任何伤害。


2
如果您要学习任何工程学科,那么C ++是一种入门语言的不错选择,因为使用C ++您可以学习在机器附近编程的知识,同时您也可以开始学习OOP。
Mike Nakis 2011年

谢谢,我叫学校(伊利诺伊大学),他们告诉我,通常学生对语言只有一点点的了解,我应该在上学之前尽可能多地学习。感谢您的建议。
马特

大。如果可以的话,请尝试熟悉Linux命令行;这些知识通常在大学环境中派上用场。最好是向计算机实验室中的其他人展示如何完成事情,而不是总是问别人。
Mike Nakis

4

如果您首先要质疑是否应该学习一种编程语言,请问自己是否真的想学习它。大多数计算机科学的头几年在开始之前就已经非常擅长编程,因此您将与那些自然而然地趋向于极客的类型竞争。要么先跳进去,要么做自己喜欢的事情。不要在篱笆上。热爱你所做的事。我不需要或不想为此投票,只想直接与您交谈。


1
我会修正为说“第一年中大多数成功的计算机科学学生”。当我上大学(后来在研究生院)时,有数量惊人的CS学生,他们对使用计算机一无所知,但他们只是听说CS是所有钱的来源。他们中的大多数人在对老师感到很恼火之后不告诉他们打字的内容而改变了专业。
蓬松的

我是那些新手之一,并取得了很大的成功。但是,我必须非常努力地做到从零开始的那些怪胎笑话。如果我不在那种不得不为我的孩子赚钱的情况下,那我就不会这么费劲。我最终了解了它,最终爱上了它。
詹森·塞布林

3

我认为您上大学之前不需要学习它。但是我相信,就像生活中的大多数事情一样,如果您在参加某些活动等之前已经作了充分的准备,那么您最有可能就吸收哪些信息和丢弃哪些信息做出明智的决定。

更具体地讲,通过至少浸入您的脚趾,您也许能够听取讲师在说的话,而不是只照抄他们说的话,而没有真正吸收他们想传达的概念,我认为这是最重要的大学的一部分(不是语言的实际学习语法部分)。

至于要学习什么编程语言。可能并不重要,但可能有助于您开始阅读第一年可能涉及的内容。

但是,预学习的另一面是,当您进入最初的几个月时,您可能会觉得这些课程无聊又初级。然后,这可能导致您不上课或丢弃讲师试图传达的内容,从而丢失一些重要的信息,例如意识到您实际学习某种东西的方法不是正确的方法,即您在上大学之前就学会了坏习惯。

通过深入研究这些类型的网站,您可能已经成为迈出第一步的一部分,因此可以帮助您在大学期间学习。无论哪种方式,您所学的内容可能只是冰山一角。如果您想继续学习可能带来的好处,则需要在大学教材中进行这种学习。


2

是的,但是不要从最复杂的语言入手,稍后会有很多时间。

从简单的事情开始,弄湿你的脚。当您不受语言本身的负担时,将头放在编程概念上要容易得多。同样,某些语言的工作要比其他语言好。

学习Python进行动态编程,简单的面向对象编程技术和适当的缩进。学习javascript + JQuery或Lua来学习闭包。学习Java或C#以了解静态类型。了解用于字符串解析的正则表达式。并学习一些SQL,因为每个程序员都必须在某个时候接触数据库。然后学习PHP,以便您识别意大利面条代码。

该列表可能有所不同,但基本上会选择一些有趣的语言,并使用它们来学习概念。随后,您将学会适应性,而不是一生都停滞不前一种语言,并且一直在网络上愤怒地试图捍卫它。


1

我要说的是,我认为开始时使用哪种语言并不重要,但是在您获得第一个编程任务时,您可能并不需要这样做,这可能会给您带来好处。努力解决代码方面的思考问题-您已经在这里有了一些经验。减少学习困难是一件好事。如果您在第一年学习了他们所教的语言,便会获得奖励,但这不是必须的。


1

您将不知道计算机工程是否真的是适合您的学位课程,直到您至少了解编程的难易程度以及其水平。真正了解的唯一方法是尝试并学习至少一种编程语言并尽快进行大量编码。


1

上大学之前,您可能会对一些学习感兴趣的事情(选择其中一项):

  1. 更多数学(我不能更具体,因为我是法国人,并且不知道您应该具备的数学技能)。
  2. 其他一些编程语言,例如Ocaml,Scheme,Haskell,Lua ...它们将使您对新的思维方式开放。
  3. 一些算法书籍
  4. 更好的英语和书面技能(外语永远不会不好)
  5. 在GNU / Linux和一般免费软件下使用和编码。学习自由软件(并为之做出贡献)的能力将为您学习很多东西。
  6. 工作自主权,能够定义自己的工作计划并坚持执行
  7. SICP

我不建议您狭focusing地关注C ++。其他语言,书籍,技能将带给您更多。不要将所有精力花在C ++上。

祝您学习愉快。


1

老实说,如果您有时间去做。在老师教学时,IT会更有意义。与从未编程的学生相比,您将获得最大的收益。


1

绝对!如果您以前没有编程过的话,那么学习C ++或C或Java或C#可以使您入门。所有这些语言(大致)都是基于Algol的-一旦您学习了其中一种,就学习Lisp或Haskell。无论您需要什么课程,两个家庭之间的绝妙范例转换都将为您提供帮助。


0

我个人会推荐它。这并不适用于所有学校,但我去了一所被认为是一所非常好的工程学校,并且入门级的编程课非常糟糕。了解基础知识将帮助您避免可能会教给您的许多不良做法/不正确的知识。正如提到的另一个答案,您将在其他人苦苦挣扎的情况下,通过那些简单的入门编程课程来学习。而且,如果您像我一样,这将给您提供更多机会来帮助自己自己挣扎的朋友。


0

我想你应该。除了这里其他人给出的原因之外,我还要补充说,很多大学教授都不擅长教学,因此您不能依靠他们来教您很好地学习。如果您已经掌握了基本知识,那么您会更好地理解他们在说什么。

另外,在大学中,课程材料与上课时间的比例通常过高,因此即使教授是一位体面的老师,他也无法在可用的上课时间有效地教您。因此,您预先获得的任何知识都将帮助您跟上教室的快速发展。

IMO C ++是初学者最糟糕的语言之一。如果您觉得不太困难,请继续学习C ++,但是其他语言(例如C#,VB,Ruby或Python)则要容易得多。


0

上大学之前,了解某种语言是非常明智的举动。由未受过培训或不会说英语的助教给大学计算机科学的教学质量通常很差。入门课程不是优先考虑的事情,而不良的指导是规则。大学从赠款管理中赚钱;获得补助金是大多数大学教师的重中之重,而不是教学本科生。这是一个可悲的规则,几乎没有例外。

但是,高中课程的质量也可能很差。许多学校管理部门认为使用Micosoft Word的培训是计算机科学。啊,废话从教育学校流传!

我希望我能更加乐观。如果您在高中有一个很好的compsci程序,请锁定它。超越界限,积极学习。如果您相当进取,不难自学Python并掌握一些技巧。一旦学习了它,学习其他语言就不难了。Python的简单语法使学习起来相对容易。


0

是。

您应该学习哪一种取决于“计算机工程”的含义。这是一个非常非标准的术语。在我学习的地方,它是电子学和计算机科学的结合。

如果您希望主要使用计算机硬件,则建议学习C和Forth。如果您主要从事我认为是“计算机科学”的工作,那么我建议您学习Python或Smalltalk之类的东西,以尝试“实际工作”,并选择一种功能编程语言(我建议您选择一些变体)轻描淡写或计划,但选择最简单最酷的方法。


0

我将分享我自己的经验。

我大约10到11个月前开始编程。我第一次真正接触过PHP,但是后来,我发现自己在当地社区大学的入门课程(CS 140)中学习C#。在学习了基础知识之后,我几乎开始使用它了,此后一直没有停止过。在使用C#之后,我决定开始学习计算机工作原理的低级机制。我正在开发一个应该是多平台的应用程序,并且应该可以帮助视频游戏引擎相互交互(类似于SDL,但可能会比其更低的级别,并且严格关注GUI,数学以及其他辅助功能)。

基本上,如果不是那堂课的话,直到很久以后,我才能找到自己喜欢的东西。你真的不知道你喜欢编程,直到你真正了解它背后的概念。如果您想找出答案,我建议您拿起编程书籍的介绍,并从C / C ++开始,因为您需要了解自己在做什么,而不是使用像Java或C#或只是一些脚本语言-记住,它们具有自己的位置,并且是使用的好工具,但是从一开始就必须理解底层概念。这是我一开始犯的错误。

之后,如果喜欢,请继续编程。如果没有,请学习其他内容。无论您决定做什么,在参加大约2-4年的大学学习课程之前,您应该花尽可能多的时间在它上面,因为它确实可以使您领先于游戏。它也会向有可能雇用您的雇主显示出动力。

我可以告诉你,就发展速度而言,计算机科学/电气工程学科是迄今为止最快的(逐年增长),您将不得不继续学习新技术以跟上最新发展。最新的和最伟大的(尽管实际上这取决于您所擅长的专业领域,但是您应该至少会发现一些有趣的东西。例如,我讨厌Web编程,并且我对现有的技术完全不感兴趣为此,但有些人真的很喜欢它并且对此感兴趣。尽管如此,C / C ++是一种很棒的语言,因为许多其他语言(例如C#,Java)都拥有自己的预构建API以“使生活更轻松”,而您将不会学到真正发生的事情。直到你“

基本上,我已经从事10-11个月的编程工作,而且我从未上过任何一所大学。我在社区学院参加了C#课程(我的第一门编程课程,它教了我一些基础知识),其余的至少95%是我自己学的。这是因为在上完该课后,我知道我想成为一名程序员。一旦您了解它,便会知道。无论您选择哪种方式,如果您真的想成功,都应该独立研究它,因为它会增加您的动力和决心。程序员有动力取得成功。他们处理的不仅仅是很多“编写代码”。必须从头开始不断地测试,调试和理解应用程序。通常,无论大小,您几乎都会为所从事的每个项目学习新的东西。这是一件好事,因为您需要保持大脑活跃。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.