计算机科学学位的有用教科书

编者注:这篇文章最初发表在她的个人博客Cassey的Thoughts中。 在大学学习计算机科学的那段时间里,我遇到了几本非常有用的教科书。 (这可能令您感到惊讶;当我终于开始找到它们时,这对我来说是一个惊喜。)我在这里与其他可能会编程的人分享,但他们对自己会学到的东西还没有信心。正式的计算机科学(CS)课程。 本书提供了关于面试中可能出现的许多基础CS主题或算法的快速入门指南。 在与大型科技公司面试之前,曾向同行推荐。 这对于清理您可能曾经学过但被遗忘的主题非常有用,并且可以使您意识到可以使用哈希图解决似乎所有的面试问题。 在概述级别介绍概念,因此这也是将CS学生期望了解的事物类型引入的一种好方法。 这是编写干净,可维护和正确的软件的权威参考书。 这是我从更有经验的团队成员通过详细的代码审查中学到的所有东西。 这本书不只是参考书,而且您可以随时学习新知识。 数学是美丽的-在这本书之前,我不知道! 它真的让我大开眼界,以崭新的方式考虑数学,并欣赏其哲学基础。 我没有在课堂上找到这个,但它涵盖了高级数学课程可能会向您介绍的主题。 对于初学者来说,可能不是最好的参考书,这是一本有关计算机科学家开发的许多规范算法的大量参考书。 伪代码有时可能很难理解,但文字说明很有帮助。 这是关于博弈论和代理设计系统(可以做出决定的自治生物,可以是从计算机模拟到人类的任何事物)的非常容易理解的文字。 它帮助我开始思考如何构建对个人和团体的激励机制,以促使出现期望的行为。 这是一本清单,对程序员和计算机科学家以外的人们都将有所帮助。…

任务清单-解决最低生产率的问题

编写日常的身体任务清单有助于我提高专注力和工作效率。 我是一名软件开发人员,与生产力相比,我经常会遇到自己不愿承认的问题。 几年来,我一直在处理这个问题,或者至少我很早就意识到了。 妈的-听起来我正在开始戒酒匿名会议:> 无论如何,这些年来我已经读过或听到过很多关于如何提高生产力的建议,但是几天前,我恰恰注意到了生产力不足对我的影响最大。 而且,当生产力不足的打击到来时,我总是会陷入一种无意识的状态,即打开Facebook(我几周前已删除),签出Reddit,检查我的手机,或者只是试图与某人聊天。 让我们回到我的认识。 当我脑海中有太多选择时,缺乏生产力,或者当我全神贯注并难以完成工作时的那种感觉,令我震惊。 在要做很多事情以及有很多选择如何做以及以什么顺序进行的情况下发生的软件开发方面。 如果我不干预而在那个时间点做某事,我可能会损失数小时。 对于像我这样喜欢把事情弄糟的人来说,这是一种不好的感觉。 解决方案– 每日任务列表 。 这个概念并不新鲜,但是我想分享它如何帮助我做得更好。 作为独立开发人员从事项目时,此功能特别有用。 当您是自己的经理时,您就是需要完成工作的人。 我当前正在做的项目就是一个很好的例子。…

格兰西卡:简介

图1:反身文字 1996年底的某个时候,我开始创作一部新小说。 我上交了第二本书的手稿(一本名为《孟买的爱与渴望 》的短篇小说集),休假了几个月,现在又一次因为无法工作而烦躁不安在小说中。 于是我开始; 我知道这将是一本有关印度有组织犯罪的书。 像该国其他所有人一样,我读过报纸报道,报道说有关当地帮派转变为按照公司原则组织的大型“公司”的经历,以及血腥的内部战争,其中包括臭名昭著的枪战与警察的冲突。从我家 因此,自动武器枪声的回响不再只是电影般的了,现实越来越离家了。我在印度电影界有朋友,他们被公司勒索为受害者,遭到威胁并开枪射击。 。 我已经写了两部小说作品-短篇小说集和一部较早的小说集-因此,到目前为止,我已经很好地理解了所有作家都面临的一个问题:如何跟踪叙事的内容,谁,什么,何时何地。 对于非作者来说,这听起来很容易。 毕竟,即使一部小说中有十几个说话的角色,要管理所有这些角色,他们的关系和他们的动作有多困难? 但是实际上,这非常困难。 试图记住一百年前您在哪儿留下了一个次要但很关键的字符很容易出错,并且向后滚动并运行文字处理器搜索以找到答案很费力且令人讨厌。 解决这些问题的传统书写工具包括:索引卡,用于记录字符注释和详细信息;在墙上绘制的时间轴;也许是用于跟踪出生日期和年龄的电子表格;以及用记号针装饰的地图。 我认识一些作家,他们建造了整个“可疑墙”,并用彩色线标记关系。 尽管付出了所有这些努力,但错误仍然渗入到印刷品中,经过了复制编辑者和事实检查者。 我收到了读者本人的来信和电子邮件,通常是友善地指出:年龄的滑移,旅行时间的不可能,关系的矛盾叙述。…