首页 文章

如果你现在可以参加一门计算机科学课程,它会是什么? [关闭]

提问于
浏览
19

如果您现在有机会参加一门计算机科学课程,结果显着提高了您在某一学科领域的知识,那会是什么?本科或研究生水平 .

编译器?分布式算法?并发理论?先进的操作系统?

让我知道为什么 .

(请注意,我很欣赏这不是一个遥不可及的场景 - 但时间和惯性可能会阻止人们参加课程或阅读书籍等等)

30 回答

  • 0

    我很想选择一个硬核(如John Carmack硬核)图形编程课程 . 涵盖从硬件级别到光栅化和渲染算法以及完成三维数据处理和数据存储技术处理的所有内容 . 我在大学时提供的那个是相当平庸的 .

  • 34

    用户界面设计,心跳加速 .

    我在大学里学到了很多关于如何编程的知识,但从来没有提到用户体验 . 在离开工作岗位十多年之后,我将这种遗漏看作是犯罪的罪魁祸首 .

  • 2

    操作系统 . 知道你在较低级别上打勾的那个盒子有助于你以后掌握所有更高级别的概念,特别是当出现问题时 .

  • 1

    信息技术监管

    诸如SOX,PCI,HIPAA以及来自不同司法管辖区的其他法律要求以及可能适用于IT领域的隐私法律 . 黑客也可能在某种程度上被覆盖,因为它是法律课程和信息技术之间的一种交叉,不一定是计算机科学 .

  • 2

    我希望我能拿一篇讲授大会的文章 . 我所做的所有论文都是高级语言 .

    我也希望我能早点点击数据库,我才开始在第二年就读这些文件 . 所以我从未能够获得有关Hibernate,JDBC等的高级论文 .

  • 4

    编译器 .

    就像学习外语一样迫使你比以前更密切地考虑你的母语,我相信编写编译器可以让你很好地了解你正常编写的所有代码 .

  • 19

    数据结构和算法 - 本课程教您如何构建更高效的代码,并教您如何解决复杂问题的常用方法 . 我不是最好的但我相信这种类型的课程教会你如何思考复杂问题的方式可以帮助你在许多其他领域 .

  • 4

    算法类,放下手 .

    “如果你想成为一名世界级的程序员,你可以每天编程十年,或者你可以每天编程两年并参加算法课程 . ” - Erik Demaine教授(麻省理工学院)

    学习算法复杂性,排序,合并和搜索算法非常重要 .

    这是引用来自麻省理工学院OpenCourseware algorithms class视频的视频link .

  • 4

    神经网络
    AI在实践中
    自然语言或语义处理的介绍 .

    任何一个......如果我有时间的话,我现在喜欢做任何这些 .

    但是,如果您扩大范围以涵盖任何课程,我将不得不参加会计课程 . 这将以各种方式有用 .

  • 6

    我有兴趣参加机器学习课程 . 我从事统计工作,与机器学习有很多重叠 . 我很高兴看到解决一些相同问题的不同观点 .

  • 2

    联网 . (不是社交网络......虽然这可能是一个有趣的课程 . )

  • 14

    我会选修一门课程,其中包括我知道自己无法学习的材料 . 例如,我对量子计算非常着迷,即使它可能对我没有专业帮助,我也想知道更多关于它的信息 .

  • 16

    隐私和匿名(实际上,我只是审核了这个,所以它确实不完全符合这个问题) . 一旦你弄清楚使用最少量的信息在网络上进行唯一识别是多么容易,你将会更加谨慎地分发你所提供的信息(作为用户)以及你收集/显示的信息(作为开发人员) ) .

  • 1

    我还没有完成硕士论文,所以我仍然可以参加任何我喜欢的CS课程 . 但我认为通过阅读书籍和做一些练习,我可以更轻松地学习同样的东西,而无需参加课程(并从练习和考试中获得压力) . 另一种选择是只听讲座,但没有正式参加课程(至少赫尔辛基大学的讲座是公开的,任何人都可以听) .

    以下是我想学习的内容:函数式编程,分布式系统 . 编译器也是一个有趣的话题,但我现在不需要那些知识 .

    我的大学将有关于所有这些的课程,但现在我更喜欢自己学习它们 . 我将从lambda演算和Haskell课程下载课程材料和练习,并阅读一两本关于分布式系统和算法的书 .

  • 0

    遗传编程?

  • 5

    计算机网络或编译器构建 - 两者都是我学校的选修课,由于时间表冲突,我从未有机会参加 .

    (从技术上讲,我的几个课程教授编译器构造的各种元素 - 解析,管理符号表,激活记录 - 但它们更多地是关于机器/语言理论而不是关于如何实际构建编译器) .

  • 15

    算法(再次) . 可悲的是,我不要以为我第一次捡起的东西就像我应该的那样多 . 我的第二选择是编译器 .

  • 0

    编译器也是因为它们需要在很多方面提高效率,解析,模式匹配,语义分析,代码生成等 .

    干杯

  • 3

    “软件许可和相关版权法”将在未来几年受到重创

  • 2

    并行编程 . 我真的认为它不仅仅是函数式编程 . 我对用非功能语言讨论这个话题感兴趣 .

  • 2

    计算几何 . 我接受了从书本中学到的东西,但我希望在有机会的时候我会得到真正的深刻理解 .

  • 1

    我很惊讶我没有看到任何人去计算理论 . 这是我在大学学到的最讨厌的主题 . 当然有人和我有同样的胃口 . :-)

    CS - > 1.计算理论,2 . 计算建模,3 . 编程语言

    • 它让我对整体问题解决有了更加抽象的看法 . 我的经验告诉我,我越抽象,我能为问题制定更好的解决方案 . :-)

    • 建模是如此强大,以至于大多数问题解决依赖于 . 有了它,我们通常以低级别的方式解决问题 . 它通常不是最好的解决方案 .

    • 这是计算机与程序员的接口 . 我有兴趣让所有人都能轻松编程 . 因此,如果界面可以改进,所有都将受益 .

  • 1

    印刷术 . 其次是用户界面设计 .

    我认为,这些是我的技能需要最大改进的领域 .

  • 2

    This is a course I can recommend(这是一个远程学习课程) .

    您将学习逻辑,递归,二叉树/ BST,真值表,效率,函数的正式定义 . 它不需要任何超出学校水平的数学背景 . 有关位操作,二进制计数等基本主题将在第1年的模块中介绍 .

    你不使用haskell虽然我听过很多大学使用它 - 它是一种java解释的函数式语言 .

  • 2

    我的前两个(操作系统和编译器)已经被采用 . 我的下一个选择是数据库设计的好课程 . 数据库是任何Web项目的重要组成部分 . 了解它们如何在内部工作将使以后更容易使用它们 .

  • 1

    极端编程 . 编程竞赛中的问题 . 要编码很多 . 快速编码 . 有效编码 . 使用版本控制包括:)

  • 1

    安全或加密

  • 2

    并行/分布式编程,因为cpu的速度不会那么快;和多核和互联网将会存在一段时间 . 我没有先验知识的本科课程 .

  • 2

    操作系统 . 拥有操作系统知识的任何人在拼凑软件系统中的组件/服务,规划性能以及诊断/解决性能瓶颈方面具有巨大的优势 .

  • 14

    使用最新语言的任何现代算法类不仅教你算法,还教你语言!

相关问题