Introduction
Insert Sort和Merge Sort是排序算法中两个最基础的算法,虽然实际中很难用到,但是作为排序的启蒙还是不错的。
此次作业要求写出Insert Sort和Merge Sort,并根据随机输入对比两个算法的时间复杂度。分别在最好和最坏以及平均的情况下,通过不同数据量的输入进行对比实验。
Insert Sort和Merge Sort是排序算法中两个最基础的算法,虽然实际中很难用到,但是作为排序的启蒙还是不错的。
此次作业要求写出Insert Sort和Merge Sort,并根据随机输入对比两个算法的时间复杂度。分别在最好和最坏以及平均的情况下,通过不同数据量的输入进行对比实验。
大数据作业,利用Hadoop去跑数据集,先是几个基本的MapReduce简单问题,当然也可以用Hive,然后是去计算TF-IDF,当然,数据集得自己下,Hadoop平台也得自己去搭。
一个21点的扑克牌游戏,作业提供了框架以及游戏引擎,不过UI库是学校内部的,需要学习成本。刨除UI部分,整体不难,无非就是deal, hit, stand三个按钮,然后label显示得分。
D3.js是Javascript中的一个利用Html5的SVG的图形库,主要用于数据可视化。用他画出来的网页的确是狂拽炫酷吊炸天,但是如果浏览器很差的话,或者计算机性能很差,或者数据计算量很大的话,会卡到死。
D3总体来说还是不错的,内置了jQuery语法,熟悉选择器的话,这个库上手很快。
但是,这个库要求有很好的HTML5基础,特别是SVG标签的用法。
Toronto的R语言作业,和Toronto的其他作业一样,属于难度不高,但是细心度要求非常高,稍有不慎就会丢分。另外规矩也是一大堆,comment/docs/coding style什么的仅仅是最基本的要求而已。
一共写6个函数,运行后需要画10张图,然后找其中最优的欧氏距离。
调试方面,R语言还是比较方便的,打印变量、画图等,不过相对的,由于没有方便的IDE支持,编程速度相比C/C++,Java,Python倒是慢了不少。
Web的裸写大作业,做一个Cinemas,包括Image Gallery,Movies Selection,Movies Reservation,Shopping Cart等等功能页面,简单粗暴耗时,做了整整两天。30个得分点,每个一分,再加上bonus那滋味真是酸爽。
Nameless pipes可以做很多事情,比如在父子进程中,通过nameless pipes进行父子进程的通信。结合Unix的系统工具,甚至可以将输入输出流通过fd传给子进程。下面的作业便是通过nameless pipes将数据传递给Unix的sort和grep工具。
Normal From是数据库理论里面最恶心的问题,从1NF到6NF,加上BCNF,DKNF以及UF。不像编程作业,有运行结果作参考,做这种理论题简直是受罪,每一题都得反复推理。
像下面给出的这个作业,除了题量大以外,每个问题都是多解问题,拿满分几乎是不可能的事情。