<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Anything But Ordinary</title>
	<atom:link href="http://abowow.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://abowow.com</link>
	<description>感性的光芒，理性的光辉</description>
	<lastBuildDate>Wed, 28 Jul 2010 15:15:09 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>开战——与一个困扰我多年的游魂</title>
		<link>http://abowow.com/2010/07/im-at-war-with-a-ghost/</link>
		<comments>http://abowow.com/2010/07/im-at-war-with-a-ghost/#comments</comments>
		<pubDate>Tue, 27 Jul 2010 09:33:53 +0000</pubDate>
		<dc:creator>Shark Chaos</dc:creator>
				<category><![CDATA[日志]]></category>

		<guid isPermaLink="false">http://abowow.com/?p=464</guid>
		<description><![CDATA[给大家讲个真实的笑话。
我高中毕业那年（2006年）暑假，和两个高中的哥们去北京新东方万泉河校区上了个英语四级班。
2008年10月，我在校内网（现在的人人网）上莫名其妙地收到一个女人的留言，说我把她搞得人不人鬼不鬼的，我一看不认识，就礼貌地回了一句，“认错人了吧？”，可是这个女人开口骂人，于是我删评论，把她拖进黑名单。
与此同时，她还对和我刚分手的前女友进行漫骂，导致前女友质问我，“都分手了，你还找人来骂我，有意思么！”（大概这么个意思，原话不记得了），我和前女友解释了半天才说明白。
2009年春节前，此女铺天盖地地在我的100多位校内好友的留言板上spam，内容都是“XX（我的名字）不是什么好东西，以后不要再理他了，赶紧把他删了吧”。这次把我惹毛了，写了篇反击的文章，澄清了事实，并请校内网管理员对她进行封禁处理。
2009年春节之后，此女又通过邮件或是在一些web2.o网站（居然能找到我&#8230;）上开始对我进行各种骚扰，从她的只言片语中我得出了两个结论：
1. 她在2006年的新东方与我同班，坐在我身后，喜欢上了我。（但是新东方课上我和她一句话都没说过，对她完全没印象）
2. 她的思维很跳跃，我怀疑她的精神有点问题。
于是我尝试和她沟通，发现她只是自说自话，于是放弃。
从2009年暑假至今，她断断续续地在我的独立博客（也就是本站）上以留言的方式骚扰我，或者直接发骚扰邮件，至今已有几百条，我都没有加以理睬，全部删除。她甚至把我和她的照片PS在一起发给我，让我把饭都吐出来了。
对了，她还用短信骚扰过我的一个哥们和我的妹妹，我让他们都不要理睬。
从这些骚扰中我也捕捉到了一些信息，比如她在服用思XX和利XX这两种药品，我一查是治疗XXXX症的，她果然是有精神问题，于是我更是下定决心不理睬她的骚扰。
可是，最近出现个新情况，让我忍无可忍。她开始在我的女朋友（双霍记的博主）的博客上对我的女朋友进行骚扰。这还不算什么，更令人发指的是，她开始给我女朋友的一些博友留言污蔑我们两个人，导致有博友给我女朋友发邮件询问情况。
鉴于此女把事情做得这么恶心，我也没必要对她仁慈了，于是我决定开战。
我现在有她的姓名，照片，住址（我的大学校内），我想找到她的父母（我的大学的教工）并非难事。我相信还是有人能管住她的。
如果读者您有什么好的限制她的胡作非为的想法，请给我一些建议，谢谢！
女主角出现了，并且是假装置身事外的第三方语气&#8230;何必呢&#8230;你换来换去就是那么几个名字。
她的留言如下：
 博主:你好!
我是个过路人.但是,看了你的”开战书”不忍要说几句.我对你的做法表示不满.仅从这个题目上看,就足已说明你人格上的问题(如果真像你说的”她果然是有精神问题”).
你叙述的过程,让我看到了一个深爱你多年且在几乎绝望的情况下仍非常尊重你,任何事情都在争取博得你的同意后实现.不是吗(从你的开战书中叙述的过程表明)?她并没有像一些不检点的女孩子那样找到你;缠着你等等.直到精神崩溃她没有在社会上表现出让你难堪,影响你的学习、社交等等.并且,从这个过程看出你一定是有言语过激的情况.不然,一个好端端的孩子怎么就会像你说的那样”精神问题”呢?我相信这个女孩子一定是个文静、向上的好孩子.
从你的叙述过程表明,你从没有接触过这个女孩子.这说明你根本不了解她、不承认她、不尊重她.你只想摆脱、回避直至过激伤害酿成现在的恶果.
解决办法有二:
1、找到女孩帮助她解决心理问题.
2、隐藏你所有谈对象的网上信息,也是间接的帮助一个深爱你多年的女孩子(即使你不承认,但这是现实).
我逐条回应你：
1. 你说我人格有问题，没错，被你逼的。
2. 你深爱我为什么第一次和我说话（还是在校内网上）就破口大骂。你用你的脑子想想，谁能接受一个完全不认识的人第一次说话就破口大骂的？
3. 你尊重我为什么要在我的100多位校内好友的留言板上污蔑我？校内上的好友都是我在现实世界里的朋友，你做出这样的行为也算“没有在社会上表现出让你难堪，影响你的学习、社交等等”吗？在你这么做之前，我只是把乱骂人的你拖到了黑名单里，我有言语过激也只是在你做出这种事情以后。试问谁遇到了这样的扯淡事情之后不会言语过激？
4. 你有什么资格说我的前女友/女朋友不检点？难道就因为你这么个根本不认识的人我就不能谈恋爱了？荒唐！
5. 你文静？文静的你说了多少脏话不用我提醒你吧。用不用我贴出来让大家看看？
6. 我是“根本不了解她、不承认她、不尊重她”，因为你没通过正常人的社交方式让我了解你，承认你，尊重你。你的种种行为只是让我发自内心地厌恶你这么个陌生人。就算你没有做出种种恶心的病态的行为，你一个陌生人凭什么要求进入我的生活？
7. 对于你的解决方法，我只能说，有病看病，病看好前别上网了，为你好，也为被你伤害过的人好。
女主角再次出现：
很无聊,且无耻……
难怪人家女孩子得病……
不予理睬
我的回复：
别装了，明眼人一看你那条回复就知道怎么回事儿。你不记得你在4月29日用过盛夏的果实这个名字了么？
女主角终于承认身份：
是的,我用过.但是,以后我懒得跟你这样的人说话.
我的回复：
好的，这就是我想要的结果。我求求你以后能记住你此刻说的话，别再来骚扰我了。我再额外提一个小小的请求，请你也不要再骚扰与我相关的人。
女主角开始自说自话了（完全无法沟通&#8230;）：
胡说八道就是厚颜无耻
我的回复：
恩，这句话对你特别适用呢。你说我胡说八道，请你挑出来，我立刻给你证据，让大家看看是你胡说八道还是我胡说八道，是你厚颜无耻还是我厚颜无耻。
女主角打算一装到底：
这样的年轻人胡搅蛮缠,无可救药
我的最后一条回复：

注意图上的日期，以及她所使用的用户名和邮箱。至于IP地址，61.149.194.249和222.128.54.68都是北京联通（原网通）ADSL的随机IP。
 至此，我将不再回复，如果女主角还要自取其辱的话，请继续。我将放开你对本日志的留言，对其他日志的留言我将一如既往地删除。
随机文章

YouTube又被墙了
windows平台下修改twitterfox/Echofon默认API的方法
[转载]美国青年:中国就是一个山寨
春节流水账
Anything but ordinary

]]></description>
			<content:encoded><![CDATA[<p>给大家讲个真实的笑话。</p>
<p>我高中毕业那年（2006年）暑假，和两个高中的哥们去北京新东方万泉河校区上了个英语四级班。</p>
<p>2008年10月，我在校内网（现在的人人网）上莫名其妙地收到一个女人的留言，说我把她搞得人不人鬼不鬼的，我一看不认识，就礼貌地回了一句，“认错人了吧？”，可是这个女人开口骂人，于是我删评论，把她拖进黑名单。</p>
<p>与此同时，她还对和我刚分手的前女友进行漫骂，导致前女友质问我，“都分手了，你还找人来骂我，有意思么！”（大概这么个意思，原话不记得了），我和前女友解释了半天才说明白。</p>
<p>2009年春节前，此女铺天盖地地在我的100多位校内好友的留言板上spam，内容都是“XX（我的名字）不是什么好东西，以后不要再理他了，赶紧把他删了吧”。这次把我惹毛了，写了篇反击的文章，澄清了事实，并请校内网管理员对她进行封禁处理。</p>
<p>2009年春节之后，此女又通过邮件或是在一些web2.o网站（居然能找到我&#8230;）上开始对我进行各种骚扰，从她的只言片语中我得出了两个结论：</p>
<p>1. 她在2006年的新东方与我同班，坐在我身后，喜欢上了我。（但是新东方课上我和她一句话都没说过，对她完全没印象）</p>
<p>2. 她的思维很跳跃，我怀疑她的精神有点问题。</p>
<p>于是我尝试和她沟通，发现她只是自说自话，于是放弃。</p>
<p>从2009年暑假至今，她断断续续地在我的独立博客（也就是本站）上以留言的方式骚扰我，或者直接发骚扰邮件，至今已有几百条，我都没有加以理睬，全部删除。她甚至把我和她的照片PS在一起发给我，让我把饭都吐出来了。</p>
<p>对了，她还用短信骚扰过我的一个哥们和我的妹妹，我让他们都不要理睬。</p>
<p>从这些骚扰中我也捕捉到了一些信息，比如她在服用思XX和利XX这两种药品，我一查是治疗XXXX症的，她果然是有精神问题，于是我更是下定决心不理睬她的骚扰。</p>
<p>可是，最近出现个新情况，让我忍无可忍。她开始在我的女朋友（<a href="http://imhuo.com">双霍记</a>的博主）的博客上对我的女朋友进行骚扰。这还不算什么，更令人发指的是，她开始给我女朋友的一些博友留言污蔑我们两个人，导致有博友给我女朋友发邮件询问情况。</p>
<p>鉴于此女把事情做得这么恶心，我也没必要对她仁慈了，于是我决定开战。</p>
<p>我现在有她的姓名，照片，住址（我的大学校内），我想找到她的父母（我的大学的教工）并非难事。我相信还是有人能管住她的。</p>
<p>如果读者您有什么好的限制她的胡作非为的想法，请给我一些建议，谢谢！</p>
<p><strong><span style="color: #ff0000;">女主角出现了，并且是假装置身事外的第三方语气&#8230;何必呢&#8230;你换来换去就是那么几个名字。</span></strong><br />
<strong><span style="color: #ff0000;">她的留言如下：<br />
</span></strong> 博主:你好!<br />
我是个<strong>过路人</strong>.但是,看了你的”开战书”不忍要说几句.我对你的做法表示不满.仅从这个题目上看,就足已说明你人格上的问题(如果真像你说的”她果然是有精神问题”).<br />
你叙述的过程,让我看到了一个深爱你多年且在几乎绝望的情况下仍非常尊重你,任何事情都在争取博得你的同意后实现.不是吗(从你的开战书中叙述的过程表明)?她并没有像一些不检点的女孩子那样找到你;缠着你等等.直到精神崩溃她没有在社会上表现出让你难堪,影响你的学习、社交等等.并且,从这个过程看出你一定是有言语过激的情况.不然,一个好端端的孩子怎么就会像你说的那样”精神问题”呢?我相信这个女孩子一定是个文静、向上的好孩子.<br />
从你的叙述过程表明,你从没有接触过这个女孩子.这说明你根本不了解她、不承认她、不尊重她.你只想摆脱、回避直至过激伤害酿成现在的恶果.<br />
解决办法有二:<br />
1、找到女孩帮助她解决心理问题.<br />
2、隐藏你所有谈对象的网上信息,也是间接的帮助一个深爱你多年的女孩子(即使你不承认,但这是现实).</p>
<p><span style="color: #ff0000;"><strong>我逐条回应你：</strong></span><br />
1. 你说我人格有问题，没错，被你逼的。<br />
2. 你深爱我为什么第一次和我说话（还是在校内网上）就破口大骂。你用你的脑子想想，谁能接受一个完全不认识的人第一次说话就破口大骂的？<br />
3. 你尊重我为什么要在我的100多位校内好友的留言板上污蔑我？校内上的好友都是我在现实世界里的朋友，你做出这样的行为也算“没有在社会上表现出让你难堪，影响你的学习、社交等等”吗？在你这么做之前，我只是把乱骂人的你拖到了黑名单里，我有言语过激也只是在你做出这种事情以后。试问谁遇到了这样的扯淡事情之后不会言语过激？<br />
4. 你有什么资格说我的前女友/女朋友不检点？难道就因为你这么个根本不认识的人我就不能谈恋爱了？荒唐！<br />
5. 你文静？文静的你说了多少脏话不用我提醒你吧。用不用我贴出来让大家看看？<br />
6. 我是“根本不了解她、不承认她、不尊重她”，因为你没通过正常人的社交方式让我了解你，承认你，尊重你。你的种种行为只是让我发自内心地厌恶你这么个陌生人。就算你没有做出种种恶心的病态的行为，你一个陌生人凭什么要求进入我的生活？<br />
7. 对于你的解决方法，我只能说，有病看病，病看好前别上网了，为你好，也为被你伤害过的人好。</p>
<p><strong><span style="color: #ff0000;">女主角再次出现：<span id="more-464"></span></span></strong><br />
很无聊,且无耻……<br />
难怪人家女孩子得病……<br />
不予理睬</p>
<p><strong><span style="color: #ff0000;">我的回复：</span></strong><br />
别装了，明眼人一看你那条回复就知道怎么回事儿。你不记得你在4月29日用过盛夏的果实这个名字了么？</p>
<p><strong><span style="color: #ff0000;">女主角终于承认身份：</span></strong><br />
是的,我用过.但是,以后我懒得跟你这样的人说话.</p>
<p><strong><span style="color: #ff0000;">我的回复：</span></strong><br />
好的，这就是我想要的结果。我求求你以后能记住你此刻说的话，别再来骚扰我了。我再额外提一个小小的请求，请你也不要再骚扰与我相关的人。</p>
<p><strong><span style="color: #ff0000;">女主角开始自说自话了（完全无法沟通&#8230;）：</span></strong><br />
胡说八道就是厚颜无耻</p>
<p><strong><span style="color: #ff0000;">我的回复：</span></strong><br />
恩，这句话对你特别适用呢。你说我胡说八道，请你挑出来，我立刻给你证据，让大家看看是你胡说八道还是我胡说八道，是你厚颜无耻还是我厚颜无耻。</p>
<p><strong><span style="color: #ff0000;">女主角打算一装到底：</span></strong><br />
这样的年轻人胡搅蛮缠,无可救药</p>
<p><strong><span style="color: #ff0000;">我的最后一条回复：</span></strong><br />
<a href="http://abowow.com/wp-content/uploads/2010/07/lie.png"><img class="aligncenter size-full wp-image-466" title="lie" src="http://abowow.com/wp-content/uploads/2010/07/lie.png" alt="" width="570" height="450" /></a><br />
注意图上的日期，以及她所使用的用户名和邮箱。至于IP地址，61.149.194.249和222.128.54.68都是北京联通（原网通）ADSL的随机IP。<br />
<strong><span style="color: #ff0000;"> 至此，我将不再回复，如果女主角还要自取其辱的话，请继续。我将放开你对本日志的留言，对其他日志的留言我将一如既往地删除。</span></strong></p>
<h3>随机文章</h3>
<ul class="related_posts">
<li><a href="http://abowow.com/2010/05/twitter-users-in-mainland-china-got-a-new-choice-tweetdeck/" title="中国大陆Twitter用户的“新”选择——TweetDeck">中国大陆Twitter用户的“新”选择——TweetDeck</a></li>
<li><a href="http://abowow.com/2009/04/anything-but-ordinary/" title="Anything but ordinary">Anything but ordinary</a></li>
<li><a href="http://abowow.com/2009/06/gre-paperbase-experience/" title="GRE笔经">GRE笔经</a></li>
<li><a href="http://abowow.com/2010/01/trip-in-tianjin-and-beijing/" title="津京游记与检查书">津京游记与检查书</a></li>
<li><a href="http://abowow.com/2009/09/angels-and-demons-and-ambigram/" title="《天使与恶魔》影评以及片中对称文字">《天使与恶魔》影评以及片中对称文字</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://abowow.com/2010/07/im-at-war-with-a-ghost/feed/</wfw:commentRss>
		<slash:comments>87</slash:comments>
		</item>
		<item>
		<title>有这样一个女孩</title>
		<link>http://abowow.com/2010/07/my-girl/</link>
		<comments>http://abowow.com/2010/07/my-girl/#comments</comments>
		<pubDate>Thu, 22 Jul 2010 05:03:22 +0000</pubDate>
		<dc:creator>Shark Chaos</dc:creator>
				<category><![CDATA[日志]]></category>
		<category><![CDATA[gtalk]]></category>
		<category><![CDATA[twitter]]></category>

		<guid isPermaLink="false">http://abowow.com/?p=461</guid>
		<description><![CDATA[有这样一个女孩，她不拘一格。
有这样一个女孩，她温柔体贴。
有这样一个女孩，她嬉笑怒骂。
有这样一个女孩，她情感细腻。
她就是双霍记的博主，一个名叫霍霍的女孩。
与她的相识实在是很神奇。
最早看到她的博客时，便被她大胆的，甚至是口无遮拦的，却又充满小聪明的文字所吸引。
随后在推特上认识她，又莫名其妙地被拽进一个她加入其中的gtalk群，于是才有了与她多说两句话的机会。
再然后，一个偶然的机会，和唯音乐的博主feicun一起去TJ围观她，两天的时间让我第一次见识到那个在线上调皮搞怪没有约束的霍霍在线下确是一个很害羞的女孩。
在后来的时间里，分处两地的我们有了一段连续见面的宝贵机会，在这段时间里，我发现她温柔起来也是如此的动人，她发现我也并非那么讨厌，于是我们在一起了。
我开始同时面对线上和线下两个截然不同的她。这两个她曾在我的脑海里激烈地争论，到底哪一个才是真正的她，至今也没有分出胜负。于是，我开始接受这两个都让我非常喜欢的她的同时存在。对我来说，“双霍记”中的“双霍”并非是指两个霍字，而是指她的两面——看似对立却又和谐（请原谅我用这个俗词）地集中于她一人身上的双重性格。这就是相处半年来我对她的独特解读。
有这样一个女孩，她独一无二。
相关文章

windows平台下修改twitterfox/Echofon默认API的方法
中国大陆Twitter用户的“新”选择——TweetDeck
升级了Philna主题

]]></description>
			<content:encoded><![CDATA[<p>有这样一个女孩，她不拘一格。<br />
有这样一个女孩，她温柔体贴。<br />
有这样一个女孩，她嬉笑怒骂。<br />
有这样一个女孩，她情感细腻。</p>
<p>她就是<a href="http://imhuo.com">双霍记</a>的博主，一个名叫霍霍的女孩。</p>
<p>与她的相识实在是很神奇。<br />
最早看到她的博客时，便被她大胆的，甚至是口无遮拦的，却又充满小聪明的文字所吸引。<br />
随后在推特上认识她，又莫名其妙地被拽进一个她加入其中的gtalk群，于是才有了与她多说两句话的机会。<br />
再然后，一个偶然的机会，和<a href="http://vinmusic.com">唯音乐</a>的博主feicun一起去TJ围观她，两天的时间让我第一次见识到那个在线上调皮搞怪没有约束的霍霍在线下确是一个很害羞的女孩。</p>
<p>在后来的时间里，分处两地的我们有了一段连续见面的宝贵机会，在这段时间里，我发现她温柔起来也是如此的动人，她发现我也并非那么讨厌，于是我们在一起了。</p>
<p>我开始同时面对线上和线下两个截然不同的她。这两个她曾在我的脑海里激烈地争论，到底哪一个才是真正的她，至今也没有分出胜负。于是，我开始接受这两个都让我非常喜欢的她的同时存在。对我来说，“双霍记”中的“双霍”并非是指两个霍字，而是指她的两面——看似对立却又和谐（请原谅我用这个俗词）地集中于她一人身上的双重性格。这就是相处半年来我对她的独特解读。</p>
<p>有这样一个女孩，她独一无二。</p>
<h3>相关文章</h3>
<ul class="related_posts">
<li><a href="http://abowow.com/2009/09/modification-api-of-twitterfox-or-echofon-on-windows/" title="windows平台下修改twitterfox/Echofon默认API的方法">windows平台下修改twitterfox/Echofon默认API的方法</a></li>
<li><a href="http://abowow.com/2009/09/updated-philna-theme/" title="升级了Philna主题">升级了Philna主题</a></li>
<li><a href="http://abowow.com/2010/05/twitter-users-in-mainland-china-got-a-new-choice-tweetdeck/" title="中国大陆Twitter用户的“新”选择——TweetDeck">中国大陆Twitter用户的“新”选择——TweetDeck</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://abowow.com/2010/07/my-girl/feed/</wfw:commentRss>
		<slash:comments>22</slash:comments>
		</item>
		<item>
		<title>留学生如何购买中美机票</title>
		<link>http://abowow.com/2010/06/how-oversea-students-buy-sino-america-flight-tickets/</link>
		<comments>http://abowow.com/2010/06/how-oversea-students-buy-sino-america-flight-tickets/#comments</comments>
		<pubDate>Sat, 12 Jun 2010 14:18:17 +0000</pubDate>
		<dc:creator>Shark Chaos</dc:creator>
				<category><![CDATA[日志]]></category>
		<category><![CDATA[flight]]></category>
		<category><![CDATA[price]]></category>
		<category><![CDATA[travel]]></category>

		<guid isPermaLink="false">http://abowow.com/?p=460</guid>
		<description><![CDATA[
首先声明，本篇文章不是软文，我不是任何旅行社或是网站的托儿。
在本周买好了去美国的机票，时间和价格都很令人满意。在买机票的过程中也进行了一些探索，粗劣地了解了一些订票行业的规则，下面是我的一些经验，不一定准确，仅供参考，希望能帮助读者买到满意的机票。
注意，本文中所说的各种价格均指含税价格。
买票的过程可以简单分为以下两步：
1. 确定行程（包括日期，航空公司，航班号，需要转机的要确定好每一段行程）
2. 确定购买途径（航空公司网站还是旅行社？）
首先，各航空公司的网站通常是可以直接购票，但是需要自己去各个网站查询，不够效率，查行程直接pass。
其次，可以通过旅行社查行程，旅行社的销售代表会根据你的需求为你找最便宜的行程。如果你害怕旅行社为你推荐利润大的行程，而不是最便宜的行程，你也可以通过以下的网站自己了解一下大致的价格，选择最便宜的行程。
中文：一起飞 http://jps.yiqifei.com/ （能够很清楚地展现各个航空公司的报价）
英文：StudentUniverse http://www.studentuniverse.com/ （以北美航空公司为主）
个人感觉上面的网站的搜索结果都不够智能，也不全面，所以还是咨询旅行社为上（反正在买票前也不用花钱）。
在确认好行程以后，怎样拿到最好的价格呢？
这里还要否定通过航空公司网站的方式，因为航空公司网站上给出的价格通常是最没有吸引力的了。而同样的行程，旅行社往往能拿到更好的价格。这一点确实很神奇，也许是因为旅行社的订票量大，各航空公司愿意给他们更便宜的价格。那么怎么选择旅行社呢？这里再推荐两个网站。
1. TravelSuperLink（中英文） http://www.travelsuperlink.com/
2. 飞网中国（中文）http://www.iflychina.net/
这两个网站提供了可以一次性询问多个旅行社的平台，在平台中写清楚自己的行程，各旅行社的销售代表就会将报价发到你的邮箱中。注意，如果从中国出发，建议选择中国的旅行社，等身在美国的时候再选择美国的旅行社（也都是华人开的）。
两个网站的旅行社列表有很多重复的，选择一个就可以了。我选择了TravelSuperLink。在向旅行社询价之前，先去航空公司网站看好机票的价格，然后向旅行社发出询价请求，等待回复吧。旅行社为了拉拢客户，通常会很快回复一个他们能给出的较低价格（通常比航空公司网站上的价格便宜几百元人民币）。不用多说，选个最便宜的旅行社打电话过去，然后再和销售代表砍几十块钱就差不多了是最低价了。
订票的过程通常分为以下几步：
1. 将个人信息提供给销售代表
2. 销售代表订票，出票，并提供单子行程单。
3. 根据行程单打电话给航空公司验证机票的真实性。
（此时可将电子票与自己的航空公司账户关联起来，有些航空公司还提供选定座位的服务）
4. 向旅行社付款
有读者会担心，如果向旅行社付款后旅行社取消机票怎么办？我订票时也有这种担心，解决办法是在订票前先在网上查一下旅行社的信誉。上面两个网站提供的旅行社应该都是可靠的（但我不能保证完全安全，请谅解）。
祝愿各位飞友都能通过此种方式买到称心如意的机票。
相关文章

津京游记与检查书

]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone" src="http://pagesperso-orange.fr/passion-aviation.html%20/747-400C_04.jpg" alt="" width="525" height="266" /></p>
<p>首先声明，本篇文章不是软文，我不是任何旅行社或是网站的托儿。</p>
<p>在本周买好了去美国的机票，时间和价格都很令人满意。在买机票的过程中也进行了一些探索，粗劣地了解了一些订票行业的规则，下面是我的一些经验，不一定准确，仅供参考，希望能帮助读者买到满意的机票。</p>
<p><span style="color: #ff0000;">注意，本文中所说的各种价格均指含税价格。</span></p>
<p>买票的过程可以简单分为以下两步：</p>
<p>1. 确定行程（包括日期，航空公司，航班号，需要转机的要确定好每一段行程）</p>
<p>2. 确定购买途径（航空公司网站还是旅行社？）</p>
<p>首先，各航空公司的网站通常是可以直接购票，但是需要自己去各个网站查询，不够效率，查行程直接pass。</p>
<p>其次，可以通过旅行社查行程，旅行社的销售代表会根据你的需求为你找最便宜的行程。如果你害怕旅行社为你推荐利润大的行程，而不是最便宜的行程，你也可以通过以下的网站自己了解一下大致的价格，选择最便宜的行程。</p>
<p>中文：一起飞 <a href="http://jps.yiqifei.com/">http://jps.yiqifei.com/</a> （能够很清楚地展现各个航空公司的报价）</p>
<p>英文：StudentUniverse <a href="http://www.studentuniverse.com/">http://www.studentuniverse.com/</a> （以北美航空公司为主）</p>
<p>个人感觉上面的网站的搜索结果都不够智能，也不全面，所以还是咨询旅行社为上（反正在买票前也不用花钱）。</p>
<p>在确认好行程以后，怎样拿到最好的价格呢？<span id="more-460"></span></p>
<p>这里还要否定通过航空公司网站的方式，因为航空公司网站上给出的价格通常是最没有吸引力的了。而同样的行程，旅行社往往能拿到更好的价格。这一点确实很神奇，也许是因为旅行社的订票量大，各航空公司愿意给他们更便宜的价格。那么怎么选择旅行社呢？这里再推荐两个网站。</p>
<p>1. TravelSuperLink（中英文） <a href="http://www.travelsuperlink.com/">http://www.travelsuperlink.com/</a></p>
<p>2. 飞网中国（中文）<a href="http://www.iflychina.net/">http://www.iflychina.net/</a></p>
<p>这两个网站提供了可以一次性询问多个旅行社的平台，在平台中写清楚自己的行程，各旅行社的销售代表就会将报价发到你的邮箱中。注意，如果从中国出发，建议选择中国的旅行社，等身在美国的时候再选择美国的旅行社（也都是华人开的）。</p>
<p>两个网站的旅行社列表有很多重复的，选择一个就可以了。我选择了TravelSuperLink。在向旅行社询价之前，先去航空公司网站看好机票的价格，然后向旅行社发出询价请求，等待回复吧。旅行社为了拉拢客户，通常会很快回复一个他们能给出的较低价格（通常比航空公司网站上的价格便宜几百元人民币）。不用多说，选个最便宜的旅行社打电话过去，然后再和销售代表砍几十块钱就差不多了是最低价了。</p>
<p>订票的过程通常分为以下几步：</p>
<p>1. 将个人信息提供给销售代表</p>
<p>2. 销售代表订票，出票，并提供单子行程单。</p>
<p>3. 根据行程单打电话给航空公司验证机票的真实性。</p>
<p>（此时可将电子票与自己的航空公司账户关联起来，有些航空公司还提供选定座位的服务）</p>
<p>4. 向旅行社付款</p>
<p>有读者会担心，如果向旅行社付款后旅行社取消机票怎么办？我订票时也有这种担心，解决办法是在订票前先在网上查一下旅行社的信誉。上面两个网站提供的旅行社应该都是可靠的（<span style="color: #ff0000;">但我不能保证完全安全，请谅解</span>）。</p>
<p>祝愿各位飞友都能通过此种方式买到称心如意的机票。</p>
<h3>相关文章</h3>
<ul class="related_posts">
<li><a href="http://abowow.com/2010/01/trip-in-tianjin-and-beijing/" title="津京游记与检查书">津京游记与检查书</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://abowow.com/2010/06/how-oversea-students-buy-sino-america-flight-tickets/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>中国大陆Twitter用户的“新”选择——TweetDeck</title>
		<link>http://abowow.com/2010/05/twitter-users-in-mainland-china-got-a-new-choice-tweetdeck/</link>
		<comments>http://abowow.com/2010/05/twitter-users-in-mainland-china-got-a-new-choice-tweetdeck/#comments</comments>
		<pubDate>Fri, 21 May 2010 09:03:26 +0000</pubDate>
		<dc:creator>Shark Chaos</dc:creator>
				<category><![CDATA[技术]]></category>
		<category><![CDATA[foursquare]]></category>
		<category><![CDATA[GFW]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[twitter]]></category>

		<guid isPermaLink="false">http://abowow.com/?p=456</guid>
		<description><![CDATA[
TweetDeck是一款广受用户（尤其是英文用户）喜欢的Twitter客户端，这点可以从twitstat对其用户使用的客户端的统计可以看出来，TweetDeck是除了Twitter官方网站之外第一名的来源。这份统计虽然不是官方的，但是也可以看出用户对TweetDeck这款优秀的客户端的喜爱。
当然，由于GFW的存在，在中国大陆的用户长期以来无法直接使用不能自定义API的客户端，TweetDeck也是其中之一，所以受到大陆用户的冷遇。（当然，要想在墙内使用这类客户端也是有办法的，比如通过SocksCap或者VPN，但这不是本文的重点，这里不再赘述。）
好消息是，从桌面版0.34.1开始，TweetDeck开始允许用户使用自定义的API。于是中国大陆的用户也可以无需任何的附加工具即可使用TweetDeck。设置过程非常简单，只需要进入Settings &#62; Accounts，点击Add New Account，类型选择Twitter，输入用户名密码，然后点击Advanced Options，输入API的地址（请自行准备），即可正常使用。

也许你已经在添加Twitter账户的过程中看到了，TweetDeck 0.34.1还支持Foursquare和Buzz这两款在twitter用户中很流行的服务，你也可以将账户添加进来，通过TweetDeck一个客户端使用三种服务。
剩下的我就不多说了，由您自己体验。
相关文章

[译文]Google将和美国国家安全局联合保护互联网
windows平台下修改twitterfox/Echofon默认API的方法
[转载]美国青年:中国就是一个山寨
有这样一个女孩
Google桌面很恐怖...

]]></description>
			<content:encoded><![CDATA[<p><a href="http://abowow.com/wp-content/uploads/2010/05/tweetdeck.png"><img class="aligncenter size-full wp-image-457" title="tweetdeck" src="http://abowow.com/wp-content/uploads/2010/05/tweetdeck.png" alt="" width="258" height="60" /></a></p>
<p><a href="http://www.tweetdeck.com/" target="_blank">TweetDeck</a>是一款广受用户（尤其是英文用户）喜欢的Twitter客户端，这点可以从<a href="http://www.twitstat.com/twitterclientusers.html" target="_blank">twitstat对其用户使用的客户端的统计</a>可以看出来，TweetDeck是除了Twitter官方网站之外第一名的来源。这份统计虽然不是官方的，但是也可以看出用户对TweetDeck这款优秀的客户端的喜爱。</p>
<p>当然，由于<a href="http://zh.wikipedia.org/zh/%E9%98%B2%E7%81%AB%E9%95%BF%E5%9F%8E" target="_blank">GFW</a>的存在，在中国大陆的用户长期以来无法直接使用不能自定义API的客户端，TweetDeck也是其中之一，所以受到大陆用户的冷遇。（当然，要想在墙内使用这类客户端也是有办法的，比如通过<a href="http://www.williamlong.info/archives/2024.html" target="_blank">SocksCap</a>或者<a href="http://zh.wikipedia.org/zh/%E8%99%9B%E6%93%AC%E7%A7%81%E4%BA%BA%E7%B6%B2%E8%B7%AF" target="_blank">VPN</a>，但这不是本文的重点，这里不再赘述。）</p>
<p>好消息是，从<a href="http://www.tweetdeck.com/desktop/" target="_blank">桌面版0.34.1</a>开始，TweetDeck开始允许用户使用自定义的API。于是中国大陆的用户也可以无需任何的附加工具即可使用TweetDeck。设置过程非常简单，只需要进入Settings &gt; Accounts，点击Add New Account，类型选择Twitter，输入用户名密码，然后点击Advanced Options，输入API的地址（请自行准备），即可正常使用。</p>
<p style="text-align: center;"><a href="http://abowow.com/wp-content/uploads/2010/05/tweetdeck_account.png"><img class="aligncenter size-full wp-image-458" title="tweetdeck_account" src="http://abowow.com/wp-content/uploads/2010/05/tweetdeck_account.png" alt="" width="488" height="345" /></a></p>
<p>也许你已经在添加Twitter账户的过程中看到了，TweetDeck 0.34.1还支持<a href="http://foursquare.com/" target="_blank">Foursquare</a>和<a href="http://www.google.com/buzz" target="_blank">Buzz</a>这两款在twitter用户中很流行的服务，你也可以将账户添加进来，通过TweetDeck一个客户端使用三种服务。</p>
<p><a href="http://abowow.com/wp-content/uploads/2010/05/tweetdeck_4sq_buzz.png"><img class="aligncenter size-full wp-image-459" title="tweetdeck_4sq_buzz" src="http://abowow.com/wp-content/uploads/2010/05/tweetdeck_4sq_buzz.png" alt="" /></a>剩下的我就不多说了，由您自己体验。</p>
<h3>相关文章</h3>
<ul class="related_posts">
<li><a href="http://abowow.com/2010/07/my-girl/" title="有这样一个女孩">有这样一个女孩</a></li>
<li><a href="http://abowow.com/2010/02/google-and-nsa-team-up-to-protect-the-cloud/" title="[译文]Google将和美国国家安全局联合保护互联网">[译文]Google将和美国国家安全局联合保护互联网</a></li>
<li><a href="http://abowow.com/2009/10/a-awesome-video-toy-soldiers/" title="超NB的一段视频——Toy Soldiers/法国玩具大阅兵">超NB的一段视频——Toy Soldiers/法国玩具大阅兵</a></li>
<li><a href="http://abowow.com/2009/06/website-anomaly/" title="国内网站都维护，国外网站都撞墙">国内网站都维护，国外网站都撞墙</a></li>
<li><a href="http://abowow.com/2009/04/youtube-gfwed/" title="YouTube又被墙了">YouTube又被墙了</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://abowow.com/2010/05/twitter-users-in-mainland-china-got-a-new-choice-tweetdeck/feed/</wfw:commentRss>
		<slash:comments>25</slash:comments>
		</item>
		<item>
		<title>从stanford网络课程cs107学到的C语言通用类型容器设计</title>
		<link>http://abowow.com/2010/05/stanford-cs107-generic-c-containers-design/</link>
		<comments>http://abowow.com/2010/05/stanford-cs107-generic-c-containers-design/#comments</comments>
		<pubDate>Thu, 06 May 2010 08:31:01 +0000</pubDate>
		<dc:creator>Shark Chaos</dc:creator>
				<category><![CDATA[技术]]></category>
		<category><![CDATA[C/C++]]></category>
		<category><![CDATA[computer science]]></category>
		<category><![CDATA[stanford]]></category>

		<guid isPermaLink="false">http://abowow.com/?p=453</guid>
		<description><![CDATA[
 0 前言
最近深感自己的coding能力太差，于是很自觉地找来了stanford的网络课程来充实自己。最近在学的是由Jerry Cain主讲的Programming Paradigm课程。该课程的内容像一锅大杂烩，涵盖了C/C++，assembly,  python等程序设计语言，以及sequential / concurrent programming，procedure-oriented / object-oriented programming等多种程序设计模式。此外，该课程还捎带了计算机体系结构，操作系统，编译原理等相关课程的知识，真是琳琅满目啊！最可贵的是，该课程的assignment各个都是经过精心设计的，不但有趣而且实用，有一定的代码量和难度，做下来一定受益匪浅！
目前我学完了前10个lecture，觉得收获最大的是学会了C语言通用类型容器的设计，本篇日志将围绕这个话题展开讨论。Hope you&#8217;ll like it  
 1 为什么要写C版本的通用容器
也许我们已经习惯了C++标准库中的多种容器，比如最常用的vector，还有map，set等等。这些容器让我们彻底舍弃了恼人的数组。而C并未为我们提供这些，如果贪恋vector的便利，那么何不自己动手写一份呢？而且，使用C版本的容器在工业界是非常有现实意义的。当我们面对有限的主存时（比如手机，PDA等），通过C++通用容器生成的汇编代码会占用大量的空间。比如，当我们声明vector&#60;int&#62;类型的变量时，编译器会生成一份只接纳int类型的代码，当声明vector&#60;double&#62;时，编译器又生成了另一份代码，以此类推&#8230; 而C语言的容器会为所有的类型使用同一份代码。虽然你需要为此牺牲类型的安全性以及使用上的便利性，但是汇编代码的巨大缩减会让你觉得这是值得的。事实上，微软，苹果，Sun的系统工程师也在使用自己编写的容器来替代C++的vector以提高系统效率。
另外，正如Jerry老师在assignment 3（C语言vector和hashset的实现）的handout中所讲，“这件事儿会让你发现C原来这么牛逼，一但你成功编写，debug，用C vector做练习，你对于指针，主存，动态分配的理解会达到顶尖水平。这是我对你们的承诺。”
 2 C与C++相比差了什么
抛开C与C++在标准库上的差距，我们单纯从语言特性上来看看C和C++差了什么。
首先进入我脑海的是C没有reference。没关系，Jerry老师会告诉你，reference其实只是会自动dereference的pointer。两者在功能上是无差别的。其实，pointer版的swap和reference版的swap生成的汇编代码是完全一样的。
此外，C没有Class，无法隐藏结构/类的成员。Jerry老师又告诉你了，没办法，这是C的短板，在使用C容器的时候，我们就假装结构的成员变量是不可见的，只调用配套的函数，不直接对成员变量进行操作。另外，我们无法在C的struct中定义函数，于是我们无法用’.’或’-&#62;’操作符调用成员方法，只能在struct之外定义函数，并将容器指针作为参数传入。
接下来是最要紧的，C没有Template，于是乎，我们不能告诉容器它所存储的类型，配套的函数也无法得知类型信息。怎么办呢？如果没有这方便的编程经验，恐怕会对这个问题一筹莫展。下面就是我在这门课上学到的精髓：通过传递void *类型参数，辅以容器所存储的类型的size，我们就可以对所存储的类型进行各种操作。这句话可能让你摸不着头脑，没关系，我们看看下面的例子。比如，我们想在vector中存储fraction类型，fraction的定义如下：

typedef struct &#123;
  int num;
  int denum;
&#125; fraction;

如果是C++，我们直接通过vector&#60;fraction&#62;的方式在初始化的时候告诉vector它所存储的类型，通过fraction类型参数传递/操作容器外的元素。对于C语言，我们在初始化vector时传入整形参数sizeof(fraction)以利于存储空间的动态分配，容器内元素的移动等操作；而在需要对容器外元素进行操作的时候，传入void*类型参数，并对其进行强制类型转换(fraction*)，然后就可以访问fraction元素了。如下例,

VectorSomeFunc&#40;/*some parameters*/ void *elemAddr&#41; &#123;
  fraction *f = &#40;fraction *&#41;elemAddr;
  // do something to f-&#62;num or f-&#62;denum
&#125;
fraction f;
f.num = 22;
f.denum = [...]]]></description>
			<content:encoded><![CDATA[<p><img class="aligncenter" title="standford_engineering" src="http://soe.stanford.edu/images/logo.gif" alt="" width="145" height="64" /><br />
<strong> 0 前言</strong><br />
最近深感自己的coding能力太差，于是很自觉地找来了stanford的网络课程来充实自己。最近在学的是由Jerry Cain主讲的<a title="http://see.stanford.edu/see/courseinfo.aspx?coll=2d712634-2bf1-4b55-9a3a-ca9d470755ee" href="http://see.stanford.edu/see/courseinfo.aspx?coll=2d712634-2bf1-4b55-9a3a-ca9d470755ee" target="_blank">Programming Paradigm课程</a>。该课程的内容像一锅大杂烩，涵盖了C/C++，assembly,  python等程序设计语言，以及sequential / concurrent programming，procedure-oriented / object-oriented programming等多种程序设计模式。此外，该课程还捎带了计算机体系结构，操作系统，编译原理等相关课程的知识，真是琳琅满目啊！最可贵的是，该课程的assignment各个都是经过精心设计的，不但有趣而且实用，有一定的代码量和难度，做下来一定受益匪浅！</p>
<p>目前我学完了前10个lecture，觉得收获最大的是学会了C语言通用类型容器的设计，本篇日志将围绕这个话题展开讨论。Hope you&#8217;ll like it <img src='http://abowow.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><strong> 1 为什么要写C版本的通用容器</strong><br />
也许我们已经习惯了C++标准库中的多种容器，比如最常用的vector，还有map，set等等。这些容器让我们彻底舍弃了恼人的数组。而C并未为我们提供这些，如果贪恋vector的便利，那么何不自己动手写一份呢？而且，使用C版本的容器在工业界是非常有现实意义的。当我们面对有限的主存时（比如手机，PDA等），通过C++通用容器生成的汇编代码会占用大量的空间。比如，当我们声明vector&lt;int&gt;类型的变量时，编译器会生成一份只接纳int类型的代码，当声明vector&lt;double&gt;时，编译器又生成了另一份代码，以此类推&#8230; 而C语言的容器会为所有的类型使用同一份代码。虽然你需要为此牺牲类型的安全性以及使用上的便利性，但是汇编代码的巨大缩减会让你觉得这是值得的。事实上，微软，苹果，Sun的系统工程师也在使用自己编写的容器来替代C++的vector以提高系统效率。</p>
<p>另外，正如Jerry老师在assignment 3（C语言vector和hashset的实现）的handout中所讲，“<strong>这件事儿会让你发现C原来这么牛逼，一但你成功编写，debug，用C vector做练习，你对于指针，主存，动态分配的理解会达到顶尖水平。这是我对你们的承诺。</strong>”</p>
<p><strong> 2 C与C++相比差了什么</strong><br />
抛开C与C++在标准库上的差距，我们单纯从语言特性上来看看C和C++差了什么。</p>
<p>首先进入我脑海的是C没有reference。没关系，Jerry老师会告诉你，reference其实只是会自动dereference的pointer。两者在功能上是无差别的。其实，pointer版的swap和reference版的swap生成的汇编代码是完全一样的。</p>
<p>此外，C没有Class，无法隐藏结构/类的成员。Jerry老师又告诉你了，没办法，这是C的短板，在使用C容器的时候，我们就假装结构的成员变量是不可见的，只调用配套的函数，不直接对成员变量进行操作。另外，我们无法在C的struct中定义函数，于是我们无法用’.’或’-&gt;’操作符调用成员方法，只能在struct之外定义函数，并将容器指针作为参数传入。</p>
<p>接下来是最要紧的，C没有Template，于是乎，我们不能告诉容器它所存储的类型，配套的函数也无法得知类型信息。怎么办呢？如果没有这方便的编程经验，恐怕会对这个问题一筹莫展。下面就是我在这门课上学到的精髓：<strong>通过传递void *类型参数，辅以容器所存储的类型的size，我们就可以对所存储的类型进行各种操作</strong>。这句话可能让你摸不着头脑，没关系，我们看看下面的例子。比如，我们想在vector中存储fraction类型，fraction的定义如下：</p>

<div class="wp_syntax"><div class="code"><pre class="c" style="font-family:monospace;"><span style="color: #993333;">typedef</span> <span style="color: #993333;">struct</span> <span style="color: #009900;">&#123;</span>
  <span style="color: #993333;">int</span> num<span style="color: #339933;">;</span>
  <span style="color: #993333;">int</span> denum<span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span> fraction<span style="color: #339933;">;</span></pre></div></div>

<p>如果是C++，我们直接通过vector&lt;fraction&gt;的方式在初始化的时候告诉vector它所存储的类型，通过fraction类型参数传递/操作容器外的元素。对于C语言，我们在初始化vector时传入整形参数sizeof(fraction)以利于存储空间的动态分配，容器内元素的移动等操作；而在需要对容器外元素进行操作的时候，传入void*类型参数，并对其进行强制类型转换(fraction*)，然后就可以访问fraction元素了。如下例,</p>

<div class="wp_syntax"><div class="code"><pre class="c" style="font-family:monospace;">VectorSomeFunc<span style="color: #009900;">&#40;</span><span style="color: #808080; font-style: italic;">/*some parameters*/</span> <span style="color: #993333;">void</span> <span style="color: #339933;">*</span>elemAddr<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
  fraction <span style="color: #339933;">*</span>f <span style="color: #339933;">=</span> <span style="color: #009900;">&#40;</span>fraction <span style="color: #339933;">*</span><span style="color: #009900;">&#41;</span>elemAddr<span style="color: #339933;">;</span>
  <span style="color: #666666; font-style: italic;">// do something to f-&gt;num or f-&gt;denum</span>
<span style="color: #009900;">&#125;</span>
fraction f<span style="color: #339933;">;</span>
f.<span style="color: #202020;">num</span> <span style="color: #339933;">=</span> <span style="color: #0000dd;">22</span><span style="color: #339933;">;</span>
f.<span style="color: #202020;">denum</span> <span style="color: #339933;">=</span> <span style="color: #0000dd;">7</span><span style="color: #339933;">;</span>
VectorSomeFunc<span style="color: #009900;">&#40;</span><span style="color: #808080; font-style: italic;">/*some parameters*/</span> <span style="color: #339933;">&amp;</span>f<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>这里使用void *类型作为函数参数是非常精妙的，因为它可以接受任何类型的指针，当我们需要用vector存储int时，我们传入int *类型的参数，需要用vector存储char *时，我们传入char **类型的参数，再分别在函数内部做(int *)，(char **)的强制转换之后就可以访问元素了。正是如此，我们才实现了“通用(generic)”这两个字。这里需要提醒一下，void *类型的参数是不能够直接deference的，也就是说，不能用对void *类型的参数进行&#8217;*'和&#8217;->&#8217;操作，强制转换以后才可以。</p>
<p><strong>3 管中窥豹——stack的实现</strong><br />
stack的实现是在cs107的课上讲到的，明白了上面的设计想法之后，比较容易实现。这里贴出源代码，并简单讨论一下。<br />
<span id="more-453"></span><br />
<em>stack.h</em></p>

<div class="wp_syntax"><div class="code"><pre class="c" style="font-family:monospace;"><span style="color: #339933;">#ifndef __STACK_H__</span>
<span style="color: #339933;">#define __STACK_H__</span>
&nbsp;
<span style="color: #993333;">typedef</span> <span style="color: #993333;">struct</span> <span style="color: #009900;">&#123;</span>
    <span style="color: #993333;">void</span> <span style="color: #339933;">*</span>elems<span style="color: #339933;">;</span>
    <span style="color: #993333;">int</span> elemSize<span style="color: #339933;">;</span>
    <span style="color: #993333;">int</span> logLength<span style="color: #339933;">;</span>
    <span style="color: #993333;">int</span> allocLength<span style="color: #339933;">;</span>
    <span style="color: #993333;">void</span> <span style="color: #009900;">&#40;</span><span style="color: #339933;">*</span>freeFn<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#40;</span><span style="color: #993333;">void</span> <span style="color: #339933;">*</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span> stack<span style="color: #339933;">;</span>
&nbsp;
<span style="color: #993333;">void</span> stackNew<span style="color: #009900;">&#40;</span>stack <span style="color: #339933;">*</span>s<span style="color: #339933;">,</span> <span style="color: #993333;">int</span> elemSize<span style="color: #339933;">,</span> <span style="color: #993333;">void</span> <span style="color: #009900;">&#40;</span><span style="color: #339933;">*</span>freeFn<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#40;</span><span style="color: #993333;">void</span> <span style="color: #339933;">*</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #993333;">void</span> stackDispose<span style="color: #009900;">&#40;</span>stack <span style="color: #339933;">*</span>s<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #993333;">void</span> stackPush<span style="color: #009900;">&#40;</span>stack <span style="color: #339933;">*</span>s<span style="color: #339933;">,</span> <span style="color: #993333;">void</span> <span style="color: #339933;">*</span>elemAddr<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #993333;">void</span> stackPop<span style="color: #009900;">&#40;</span>stack <span style="color: #339933;">*</span>s<span style="color: #339933;">,</span> <span style="color: #993333;">void</span> <span style="color: #339933;">*</span>elemAddr<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #339933;">#endif // __STACK_H__</span></pre></div></div>

<p>stack结构中的elems是stack存储空间的头指针，因为要实现“通用”，所以声明为void *类型。<br />
elemSize是上文提到的元素的size。<br />
logLength是stack存储元素的个数。allocLength是已分配空间所能容纳的元素的个数。注意，这两个概念是不同的。我将在下文合适的位置对此做详细的解释。<br />
freeFn是用来释放元素的，对于int之类不需要释放的类型，可以传入NULL，而对于自定义结构，数组，指针，则需要客户来写释放函数，并在初始化的时候传给vector。<br />
剩下的函数的功能通过函数名已经可以很好地自说明了，这里不再赘述。</p>
<p><em>stack.c</em></p>

<div class="wp_syntax"><div class="code"><pre class="c" style="font-family:monospace;"><span style="color: #339933;">#include &quot;stack.h&quot;</span>
<span style="color: #339933;">#include &lt;assert.h&gt;</span>
<span style="color: #339933;">#include &lt;stdlib.h&gt;</span>
<span style="color: #339933;">#include &lt;string.h&gt;</span>
&nbsp;
<span style="color: #993333;">void</span> stackNew<span style="color: #009900;">&#40;</span>stack <span style="color: #339933;">*</span>s<span style="color: #339933;">,</span> <span style="color: #993333;">int</span> elemSize<span style="color: #339933;">,</span> <span style="color: #993333;">void</span> <span style="color: #009900;">&#40;</span><span style="color: #339933;">*</span>freeFn<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#40;</span><span style="color: #993333;">void</span> <span style="color: #339933;">*</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
    assert<span style="color: #009900;">&#40;</span>elemSize <span style="color: #339933;">&gt;</span> <span style="color: #0000dd;">0</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    s<span style="color: #339933;">-&gt;</span>elemSize <span style="color: #339933;">=</span> elemSize<span style="color: #339933;">;</span>
    s<span style="color: #339933;">-&gt;</span>logLength <span style="color: #339933;">=</span> <span style="color: #0000dd;">0</span><span style="color: #339933;">;</span>
    s<span style="color: #339933;">-&gt;</span>allocLength <span style="color: #339933;">=</span> <span style="color: #0000dd;">4</span><span style="color: #339933;">;</span>
    s<span style="color: #339933;">-&gt;</span>elems <span style="color: #339933;">=</span> malloc<span style="color: #009900;">&#40;</span>s<span style="color: #339933;">-&gt;</span>allocLength <span style="color: #339933;">*</span> elemSize<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    assert<span style="color: #009900;">&#40;</span>s<span style="color: #339933;">-&gt;</span>elems <span style="color: #339933;">!=</span> NULL<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    s<span style="color: #339933;">-&gt;</span>freeFn <span style="color: #339933;">=</span> freeFn<span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #993333;">void</span> stackDispose<span style="color: #009900;">&#40;</span>stack <span style="color: #339933;">*</span>s<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
    <span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span>s<span style="color: #339933;">-&gt;</span>freeFn <span style="color: #339933;">!=</span> NULL<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        <span style="color: #b1b100;">for</span><span style="color: #009900;">&#40;</span><span style="color: #993333;">int</span> i <span style="color: #339933;">=</span> <span style="color: #0000dd;">0</span><span style="color: #339933;">;</span> i <span style="color: #339933;">&lt;</span> s<span style="color: #339933;">-&gt;</span>logLength<span style="color: #339933;">;</span> i<span style="color: #339933;">++</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
            s<span style="color: #339933;">-&gt;</span>freeFn<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span><span style="color: #993333;">char</span> <span style="color: #339933;">*</span><span style="color: #009900;">&#41;</span>s<span style="color: #339933;">-&gt;</span>elems <span style="color: #339933;">+</span> i <span style="color: #339933;">*</span> s<span style="color: #339933;">-&gt;</span>elemSize<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #009900;">&#125;</span>
    <span style="color: #009900;">&#125;</span>
    free<span style="color: #009900;">&#40;</span>s<span style="color: #339933;">-&gt;</span>elems<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #993333;">static</span> <span style="color: #993333;">void</span> stackGrow<span style="color: #009900;">&#40;</span>stack <span style="color: #339933;">*</span>s<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
    s<span style="color: #339933;">-&gt;</span>allocLength <span style="color: #339933;">*=</span> <span style="color: #0000dd;">2</span><span style="color: #339933;">;</span>
    s<span style="color: #339933;">-&gt;</span>elems <span style="color: #339933;">=</span> realloc<span style="color: #009900;">&#40;</span>s<span style="color: #339933;">-&gt;</span>elems<span style="color: #339933;">,</span> s<span style="color: #339933;">-&gt;</span>allocLength <span style="color: #339933;">*</span> s<span style="color: #339933;">-&gt;</span>elemSize<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    assert<span style="color: #009900;">&#40;</span>s<span style="color: #339933;">-&gt;</span>elems <span style="color: #339933;">!=</span> NULL<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #993333;">void</span> stackPush<span style="color: #009900;">&#40;</span>stack <span style="color: #339933;">*</span>s<span style="color: #339933;">,</span> <span style="color: #993333;">void</span> <span style="color: #339933;">*</span>elemAddr<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
    <span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span>s<span style="color: #339933;">-&gt;</span>logLength <span style="color: #339933;">==</span> s<span style="color: #339933;">-&gt;</span>allocLength<span style="color: #009900;">&#41;</span>
        stackGrow<span style="color: #009900;">&#40;</span>s<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #993333;">void</span> <span style="color: #339933;">*</span>target <span style="color: #339933;">=</span> <span style="color: #009900;">&#40;</span><span style="color: #993333;">char</span> <span style="color: #339933;">*</span><span style="color: #009900;">&#41;</span>s<span style="color: #339933;">-&gt;</span>elems <span style="color: #339933;">+</span> s<span style="color: #339933;">-&gt;</span>logLength <span style="color: #339933;">*</span> s<span style="color: #339933;">-&gt;</span>elemSize<span style="color: #339933;">;</span>
    memcpy<span style="color: #009900;">&#40;</span>target<span style="color: #339933;">,</span> elemAddr<span style="color: #339933;">,</span> s<span style="color: #339933;">-&gt;</span>elemSize<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    s<span style="color: #339933;">-&gt;</span>logLength<span style="color: #339933;">++;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #993333;">void</span> stackPop<span style="color: #009900;">&#40;</span>stack <span style="color: #339933;">*</span>s<span style="color: #339933;">,</span> <span style="color: #993333;">void</span> <span style="color: #339933;">*</span>elemAddr<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
    <span style="color: #993333;">void</span> <span style="color: #339933;">*</span>source <span style="color: #339933;">=</span> <span style="color: #009900;">&#40;</span><span style="color: #993333;">char</span> <span style="color: #339933;">*</span><span style="color: #009900;">&#41;</span>s<span style="color: #339933;">-&gt;</span>elems <span style="color: #339933;">+</span> <span style="color: #009900;">&#40;</span>s<span style="color: #339933;">-&gt;</span>logLength <span style="color: #339933;">-</span> <span style="color: #0000dd;">1</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">*</span> s<span style="color: #339933;">-&gt;</span>elemSize<span style="color: #339933;">;</span>
    memcpy<span style="color: #009900;">&#40;</span>elemAddr<span style="color: #339933;">,</span> source<span style="color: #339933;">,</span> s<span style="color: #339933;">-&gt;</span>elemSize<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    s<span style="color: #339933;">-&gt;</span>logLength<span style="color: #339933;">--;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<p>对于stackNew，有以下两点要解释：<br />
1. assert是一个宏，而非函数，定义在assert.h中，用于确保括号内的条件(elemSize &gt; 0)成立，如果elemSize &lt;= 0（无意义的情况），则会打印包含源文件名和行号的错误信息，并终止程序的运行。<br />
2. logLength初始为0，这个好理解，因为还没有元素。而allocLength初始为4，这个就费点功夫了。我们知道stack是动态增长的。理论上，我们可以在每次push的时候才分配新空间。但是，重分配需要调用realloc函数，可能会移动所有的元素到新的地址，很费时间，所以，我们要尽量减少重分配的次数以提高效率，于是，我们采用在初始化的时候分配4个元素的空间，当4个不够用的时候，就重新分配，扩充到8个，8个不够的时候扩充到16个，以此类推，每次需要重新分配的时候都将allocLength倍增。这样，下面的</p>

<div class="wp_syntax"><div class="code"><pre class="c" style="font-family:monospace;">s<span style="color: #339933;">-&gt;</span>elems <span style="color: #339933;">=</span> malloc<span style="color: #009900;">&#40;</span>s<span style="color: #339933;">-&gt;</span>allocLength <span style="color: #339933;">*</span> elemSize<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>和stackGrow中的</p>

<div class="wp_syntax"><div class="code"><pre class="c" style="font-family:monospace;">s<span style="color: #339933;">-&gt;</span>allocLength <span style="color: #339933;">*=</span> <span style="color: #0000dd;">2</span><span style="color: #339933;">;</span>
s<span style="color: #339933;">-&gt;</span>elems <span style="color: #339933;">=</span> realloc<span style="color: #009900;">&#40;</span>s<span style="color: #339933;">-&gt;</span>elems<span style="color: #339933;">,</span> s<span style="color: #339933;">-&gt;</span>allocLength <span style="color: #339933;">*</span> s<span style="color: #339933;">-&gt;</span>elemSize<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>就好理解了。<br />
对于stackGrow，经过刚才的讲解，应该很清晰了。值得注意的是，该函数被标示为static，意思是该函数只能被本源文件中的其他函数调用，而不能被本源文件之外的函数调用。其实相当于C++中Class的private方法。<br />
对于剩下的stackDispose，stackPush，stackPop，实现的时候要注意指针的运算。这里有一个技巧，在进行指针运算之前，要将s-&gt;elems强制转换成char *类型，因为char类型占用一个字节（也可以用unsigned short，但是显然char打起来更快:P），elemSize也是以字节为单位的，这样计算的时候就不会出错。</p>
<p>最后，贴一个简单的测试程序（连接的时候不要忘了stack.o :p）。</p>
<p><em>main.c</em></p>

<div class="wp_syntax"><div class="code"><pre class="c" style="font-family:monospace;"><span style="color: #339933;">#include &quot;stack.h&quot;</span>
<span style="color: #339933;">#include &lt;stdio.h&gt;</span>
<span style="color: #339933;">#include &lt;stdlib.h&gt;</span>
<span style="color: #339933;">#include &lt;string.h&gt;</span>
&nbsp;
<span style="color: #993333;">void</span> stringFree<span style="color: #009900;">&#40;</span><span style="color: #993333;">void</span> <span style="color: #339933;">*</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #993333;">int</span> main<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
    stack s<span style="color: #339933;">;</span>
    stackNew<span style="color: #009900;">&#40;</span><span style="color: #339933;">&amp;</span>s<span style="color: #339933;">,</span> <span style="color: #993333;">sizeof</span><span style="color: #009900;">&#40;</span><span style="color: #993333;">char</span> <span style="color: #339933;">*</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span> stringFree<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #993333;">const</span> <span style="color: #993333;">char</span> <span style="color: #339933;">*</span>days<span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #009900;">&#123;</span><span style="color: #ff0000;">&quot;Monday&quot;</span><span style="color: #339933;">,</span> <span style="color: #ff0000;">&quot;Tuesday&quot;</span><span style="color: #339933;">,</span> <span style="color: #ff0000;">&quot;Wednesday&quot;</span><span style="color: #339933;">,</span> <span style="color: #ff0000;">&quot;Thurday&quot;</span><span style="color: #339933;">,</span> <span style="color: #ff0000;">&quot;Friday&quot;</span><span style="color: #339933;">,</span> <span style="color: #ff0000;">&quot;Saturday&quot;</span><span style="color: #339933;">,</span> <span style="color: #ff0000;">&quot;Sunday&quot;</span><span style="color: #009900;">&#125;</span><span style="color: #339933;">;</span>
    <span style="color: #993333;">int</span> i<span style="color: #339933;">;</span>
    <span style="color: #b1b100;">for</span><span style="color: #009900;">&#40;</span>i <span style="color: #339933;">=</span> <span style="color: #0000dd;">0</span><span style="color: #339933;">;</span> i <span style="color: #339933;">&lt;</span> <span style="color: #0000dd;">7</span><span style="color: #339933;">;</span> i<span style="color: #339933;">++</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        <span style="color: #993333;">char</span> <span style="color: #339933;">*</span>copy <span style="color: #339933;">=</span> strdup<span style="color: #009900;">&#40;</span>days<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        stackPush<span style="color: #009900;">&#40;</span><span style="color: #339933;">&amp;</span>s<span style="color: #339933;">,</span> <span style="color: #339933;">&amp;</span>copy<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
    <span style="color: #b1b100;">for</span><span style="color: #009900;">&#40;</span>i <span style="color: #339933;">=</span> <span style="color: #0000dd;">0</span><span style="color: #339933;">;</span> i <span style="color: #339933;">&lt;</span> <span style="color: #0000dd;">7</span><span style="color: #339933;">;</span> i<span style="color: #339933;">++</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        <span style="color: #993333;">char</span> <span style="color: #339933;">*</span>day<span style="color: #339933;">;</span>
        stackPop<span style="color: #009900;">&#40;</span><span style="color: #339933;">&amp;</span>s<span style="color: #339933;">,</span> <span style="color: #339933;">&amp;</span>day<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #000066;">printf</span><span style="color: #009900;">&#40;</span><span style="color: #ff0000;">&quot;%s<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">,</span> day<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        free<span style="color: #009900;">&#40;</span>day<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
    stackDispose<span style="color: #009900;">&#40;</span><span style="color: #339933;">&amp;</span>s<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #b1b100;">return</span> <span style="color: #0000dd;">0</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #993333;">void</span> stringFree<span style="color: #009900;">&#40;</span><span style="color: #993333;">void</span> <span style="color: #339933;">*</span>elem<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
    free<span style="color: #009900;">&#40;</span><span style="color: #339933;">*</span><span style="color: #009900;">&#40;</span><span style="color: #993333;">char</span> <span style="color: #339933;">**</span><span style="color: #009900;">&#41;</span>elem<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<p>请自行琢磨一下倒数第二行的*(char **)elem吧:)。</p>
<p><strong>4 实战——vector和hashset的实现</strong><br />
掌握了以上的知识，你就可以大胆去实现cs107 assignment3中的vector了。TA已经帮你写好了框架，并帮你准备好了变态的测试程序，你所要做的是考虑vector结构需要哪些成员变量以及如何实现每个函数。用到的东西大多都包含在上面的例子了。哦对了，你可能需要man一下memmove/qsort/bsearch。由于篇幅所限，这里就不贴上代码了，感兴趣的同学请<a href="http://abowow.com/upload/vector.tar.gz" target="_blank">点击这里</a>下载我实现的vector。</p>
<p>实现了vector之后就可以动手实现hashset了。TA同样为你写好了框架和测试程序，但是，hashset这个容器实在是让人觉得生疏，handout上也只有只言片语。没办法，google之，你会发现，<a href="http://www.sgi.com/tech/stl/hash_set.html" target="_blank">hash_set</a>是STL库中的容器（STL是Standard Template Library的缩写）。看下来以后依然一头雾水，网上关于hashset内部数据结构的介绍又非常匮乏，没办法，再回头去挖掘handout，一边写代码，一边琢磨，最终终于琢磨透了hashset的结构，在这里与大家分享一下。</p>
<p>hashset中最核心的部分莫过于hash函数。hash函数由客户根据所要存储的类型自行定义。所谓hash函数，是指将同一类型的各种元素映射到不同的bucket中。bucket的总数是固定的，设为numBuckets。那么hash函数也就是：num = hash(elem)，其中num属于[0, numBuckets)。参考下图numBuckets = 5的情况：</p>
<p style="text-align: center;"><a href="http://abowow.com/wp-content/uploads/2010/05/hashfunc.png"><img class="aligncenter size-full wp-image-454" title="hashfunc" src="http://abowow.com/wp-content/uploads/2010/05/hashfunc.png" alt="" width="550" height="550" /></a>图1 hash函数</p>
<p style="text-align: left;">每个bucket实际上是一个vector，hash函数完成“分组”之后，将元素添加到相应的vector中去。在添加的时候，要根据客户提供的比较函数cmpfn去判断该元素是否已经存在，搜索vector中的元素，一一进行比对，如果不存在，则插入vector对尾，否则，要替换原有的元素。既然两个元素一样为什么要替换呢？因为这里所说的“一样”不一定是完全相等，这要看cmpfn是怎么定义的，很有可能两个元素中的某个关键成员变量相同，就认为这两个元素“一样”了。</p>
<p style="text-align: left;">那么，hashset这样的存储方式有什么优点呢？答案是hashset可以提供非常快速的查找。当需要查找某元素时，首先对其执行hash函数找到它的“组织”，然后只需在“组织”内查找，因为该元素是不可能出现在别的组织当中的。如果numBuckets = 5，则平均查找时间缩短了接近4/5。如果numBuckets = 1009（通常取大质数），则平均搜索时间几乎只是连续存储型容器的千分之一。</p>
<p style="text-align: left;">所以，hashset非常适合存储用于查询的大量数据，比如一个20多MB纯文本的同义词词典（这也是assignment 3的终极测试数据源:p）。</p>
<p style="text-align: left;"><a href="http://abowow.com/upload/hashset.tar.gz" target="_blank">这里</a>是我实现的hashset。</p>
<p><strong>5 结语</strong><br />
<span style="font-weight: normal;">我这里也仅仅总结了一下自己学到的东西，可能有疏漏，可能有谬误，欢迎各位读者指正。我想通过此文让更多的编程入门者体验到这其中的乐趣。我在这里强烈建议已经耐心地看到这里的各位去听一听stanford的公开课程，花上一些时间，费上一些脑筋，去完成课程的编程作业，一定会像我一样收获颇丰的！</span></p>
<p style="text-align: left;">
<p><strong>References</strong><br />
[1] Introduction to computer science | programming paradigms http://see.stanford.edu/see/courseinfo.aspx?coll=2d712634-2bf1-4b55-9a3a-ca9d470755ee<br />
[2] STL hash_set http://www.sgi.com/tech/stl/hash_set.html</p>
<blockquote><p><strong>原创辛苦，转载请注明出处，谢谢！</strong></p></blockquote>
<h3>相关文章</h3>
<ul class="related_posts">
<li><a href="http://abowow.com/2010/04/usnew-2010-computer-science-ranking-pdf/" title="U.S.News最新2010年Computer Science排名PDF打印版">U.S.News最新2010年Computer Science排名PDF打印版</a></li>
<li><a href="http://abowow.com/2010/04/2010-fall-computer-science-look-back/" title="2010 FALL Computer Science申请总结">2010 FALL Computer Science申请总结</a></li>
<li><a href="http://abowow.com/2010/04/enrollments-of-computer-science-programs/" title="【用数据说话】我所申请的一些美国学校计算机专业硕士录取人数及随想">【用数据说话】我所申请的一些美国学校计算机专业硕士录取人数及随想</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://abowow.com/2010/05/stanford-cs107-generic-c-containers-design/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>2010 FALL Computer Science申请总结</title>
		<link>http://abowow.com/2010/04/2010-fall-computer-science-look-back/</link>
		<comments>http://abowow.com/2010/04/2010-fall-computer-science-look-back/#comments</comments>
		<pubDate>Tue, 20 Apr 2010 16:51:39 +0000</pubDate>
		<dc:creator>Shark Chaos</dc:creator>
				<category><![CDATA[日志]]></category>
		<category><![CDATA[application]]></category>
		<category><![CDATA[computer science]]></category>
		<category><![CDATA[GRE]]></category>
		<category><![CDATA[Toefl]]></category>
		<category><![CDATA[UCSD]]></category>

		<guid isPermaLink="false">http://abowow.com/?p=450</guid>
		<description><![CDATA[漫长的申请，从去年10月开始，一直到现在算是可以画上句号了。
先大致介绍下自己的背景。

211+985非传统牛校计算机本科
overall GPA 84/100
0906G 1450+4.5
0908T 102 (22 for speaking)
实验室/项目经验若干，无paper无牛推

在申请开始之时，我对自己的判断是，除了GRE成绩，其他背景全面平庸，申Ph.D吃力。咨询了活跃在各留学论坛上的W大，他给的定位是M.S. Top 30/ Ph.D 30-80。从最后的结果来看，W大的定位真的是非常准确。
我是一个懒人，且绝对算不上ambitious的那种类型，自信心一般，但却贪图学校的名声，所以在选校的过程中，我的目标从只申请Ph.D逐渐过渡到主要申请M.S.，辅以Ph.D申请。最终的选校结果也混乱无比。
下面是申请的项目与结果（绿色ad/offer，红色rej，黑色pending）。
United States Ph.D program

University of Minnesota, Twin Cities / Computer Science
Texas A&#38;M University / Computer Engineering
Michigan State University / Computer Science
University of California, Riverside / Computer Science

可以看出，Ph.D的项目纯属瞎选的。其中TAMU是有上届的师兄去，MSU是有本校的老师利用关系直接推荐，另外两个完全是拍脑门选的，和某朝政府领导做决策完全是一个方式。目前拿到了MSU的offer，对有关系的小ap进行过简单套磁，但是最终拿到的offer确是另外一个完全没联系过的印度老板给的。被UCR拒了有点意外，听说由于UCR没钱，召国际生非常少。另外两所学校依然pending，UMN希望渺茫，TAMU可能最终会给个M.S.的AD。
United States M.S. program

University of Texas, Austin / Computer Science
University of California, San Diego / Computer Science and [...]]]></description>
			<content:encoded><![CDATA[<p>漫长的申请，从去年10月开始，一直到现在算是可以画上句号了。</p>
<p>先大致介绍下自己的背景。</p>
<ul>
<li>211+985非传统牛校计算机本科</li>
<li>overall GPA 84/100</li>
<li>0906G 1450+4.5</li>
<li>0908T 102 (22 for speaking)</li>
<li>实验室/项目经验若干，无paper无牛推</li>
</ul>
<p>在申请开始之时，我对自己的判断是，除了GRE成绩，其他背景全面平庸，申Ph.D吃力。咨询了活跃在各留学论坛上的W大，他给的定位是M.S. Top 30/ Ph.D 30-80。从最后的结果来看，W大的定位真的是非常准确。</p>
<p>我是一个懒人，且绝对算不上ambitious的那种类型，自信心一般，但却贪图学校的名声，所以在选校的过程中，我的目标从只申请Ph.D逐渐过渡到主要申请M.S.，辅以Ph.D申请。最终的选校结果也混乱无比。</p>
<p>下面是申请的项目与结果（绿色ad/offer，红色rej，黑色pending）。</p>
<p><strong>United States Ph.D program</strong></p>
<ol>
<li>University of Minnesota, Twin Cities / Computer Science</li>
<li>Texas A&amp;M University / Computer Engineering</li>
<li><span style="color: #008000;"><strong>Michigan State University / Computer Science</strong></span></li>
<li><span style="color: #ff0000;"><strong>University of California, Riverside / Computer Science</strong></span></li>
</ol>
<p>可以看出，Ph.D的项目纯属瞎选的。其中TAMU是有上届的师兄去，MSU是有本校的老师利用关系直接推荐，另外两个完全是拍脑门选的，和某朝政府领导做决策完全是一个方式。<span id="more-450"></span>目前拿到了MSU的offer，对有关系的小ap进行过简单套磁，但是最终拿到的offer确是另外一个完全没联系过的印度老板给的。被UCR拒了有点意外，听说由于UCR没钱，召国际生非常少。另外两所学校依然pending，UMN希望渺茫，TAMU可能最终会给个M.S.的AD。</p>
<p><strong>United States M.S. program</strong></p>
<ol>
<li><span style="font-weight: normal;"><strong><span style="color: #ff0000;">University of Texas, Austin / Computer Science</span></strong></span></li>
<li><span style="font-weight: normal;"><strong><span style="color: #008000;">University of California, San Diego / Computer Science and Engineering</span></strong></span></li>
<li><span style="font-weight: normal;"><strong><span style="color: #ff0000;">Columbia University / Computer Science</span></strong></span></li>
<li><span style="font-weight: normal;"><strong><span style="color: #008000;">University of Southern California / Computer Science</span></strong></span></li>
<li><span style="font-weight: normal;">Pennsylvania State University /  Computer Science</span></li>
<li><span style="font-weight: normal;"><strong><span style="color: #008000;">University of California, Irvine / Information and <strong>Computer Science</strong></span></strong></span></li>
<li><span style="font-weight: normal;"><strong><span style="color: #008000;"><strong>North Carolina State University / Computer Science</strong></span></strong></span></li>
</ol>
<p><span style="color: #008000;"><span style="color: #000000;">这部分选校还是比较用心的，考虑了学校排名，项目质量，就业环境等多种因素。但是从结果来看选校还是缺乏自信。比如，我以为自己申UCSD会比较悬，所以申了同质化的UCI。USC/NCSU这种把握较大的学校也可以少申一所。此外，我没有敢于尝试CMU的M.Eng.项目，遗憾了。比较失望的是：1. 没有拿到UTAustin。Austin的项目性价比非常高，但是也异常的selective。 2. 没拿到哥大。事实证明，哥大并不水。 3. 没拿到任何一个带奖学金的录取。</span></span></p>
<p><strong>Canada program</strong></p>
<ol>
<li><span style="color: #ff0000;"><strong>University of Toronto / Computer Science M.S.</strong></span></li>
<li><span style="color: #ff0000;"><strong>University of Waterloo / Computer Science M.Math.</strong></span></li>
<li><span style="color: #ff0000;"><strong>University of British Columbia / Computer Science M.Sc.</strong></span></li>
</ol>
<p>当时申请加拿大的学校的时候也比较盲目，只是考虑到加国的学校会给硕士生奖学金，于是就申了3所顶级的学校，最终全部悲剧。我感觉，在没有研究经历亮点的前提下，加拿大的学校更看重本科出身和GPA。</p>
<p>最终决定去UCSD，学校声誉，科研水平，招生数量，就业机会等都令人满意，缺点是学费实在贵得离谱。放弃了MSU的offer有点可惜，那个印度老板人很nice，但是我对他的研究不是很感兴趣，而且学校的排名不是很令人满意（深受周围同学的“要读就读名校”的想法的影响）。</p>
<p>最后总结一下教训：</p>
<ol>
<li><strong>本科阶段没有闪光的研究经历</strong></li>
<li><strong>选校缺乏针对性</strong></li>
<li><strong>没有套磁，不够主动</strong></li>
</ol>
<h3>相关文章</h3>
<ul class="related_posts">
<li><a href="http://abowow.com/2009/07/start-to-recite-nce4/" title="开始背诵新概念4">开始背诵新概念4</a></li>
<li><a href="http://abowow.com/2009/01/report-of-my-activities-during-spring-festival/" title="春节流水账">春节流水账</a></li>
<li><a href="http://abowow.com/2009/10/suggestions-for-ps-from-a-umich-phd/" title="【转载】一位UM的心理学Ph.D给的写PS的建议">【转载】一位UM的心理学Ph.D给的写PS的建议</a></li>
<li><a href="http://abowow.com/2010/04/usnew-2010-computer-science-ranking-pdf/" title="U.S.News最新2010年Computer Science排名PDF打印版">U.S.News最新2010年Computer Science排名PDF打印版</a></li>
<li><a href="http://abowow.com/2010/05/stanford-cs107-generic-c-containers-design/" title="从stanford网络课程cs107学到的C语言通用类型容器设计">从stanford网络课程cs107学到的C语言通用类型容器设计</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://abowow.com/2010/04/2010-fall-computer-science-look-back/feed/</wfw:commentRss>
		<slash:comments>21</slash:comments>
		</item>
		<item>
		<title>U.S.News最新2010年Computer Science排名PDF打印版</title>
		<link>http://abowow.com/2010/04/usnew-2010-computer-science-ranking-pdf/</link>
		<comments>http://abowow.com/2010/04/usnew-2010-computer-science-ranking-pdf/#comments</comments>
		<pubDate>Thu, 15 Apr 2010 13:53:39 +0000</pubDate>
		<dc:creator>Shark Chaos</dc:creator>
				<category><![CDATA[日志]]></category>
		<category><![CDATA[application]]></category>
		<category><![CDATA[computer science]]></category>

		<guid isPermaLink="false">http://abowow.com/?p=448</guid>
		<description><![CDATA[2010 U.S.News Graduate School Ranking&#8211;Computer Science
原始链接 http://grad-schools.usnews.rankingsandreviews.com/best-graduate-schools/top-computer-science-schools/rankings
 



Rank
College   name
Location
Score


1
Carnegie   Mellon University
Pittsburgh,   PA
5.0


1
Massachusetts   Institute of Technology
Cambridge,   MA
5.0


1
Stanford   University
Stanford,   CA
5.0


1
University   of California&#8211;Berkeley
Berkeley,   CA
5.0


5
Cornell   University
Ithaca,   NY
4.6


5
University   of Illinois&#8211;Urbana-Champaign
Urbana,   IL
4.6


7
University   of [...]]]></description>
			<content:encoded><![CDATA[<p><strong><a href="http://abowow.com/wp-content/uploads/2010/04/usn-logo.png"><img class="aligncenter size-full wp-image-449" title="usn-logo" src="http://abowow.com/wp-content/uploads/2010/04/usn-logo.png" alt="" width="188" height="51" /></a>2010 U.S.News Graduate School Ranking&#8211;Computer Science</strong></p>
<p><strong>原始链接 <a rel="nofollow" href="http://grad-schools.usnews.rankingsandreviews.com/best-graduate-schools/top-computer-science-schools/rankings">http://grad-schools.usnews.rankingsandreviews.com/best-graduate-schools/top-computer-science-schools/rankings</a></strong></p>
<p><strong> </strong></p>
<table border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td width="46" valign="top">Rank</td>
<td width="349" valign="top">College   name</td>
<td width="123" valign="top">Location</td>
<td width="51" valign="top">Score</td>
</tr>
<tr>
<td width="46" valign="top"><strong>1</strong></td>
<td width="349" valign="top"><strong>Carnegie   Mellon University</strong></td>
<td width="123" valign="top">Pittsburgh,   PA</td>
<td width="51" valign="top"><strong>5.0</strong></td>
</tr>
<tr>
<td width="46" valign="top"><strong>1</strong></td>
<td width="349" valign="top"><strong>Massachusetts   Institute of Technology</strong></td>
<td width="123" valign="top">Cambridge,   MA</td>
<td width="51" valign="top"><strong>5.0</strong></td>
</tr>
<tr>
<td width="46" valign="top"><strong>1</strong></td>
<td width="349" valign="top"><strong>Stanford   University</strong></td>
<td width="123" valign="top">Stanford,   CA</td>
<td width="51" valign="top"><strong>5.0</strong></td>
</tr>
<tr>
<td width="46" valign="top"><strong>1</strong></td>
<td width="349" valign="top"><strong>University   of California&#8211;Berkeley</strong></td>
<td width="123" valign="top">Berkeley,   CA</td>
<td width="51" valign="top"><strong>5.0</strong></td>
</tr>
<tr>
<td width="46" valign="top"><strong>5</strong></td>
<td width="349" valign="top"><strong>Cornell   University</strong></td>
<td width="123" valign="top">Ithaca,   NY</td>
<td width="51" valign="top"><strong>4.6</strong></td>
</tr>
<tr>
<td width="46" valign="top"><strong>5</strong></td>
<td width="349" valign="top"><strong>University   of Illinois&#8211;Urbana-Champaign</strong></td>
<td width="123" valign="top">Urbana,   IL</td>
<td width="51" valign="top"><strong>4.6</strong></td>
</tr>
<tr>
<td width="46" valign="top"><strong>7</strong></td>
<td width="349" valign="top"><strong>University   of Washington</strong></td>
<td width="123" valign="top">Seattle,   WA</td>
<td width="51" valign="top"><strong>4.5</strong></td>
</tr>
<tr>
<td width="46" valign="top"><strong>8</strong></td>
<td width="349" valign="top"><strong>Princeton   University</strong></td>
<td width="123" valign="top">Princeton,   NJ</td>
<td width="51" valign="top"><strong>4.4</strong></td>
</tr>
<tr>
<td width="46" valign="top"><strong>8</strong></td>
<td width="349" valign="top"><strong>University   of Texas&#8211;Austin</strong></td>
<td width="123" valign="top">Austin,   TX</td>
<td width="51" valign="top"><strong>4.4</strong></td>
</tr>
<tr>
<td width="46" valign="top"><strong>10</strong></td>
<td width="349" valign="top"><strong>Georgia   Institute of Technology</strong></td>
<td width="123" valign="top">Atlanta,   GA</td>
<td width="51" valign="top"><strong>4.3</strong></td>
</tr>
<tr>
<td width="46" valign="top"><strong>11</strong></td>
<td width="349" valign="top"><strong>California   Institute of Technology</strong></td>
<td width="123" valign="top">Pasadena,   CA</td>
<td width="51" valign="top"><strong>4.2</strong></td>
</tr>
<tr>
<td width="46" valign="top"><strong>11</strong></td>
<td width="349" valign="top"><strong>University   of Wisconsin&#8211;Madison</strong></td>
<td width="123" valign="top">Madison,   WI</td>
<td width="51" valign="top"><strong>4.2</strong></td>
</tr>
<tr>
<td width="46" valign="top"><strong>13</strong></td>
<td width="349" valign="top"><strong>University   of Michigan&#8211;Ann Arbor</strong></td>
<td width="123" valign="top">Ann   Arbor, MI</td>
<td width="51" valign="top"><strong>4.1</strong></td>
</tr>
<tr>
<td width="46" valign="top"><strong>14</strong></td>
<td width="349" valign="top"><strong>University   of California&#8211;Los Angeles</strong></td>
<td width="123" valign="top">Los   Angeles, CA</td>
<td width="51" valign="top"><strong>4.0</strong></td>
</tr>
<tr>
<td width="46" valign="top"><strong>14</strong></td>
<td width="349" valign="top"><strong>University   of California&#8211;San Diego</strong></td>
<td width="123" valign="top">La   Jolla, CA</td>
<td width="51" valign="top"><strong>4.0</strong></td>
</tr>
<tr>
<td width="46" valign="top"><strong>14</strong></td>
<td width="349" valign="top"><strong>University   of Maryland&#8211;College Park</strong></td>
<td width="123" valign="top">College   Park, MD</td>
<td width="51" valign="top"><strong>4.0</strong></td>
</tr>
<tr>
<td width="46" valign="top"><strong>17</strong></td>
<td width="349" valign="top"><strong>Columbia   University</strong></td>
<td width="123" valign="top">New   York, NY</td>
<td width="51" valign="top"><strong>3.9</strong></td>
</tr>
<tr>
<td width="46" valign="top"><strong>17</strong></td>
<td width="349" valign="top"><strong>Harvard   University</strong></td>
<td width="123" valign="top">Cambridge,   MA</td>
<td width="51" valign="top"><strong>3.9</strong></td>
</tr>
<tr>
<td width="46" valign="top"><strong>17</strong></td>
<td width="349" valign="top"><strong>University   of Pennsylvania</strong></td>
<td width="123" valign="top">Philadelphia,   PA</td>
<td width="51" valign="top"><strong>3.9</strong></td>
</tr>
<tr>
<td width="46" valign="top"><strong><span id="more-448"></span>20</strong></td>
<td width="349" valign="top"><strong>Brown   University</strong><strong> </strong><strong> </strong></td>
<td width="123" valign="top">Providence,   RI</td>
<td width="51" valign="top"><strong>3.7</strong></td>
</tr>
<tr>
<td width="46" valign="top"><strong>20</strong></td>
<td width="349" valign="top"><strong>Purdue   University&#8211;West Lafayette</strong></td>
<td width="123" valign="top">West   Lafayette, IN</td>
<td width="51" valign="top"><strong>3.7</strong></td>
</tr>
<tr>
<td width="46" valign="top"><strong>20</strong></td>
<td width="349" valign="top"><strong>Rice   University</strong></td>
<td width="123" valign="top">Houston,   TX</td>
<td width="51" valign="top"><strong>3.7</strong></td>
</tr>
<tr>
<td width="46" valign="top"><strong>20</strong></td>
<td width="349" valign="top"><strong>University   of Massachusetts&#8211;Amherst</strong></td>
<td width="123" valign="top">Amherst,   MA</td>
<td width="51" valign="top"><strong>3.7</strong></td>
</tr>
<tr>
<td width="46" valign="top"><strong>20</strong></td>
<td width="349" valign="top"><strong>University   of North Carolina&#8211;Chapel Hill</strong></td>
<td width="123" valign="top">Chapel   Hill, NC</td>
<td width="51" valign="top"><strong>3.7</strong></td>
</tr>
<tr>
<td width="46" valign="top"><strong>20</strong></td>
<td width="349" valign="top"><strong>University   of Southern California</strong></td>
<td width="123" valign="top">Los   Angeles, CA</td>
<td width="51" valign="top"><strong>3.7</strong></td>
</tr>
<tr>
<td width="46" valign="top"><strong>20</strong></td>
<td width="349" valign="top"><strong>Yale   University</strong></td>
<td width="123" valign="top">New   Haven, CT</td>
<td width="51" valign="top"><strong>3.7</strong></td>
</tr>
<tr>
<td width="46" valign="top"><strong>27</strong></td>
<td width="349" valign="top"><strong>Duke   University</strong></td>
<td width="123" valign="top">Durham,   NC</td>
<td width="51" valign="top"><strong>3.6</strong></td>
</tr>
<tr>
<td width="46" valign="top"><strong>28</strong></td>
<td width="349" valign="top"><strong>Johns   Hopkins University</strong></td>
<td width="123" valign="top">Baltimore,   MD</td>
<td width="51" valign="top"><strong>3.4</strong></td>
</tr>
<tr>
<td width="46" valign="top"><strong>28</strong></td>
<td width="349" valign="top"><strong>New   York University</strong></td>
<td width="123" valign="top">New   York, NY</td>
<td width="51" valign="top"><strong>3.4</strong></td>
</tr>
<tr>
<td width="46" valign="top"><strong>28</strong></td>
<td width="349" valign="top"><strong>Ohio   State University</strong></td>
<td width="123" valign="top">Columbus,   OH</td>
<td width="51" valign="top"><strong>3.4</strong></td>
</tr>
<tr>
<td width="46" valign="top"><strong>28</strong></td>
<td width="349" valign="top"><strong>Pennsylvania   State University&#8211;University Park</strong></td>
<td width="123" valign="top">University   Park, PA</td>
<td width="51" valign="top"><strong>3.4</strong></td>
</tr>
<tr>
<td width="46" valign="top"><strong>28</strong></td>
<td width="349" valign="top"><strong>Rutgers,   the State University of New Jersey&#8211;New Brunswick</strong></td>
<td width="123" valign="top">Piscataway,   NJ</td>
<td width="51" valign="top"><strong>3.4</strong></td>
</tr>
<tr>
<td width="46" valign="top"><strong>28</strong></td>
<td width="349" valign="top"><strong>University   of California&#8211;Irvine</strong></td>
<td width="123" valign="top">Irvine,   CA</td>
<td width="51" valign="top"><strong>3.4</strong></td>
</tr>
<tr>
<td width="46" valign="top"><strong>28</strong></td>
<td width="349" valign="top"><strong>University   of Virginia</strong></td>
<td width="123" valign="top">Charlottesville,   VA</td>
<td width="51" valign="top"><strong>3.4</strong></td>
</tr>
<tr>
<td width="46" valign="top"><strong>35</strong></td>
<td width="349" valign="top"><strong>Northwestern   University</strong></td>
<td width="123" valign="top">Evanston,   IL</td>
<td width="51" valign="top"><strong>3.4</strong></td>
</tr>
<tr>
<td width="46" valign="top"><strong>35</strong></td>
<td width="349" valign="top"><strong>University   of California&#8211;Santa Barbara</strong></td>
<td width="123" valign="top">Santa   Barbara, CA</td>
<td width="51" valign="top"><strong>3.3</strong></td>
</tr>
<tr>
<td width="46" valign="top"><strong>35</strong></td>
<td width="349" valign="top"><strong>University   of Chicago</strong></td>
<td width="123" valign="top">Chicago,   IL</td>
<td width="51" valign="top"><strong>3.3</strong></td>
</tr>
<tr>
<td width="46" valign="top"><strong>35</strong></td>
<td width="349" valign="top"><strong>University   of Minnesota&#8211;Twin Cities</strong></td>
<td width="123" valign="top">Minneapolis,   MN</td>
<td width="51" valign="top"><strong>3.3</strong></td>
</tr>
<tr>
<td width="46" valign="top"><strong>39</strong></td>
<td width="349" valign="top"><strong>University   of California&#8211;Davis</strong></td>
<td width="123" valign="top">Davis,   CA</td>
<td width="51" valign="top"><strong>3.2</strong></td>
</tr>
<tr>
<td width="46" valign="top"><strong>39</strong></td>
<td width="349" valign="top"><strong>University   of Colorado&#8211;Boulder</strong></td>
<td width="123" valign="top">Boulder,   CO</td>
<td width="51" valign="top"><strong>3.2</strong></td>
</tr>
<tr>
<td width="46" valign="top"><strong>39</strong></td>
<td width="349" valign="top"><strong>University   of Florida</strong></td>
<td width="123" valign="top">Gainesville,   FL</td>
<td width="51" valign="top"><strong>3.2</strong></td>
</tr>
<tr>
<td width="46" valign="top"><strong>39</strong></td>
<td width="349" valign="top"><strong>University   of Utah</strong></td>
<td width="123" valign="top">Salt   Lake City , UT</td>
<td width="51" valign="top"><strong>3.2</strong></td>
</tr>
<tr>
<td width="46" valign="top"><strong>39</strong></td>
<td width="349" valign="top"><strong>Washington   University in St. Louis</strong></td>
<td width="123" valign="top">St.   Louis, MO</td>
<td width="51" valign="top"><strong>3.2</strong></td>
</tr>
<tr>
<td width="46" valign="top"><strong>44</strong></td>
<td width="349" valign="top"><strong>Dartmouth   College</strong></td>
<td width="123" valign="top">Hanover,   NH</td>
<td width="51" valign="top"><strong>3.1</strong></td>
</tr>
<tr>
<td width="46" valign="top"><strong>44</strong></td>
<td width="349" valign="top"><strong>SUNY&#8211;Stony   Brook</strong></td>
<td width="123" valign="top">Stony   Brook, NY</td>
<td width="51" valign="top"><strong>3.1</strong></td>
</tr>
<tr>
<td width="46" valign="top"><strong>44</strong></td>
<td width="349" valign="top"><strong>Virginia   Tech</strong></td>
<td width="123" valign="top">Blacksburg,   VA</td>
<td width="51" valign="top"><strong>3.1</strong></td>
</tr>
<tr>
<td width="46" valign="top"><strong>47</strong></td>
<td width="349" valign="top"><strong>Boston   University</strong></td>
<td width="123" valign="top">Boston,   MA</td>
<td width="51" valign="top"><strong>3.0</strong></td>
</tr>
<tr>
<td width="46" valign="top"><strong>47</strong></td>
<td width="349" valign="top"><strong>North   Carolina State University</strong></td>
<td width="123" valign="top">Raleigh,   NC</td>
<td width="51" valign="top"><strong>3.0</strong></td>
</tr>
<tr>
<td width="46" valign="top"><strong>47</strong></td>
<td width="349" valign="top"><strong>Rensselaer   Polytechnic Institute</strong></td>
<td width="123" valign="top">Troy,   NY</td>
<td width="51" valign="top"><strong>3.0</strong></td>
</tr>
<tr>
<td width="46" valign="top"><strong>47</strong></td>
<td width="349" valign="top"><strong>Texas   A&amp;M University&#8211;College Station</strong></td>
<td width="123" valign="top">College   Station, TX</td>
<td width="51" valign="top"><strong>3.0</strong></td>
</tr>
<tr>
<td width="46" valign="top"><strong>47</strong></td>
<td width="349" valign="top"><strong>University   of Arizona</strong></td>
<td width="123" valign="top">Tucson,   AZ</td>
<td width="51" valign="top"><strong>3.0</strong></td>
</tr>
<tr>
<td width="46" valign="top"><strong>47</strong></td>
<td width="349" valign="top"><strong>University   of Rochester</strong></td>
<td width="123" valign="top">Rochester,   NY</td>
<td width="51" valign="top"><strong>3.0</strong></td>
</tr>
<tr>
<td width="46" valign="top"><strong>53</strong></td>
<td width="349" valign="top"><strong>Arizona   State University</strong></td>
<td width="123" valign="top">Tempe,   AZ</td>
<td width="51" valign="top"><strong>2.9</strong></td>
</tr>
<tr>
<td width="46" valign="top"><strong>53</strong></td>
<td width="349" valign="top"><strong>Indiana   University&#8211;Bloomington</strong></td>
<td width="123" valign="top">Bloomington,   IN</td>
<td width="51" valign="top"><strong>2.9</strong></td>
</tr>
<tr>
<td width="46" valign="top"><strong>53</strong></td>
<td width="349" valign="top"><strong>University   of California&#8211;Riverside</strong></td>
<td width="123" valign="top">Riverside,   CA</td>
<td width="51" valign="top"><strong>2.9</strong></td>
</tr>
<tr>
<td width="46" valign="top"><strong>53</strong></td>
<td width="349" valign="top"><strong>University   of California&#8211;Santa Cruz</strong></td>
<td width="123" valign="top">Santa   Cruz, CA</td>
<td width="51" valign="top"><strong>2.9</strong></td>
</tr>
<tr>
<td width="46" valign="top"><strong>53</strong></td>
<td width="349" valign="top"><strong>University   of Pittsburgh</strong></td>
<td width="123" valign="top">Pittsburgh,   PA</td>
<td width="51" valign="top"><strong>2.9</strong></td>
</tr>
<tr>
<td width="46" valign="top"><strong>58</strong></td>
<td width="349" valign="top"><strong>Michigan   State University</strong></td>
<td width="123" valign="top">East   Lansing, MI</td>
<td width="51" valign="top"><strong>2.8</strong></td>
</tr>
<tr>
<td width="46" valign="top"><strong>58</strong></td>
<td width="349" valign="top"><strong>University   of Illinois&#8211;Chicago</strong></td>
<td width="123" valign="top">Chicago,   IL</td>
<td width="51" valign="top"><strong>2.8</strong></td>
</tr>
<tr>
<td width="46" valign="top"><strong>58</strong></td>
<td width="349" valign="top"><strong>Vanderbilt   University</strong></td>
<td width="123" valign="top">Nashville,   TN</td>
<td width="51" valign="top"><strong>2.8</strong></td>
</tr>
<tr>
<td width="46" valign="top"><strong>61</strong></td>
<td width="349" valign="top"><strong>Northeastern   University</strong></td>
<td width="123" valign="top">Boston,   MA</td>
<td width="51" valign="top"><strong>2.7</strong></td>
</tr>
<tr>
<td width="46" valign="top"><strong>61</strong></td>
<td width="349" valign="top"><strong>University   at Buffalo&#8211;SUNY</strong></td>
<td width="123" valign="top">Buffalo,   NY</td>
<td width="51" valign="top"><strong>2.7</strong></td>
</tr>
<tr>
<td width="46" valign="top"><strong>63</strong></td>
<td width="349" valign="top"><strong>Case   Western Reserve University</strong></td>
<td width="123" valign="top">Cleveland,   OH</td>
<td width="51" valign="top"><strong>2.6</strong></td>
</tr>
<tr>
<td width="46" valign="top"><strong>63</strong></td>
<td width="349" valign="top"><strong>George   Mason University</strong></td>
<td width="123" valign="top">Arlington,   VA</td>
<td width="51" valign="top"><strong>2.6</strong></td>
</tr>
<tr>
<td width="46" valign="top"><strong>63</strong></td>
<td width="349" valign="top"><strong>Iowa   State University</strong></td>
<td width="123" valign="top">Ames,   IA</td>
<td width="51" valign="top"><strong>2.6</strong></td>
</tr>
<tr>
<td width="46" valign="top"><strong>63</strong></td>
<td width="349" valign="top"><strong>Oregon   State University</strong></td>
<td width="123" valign="top">Corvallis,   OR</td>
<td width="51" valign="top"><strong>2.6</strong></td>
</tr>
<tr>
<td width="46" valign="top"><strong>63</strong></td>
<td width="349" valign="top"><strong>Syracuse   University</strong></td>
<td width="123" valign="top">Syracuse,   NY</td>
<td width="51" valign="top"><strong>2.6</strong></td>
</tr>
<tr>
<td width="46" valign="top"><strong>63</strong></td>
<td width="349" valign="top"><strong>University   of Iowa</strong></td>
<td width="123" valign="top">Iowa   City, IA</td>
<td width="51" valign="top"><strong>2.6</strong></td>
</tr>
<tr>
<td width="46" valign="top"><strong>63</strong></td>
<td width="349" valign="top"><strong>University   of Notre Dame</strong></td>
<td width="123" valign="top">Notre   Dame, IN</td>
<td width="51" valign="top"><strong>2.6</strong></td>
</tr>
<tr>
<td width="46" valign="top"><strong>63</strong></td>
<td width="349" valign="top"><strong>University   of Oregon</strong></td>
<td width="123" valign="top">Eugene,   OR</td>
<td width="51" valign="top"><strong>2.6</strong></td>
</tr>
<tr>
<td width="46" valign="top"><strong>63</strong></td>
<td width="349" valign="top"><strong>University   of Tennessee&#8211;Knoxville</strong></td>
<td width="123" valign="top">Knoxville,   TN</td>
<td width="51" valign="top"><strong>2.6</strong></td>
</tr>
<tr>
<td width="46" valign="top"><strong>72</strong></td>
<td width="349" valign="top"><strong>Brandeis   University</strong></td>
<td width="123" valign="top">Waltham,   MA</td>
<td width="51" valign="top"><strong>2.5</strong></td>
</tr>
<tr>
<td width="46" valign="top"><strong>72</strong></td>
<td width="349" valign="top"><strong>Naval   Postgraduate School</strong></td>
<td width="123" valign="top">Monterey,   CA</td>
<td width="51" valign="top"><strong>2.5</strong></td>
</tr>
<tr>
<td width="46" valign="top"><strong>72</strong></td>
<td width="349" valign="top"><strong>Polytechnic   Institute of New York University</strong></td>
<td width="123" valign="top">Brooklyn   , NY</td>
<td width="51" valign="top"><strong>2.5</strong></td>
</tr>
<tr>
<td width="46" valign="top"><strong>72</strong></td>
<td width="349" valign="top"><strong>Tufts   University</strong></td>
<td width="123" valign="top">Medford,   MA</td>
<td width="51" valign="top"><strong>2.5</strong></td>
</tr>
<tr>
<td width="46" valign="top"><strong>72</strong></td>
<td width="349" valign="top"><strong>University   of Connecticut</strong></td>
<td width="123" valign="top">Storrs,   CT</td>
<td width="51" valign="top"><strong>2.5</strong></td>
</tr>
<tr>
<td width="46" valign="top"><strong>72</strong></td>
<td width="349" valign="top"><strong>University   of Delaware</strong></td>
<td width="123" valign="top">Newark,   DE</td>
<td width="51" valign="top"><strong>2.5</strong></td>
</tr>
<tr>
<td width="46" valign="top"><strong>72</strong></td>
<td width="349" valign="top"><strong>University   of Maryland&#8211;Baltimore County</strong></td>
<td width="123" valign="top">Baltimore,   MD</td>
<td width="51" valign="top"><strong>2.5</strong></td>
</tr>
<tr>
<td width="46" valign="top"><strong>79</strong></td>
<td width="349" valign="top"><strong>CUNY   Graduate School and University Center</strong></td>
<td width="123" valign="top">New   York , NY</td>
<td width="51" valign="top"><strong>2.4</strong></td>
</tr>
<tr>
<td width="46" valign="top"><strong>79</strong></td>
<td width="349" valign="top"><strong>Clemson   University</strong></td>
<td width="123" valign="top">Clemson,   SC</td>
<td width="51" valign="top"><strong>2.4</strong></td>
</tr>
<tr>
<td width="46" valign="top"><strong>79</strong></td>
<td width="349" valign="top"><strong>College   of William and Mary</strong></td>
<td width="123" valign="top">Williamsburg,   VA</td>
<td width="51" valign="top"><strong>2.4</strong></td>
</tr>
<tr>
<td width="46" valign="top"><strong>79</strong></td>
<td width="349" valign="top"><strong>Colorado   State University</strong></td>
<td width="123" valign="top">Fort   Collins, CO</td>
<td width="51" valign="top"><strong>2.4</strong></td>
</tr>
<tr>
<td width="46" valign="top"><strong>79</strong></td>
<td width="349" valign="top"><strong>Florida   State University</strong></td>
<td width="123" valign="top">Tallahassee,   FL</td>
<td width="51" valign="top"><strong>2.4</strong></td>
</tr>
<tr>
<td width="46" valign="top"><strong>79</strong></td>
<td width="349" valign="top"><strong>George   Washington University</strong></td>
<td width="123" valign="top">Washington,   DC</td>
<td width="51" valign="top"><strong>2.4</strong></td>
</tr>
<tr>
<td width="46" valign="top"><strong>79</strong></td>
<td width="349" valign="top"><strong>Oregon   Health and Science University</strong></td>
<td width="123" valign="top">Beaverton,   OR</td>
<td width="51" valign="top"><strong>2.4</strong></td>
</tr>
<tr>
<td width="46" valign="top"><strong>79</strong></td>
<td width="349" valign="top"><strong>University   of Kansas</strong></td>
<td width="123" valign="top">Lawrence,   KS</td>
<td width="51" valign="top"><strong>2.4</strong></td>
</tr>
<tr>
<td width="46" valign="top"><strong>79</strong></td>
<td width="349" valign="top"><strong>University   of Nebraska&#8211;Lincoln</strong></td>
<td width="123" valign="top">Lincoln,   NE</td>
<td width="51" valign="top"><strong>2.4</strong></td>
</tr>
<tr>
<td width="46" valign="top"><strong>79</strong></td>
<td width="349" valign="top"><strong>University   of New Mexico</strong></td>
<td width="123" valign="top">Albuquerque,   NM</td>
<td width="51" valign="top"><strong>2.4</strong></td>
</tr>
<tr>
<td width="46" valign="top"><strong>79</strong></td>
<td width="349" valign="top"><strong>University   of Texas&#8211;Dallas</strong></td>
<td width="123" valign="top">Richardson,   TX</td>
<td width="51" valign="top"><strong>2.4</strong></td>
</tr>
<tr>
<td width="46" valign="top"><strong>79</strong></td>
<td width="349" valign="top"><strong>Washington   State University</strong></td>
<td width="123" valign="top">Pullman,   WA</td>
<td width="51" valign="top"><strong>2.4</strong></td>
</tr>
<tr>
<td width="46" valign="top"><strong>91</strong></td>
<td width="349" valign="top"><strong>Auburn   University</strong></td>
<td width="123" valign="top">Auburn,   AL</td>
<td width="51" valign="top"><strong>2.3</strong></td>
</tr>
<tr>
<td width="46" valign="top"><strong>91</strong></td>
<td width="349" valign="top"><strong>Brigham   Young University</strong></td>
<td width="123" valign="top">Provo,   UT</td>
<td width="51" valign="top"><strong>2.3</strong></td>
</tr>
<tr>
<td width="46" valign="top"><strong>91</strong></td>
<td width="349" valign="top"><strong>New   Jersey Institute of Technology</strong></td>
<td width="123" valign="top">Newark,   NJ</td>
<td width="51" valign="top"><strong>2.3</strong></td>
</tr>
<tr>
<td width="46" valign="top"><strong>91</strong></td>
<td width="349" valign="top"><strong>University   at Albany&#8211;SUNY</strong></td>
<td width="123" valign="top">Albany,   NY</td>
<td width="51" valign="top"><strong>2.3</strong></td>
</tr>
<tr>
<td width="46" valign="top"><strong>91</strong></td>
<td width="349" valign="top"><strong>University   of Central Florida</strong></td>
<td width="123" valign="top">Orlando,   FL</td>
<td width="51" valign="top"><strong>2.3</strong></td>
</tr>
<tr>
<td width="46" valign="top"><strong>91</strong></td>
<td width="349" valign="top"><strong>University   of Georgia</strong></td>
<td width="123" valign="top">Athens,   GA</td>
<td width="51" valign="top"><strong>2.3</strong></td>
</tr>
<tr>
<td width="46" valign="top"><strong>91</strong></td>
<td width="349" valign="top"><strong>University   of Kentucky</strong></td>
<td width="123" valign="top">Lexington,   KY</td>
<td width="51" valign="top"><strong>2.3</strong></td>
</tr>
<tr>
<td width="46" valign="top"><strong>91</strong></td>
<td width="349" valign="top"><strong>Worcester   Polytechnic Institute</strong></td>
<td width="123" valign="top">Worcester,   MA</td>
<td width="51" valign="top"><strong>2.3</strong></td>
</tr>
<tr>
<td width="46" valign="top"><strong>99</strong></td>
<td width="349" valign="top"><strong>Drexel   University</strong></td>
<td width="123" valign="top">Philadelphia,   PA</td>
<td width="51" valign="top"><strong>2.2</strong></td>
</tr>
<tr>
<td width="46" valign="top"><strong>99</strong></td>
<td width="349" valign="top"><strong>Georgia   State University</strong></td>
<td width="123" valign="top">Atlanta,   GA</td>
<td width="51" valign="top"><strong>2.2</strong></td>
</tr>
<tr>
<td width="46" valign="top"><strong>99</strong></td>
<td width="349" valign="top"><strong>Kansas   State University</strong></td>
<td width="123" valign="top">Manhattan,   KS</td>
<td width="51" valign="top"><strong>2.2</strong></td>
</tr>
<tr>
<td width="46" valign="top"><strong>99</strong></td>
<td width="349" valign="top"><strong>Lehigh   University</strong></td>
<td width="123" valign="top">Bethlehem,   PA</td>
<td width="51" valign="top"><strong>2.2</strong></td>
</tr>
<tr>
<td width="46" valign="top"><strong>99</strong></td>
<td width="349" valign="top"><strong>Louisiana   State University&#8211;Baton Rouge</strong></td>
<td width="123" valign="top">Baton   Rouge, LA</td>
<td width="51" valign="top"><strong>2.2</strong></td>
</tr>
<tr>
<td width="46" valign="top"><strong>99</strong></td>
<td width="349" valign="top"><strong>Stevens   Institute of Technology</strong></td>
<td width="123" valign="top">Hoboken,   NJ</td>
<td width="51" valign="top"><strong>2.2</strong></td>
</tr>
<tr>
<td width="46" valign="top"><strong>99</strong></td>
<td width="349" valign="top"><strong>University   of Cincinnati</strong></td>
<td width="123" valign="top">Cincinnati,   OH</td>
<td width="51" valign="top"><strong>2.2</strong></td>
</tr>
<tr>
<td width="46" valign="top"><strong>99</strong></td>
<td width="349" valign="top"><strong>University   of North Carolina&#8211;Charlotte</strong></td>
<td width="123" valign="top">Charlotte,   NC</td>
<td width="51" valign="top"><strong>2.2</strong></td>
</tr>
<tr>
<td width="46" valign="top"><strong>99</strong></td>
<td width="349" valign="top"><strong>University   of South Carolina</strong></td>
<td width="123" valign="top">Columbia,   SC</td>
<td width="51" valign="top"><strong>2.2</strong></td>
</tr>
<tr>
<td width="46" valign="top"><strong>99</strong></td>
<td width="349" valign="top"><strong>University   of South Florida</strong></td>
<td width="123" valign="top">Tampa,   FL</td>
<td width="51" valign="top"><strong>2.2</strong></td>
</tr>
<tr>
<td width="46" valign="top"><strong>99</strong></td>
<td width="349" valign="top"><strong>University   of Texas&#8211;Arlington</strong></td>
<td width="123" valign="top">Arlington,   TX</td>
<td width="51" valign="top"><strong>2.2</strong></td>
</tr>
<tr>
<td width="46" valign="top"><strong>110</strong></td>
<td width="349" valign="top"><strong>Binghamton   University&#8211;SUNY</strong></td>
<td width="123" valign="top">Binghamton,   NY</td>
<td width="51" valign="top"><strong>2.1</strong></td>
</tr>
<tr>
<td width="46" valign="top"><strong>110</strong></td>
<td width="349" valign="top"><strong>Colorado   School of Mines</strong></td>
<td width="123" valign="top">Golden,   CO</td>
<td width="51" valign="top"><strong>2.1</strong></td>
</tr>
<tr>
<td width="46" valign="top"><strong>110</strong></td>
<td width="349" valign="top"><strong>Illinois   Institute of Technology</strong></td>
<td width="123" valign="top">Chicago,   IL</td>
<td width="51" valign="top"><strong>2.1</strong></td>
</tr>
<tr>
<td width="46" valign="top"><strong>110</strong></td>
<td width="349" valign="top"><strong>Southern   Methodist University</strong></td>
<td width="123" valign="top">Dallas,   TX</td>
<td width="51" valign="top"><strong>2.1</strong></td>
</tr>
<tr>
<td width="46" valign="top"><strong>110</strong></td>
<td width="349" valign="top"><strong>Temple   University</strong></td>
<td width="123" valign="top">Philadelphia,   PA</td>
<td width="51" valign="top"><strong>2.1</strong></td>
</tr>
<tr>
<td width="46" valign="top"><strong>110</strong></td>
<td width="349" valign="top"><strong>University   of Houston</strong></td>
<td width="123" valign="top">Houston,   TX</td>
<td width="51" valign="top"><strong>2.1</strong></td>
</tr>
<tr>
<td width="46" valign="top"><strong>110</strong></td>
<td width="349" valign="top"><strong>University   of Missouri</strong></td>
<td width="123" valign="top">Columbia,   MO</td>
<td width="51" valign="top"><strong>2.1</strong></td>
</tr>
<tr>
<td width="46" valign="top"><strong>110</strong></td>
<td width="349" valign="top"><strong>University   of Oklahoma</strong></td>
<td width="123" valign="top">Norman,   OK</td>
<td width="51" valign="top"><strong>2.1</strong></td>
</tr>
<tr>
<td width="46" valign="top"><strong>110</strong></td>
<td width="349" valign="top"><strong>University   of Wisconsin&#8211;Milwaukee</strong></td>
<td width="123" valign="top">Milwaukee,   WI</td>
<td width="51" valign="top"><strong>2.1</strong></td>
</tr>
<tr>
<td width="46" valign="top"><strong>110</strong></td>
<td width="349" valign="top"><strong>Wayne   State University</strong></td>
<td width="123" valign="top">Detroit,   MI</td>
<td width="51" valign="top"><strong>2.1</strong></td>
</tr>
<tr>
<td width="46" valign="top"><strong>110</strong></td>
<td width="349" valign="top"><strong>West   Virginia University</strong></td>
<td width="123" valign="top">Morgantown,   WV</td>
<td width="51" valign="top"><strong>2.1</strong></td>
</tr>
<tr>
<td width="46" valign="top"><strong>121</strong></td>
<td width="349" valign="top"><strong>Claremont   Graduate University</strong></td>
<td width="123" valign="top">Claremont,   CA</td>
<td width="51" valign="top"><strong>2.0</strong></td>
</tr>
<tr>
<td width="46" valign="top"><strong>121</strong></td>
<td width="349" valign="top"><strong>Mississippi   State University</strong></td>
<td width="123" valign="top">Mississippi   State, MS</td>
<td width="51" valign="top"><strong>2.0</strong></td>
</tr>
<tr>
<td width="46" valign="top"><strong>121</strong></td>
<td width="349" valign="top"><strong>Missouri   University of Science &amp; Technology</strong></td>
<td width="123" valign="top">Rolla,   MO</td>
<td width="51" valign="top"><strong>2.0</strong></td>
</tr>
<tr>
<td width="46" valign="top"><strong>121</strong></td>
<td width="349" valign="top"><strong>New   Mexico State University</strong></td>
<td width="123" valign="top">Las   Cruces, NM</td>
<td width="51" valign="top"><strong>2.0</strong></td>
</tr>
<tr>
<td width="46" valign="top"><strong>121</strong></td>
<td width="349" valign="top"><strong>Texas   Tech University</strong></td>
<td width="123" valign="top">Lubbock,   TX</td>
<td width="51" valign="top"><strong>2.0</strong></td>
</tr>
<tr>
<td width="46" valign="top"><strong>121</strong></td>
<td width="349" valign="top"><strong>Wright   State University</strong></td>
<td width="123" valign="top">Dayton,   OH</td>
<td width="51" valign="top"><strong>2.0</strong></td>
</tr>
</tbody>
</table>
<p>PDF下载：</p>
<p>[<a href="http://bbs.taisha.org/thread-1606326-1-1.html">taisha</a>] (需要登录与回复)</p>
<p>[<a href="http://www.rayfile.com/files/dad6d35c-4895-11df-9c73-0015c55db73d/">RayFile</a>]</p>
<h3>相关文章</h3>
<ul class="related_posts">
<li><a href="http://abowow.com/2010/05/stanford-cs107-generic-c-containers-design/" title="从stanford网络课程cs107学到的C语言通用类型容器设计">从stanford网络课程cs107学到的C语言通用类型容器设计</a></li>
<li><a href="http://abowow.com/2010/04/2010-fall-computer-science-look-back/" title="2010 FALL Computer Science申请总结">2010 FALL Computer Science申请总结</a></li>
<li><a href="http://abowow.com/2010/01/how-to-choose-school-of-free-score-report/" title="如何填写托福/GRE免费送分学校">如何填写托福/GRE免费送分学校</a></li>
<li><a href="http://abowow.com/2010/04/enrollments-of-computer-science-programs/" title="【用数据说话】我所申请的一些美国学校计算机专业硕士录取人数及随想">【用数据说话】我所申请的一些美国学校计算机专业硕士录取人数及随想</a></li>
<li><a href="http://abowow.com/2009/10/suggestions-for-ps-from-a-umich-phd/" title="【转载】一位UM的心理学Ph.D给的写PS的建议">【转载】一位UM的心理学Ph.D给的写PS的建议</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://abowow.com/2010/04/usnew-2010-computer-science-ranking-pdf/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>【用数据说话】我所申请的一些美国学校计算机专业硕士录取人数及随想</title>
		<link>http://abowow.com/2010/04/enrollments-of-computer-science-programs/</link>
		<comments>http://abowow.com/2010/04/enrollments-of-computer-science-programs/#comments</comments>
		<pubDate>Thu, 08 Apr 2010 05:46:44 +0000</pubDate>
		<dc:creator>Shark Chaos</dc:creator>
				<category><![CDATA[日志]]></category>
		<category><![CDATA[application]]></category>
		<category><![CDATA[computer science]]></category>

		<guid isPermaLink="false">http://abowow.com/?p=447</guid>
		<description><![CDATA[
所有数字来自AMERICAN SOCIETY FOR ENGINEERING EDUCATION
注意：下表仅仅列举了我所申请的各校的2009年Computer  Science M.S.项目的数据，不含Computer Engineering M.Eng.等其他相近专业的数据；如果某校项目不叫Computer  Science，则取Computer Science and  Engineering之类的名称相近的项目的数据；由于不知各校使用的统计方法是否存在重复统计，所以不包含Computer Science –  Computer Networks/Multimedia 之类的分方向专业的数据。



学校
性别
全日制
兼 职


The University of Texas at Austin(德州大学奥斯汀分校)
男
65
7



女
25
1


Columbia  University(哥伦比亚大学)
男
92
113



女
25
22


University  of California, San Diego(加州大学圣迭戈分校)
男
63
0



女
17
0


University  of Southern California(南加州大学)
男
299
182



女
98
47


The  Pennsylvania State University(宾州州立大学)
男
28
10



女
5
1


University  of California, Irvine(加州大学欧文分校)
男
27
0



女
7
0


North  Carolina State University(北卡州立大学)
男
135
62



女
55
8



值得注意的是，所谓的几个”水校”——Columbia，USC和NCSU，虽然其硕士招生人数很巨大，但是与其所招收的博士(Ph.D) 人数相比，就不显得那么大了，参考下表的Computer Science Ph.D项目的数据。




学校
性别
全 日制
兼职


Columbia [...]]]></description>
			<content:encoded><![CDATA[<p><img class="aligncenter" title="ASEE" src="http://profiles.asee.org/images/global_tagline.gif" alt="" width="473" height="41" /></p>
<p><span style="color: #ff0000;">所有数字来自<a href="http://profiles.asee.org/" target="_blank">AMERICAN SOCIETY FOR ENGINEERING EDUCATION</a></span></p>
<p><span style="color: #ff0000;">注意：下表仅仅列举了我所申请的各校的2009年Computer  Science M.S.项目的数据，不含Computer Engineering M.Eng.等其他相近专业的数据；如果某校项目不叫Computer  Science，则取Computer Science and  Engineering之类的名称相近的项目的数据；由于不知各校使用的统计方法是否存在重复统计，所以不包含Computer Science –  Computer Networks/Multimedia 之类的分方向专业的数据。</span></p>
<table cellspacing="0">
<tbody>
<tr>
<td>学校</td>
<td>性别</td>
<td>全日制</td>
<td>兼 职</td>
</tr>
<tr>
<td>The University of Texas at Austin(德州大学奥斯汀分校)</td>
<td>男</td>
<td><strong>65</strong></td>
<td><strong>7</strong></td>
</tr>
<tr>
<td></td>
<td>女</td>
<td><strong>25</strong></td>
<td><strong>1</strong></td>
</tr>
<tr>
<td>Columbia  University(哥伦比亚大学)</td>
<td>男</td>
<td><strong>92</strong></td>
<td><strong>113</strong></td>
</tr>
<tr>
<td></td>
<td>女</td>
<td><strong>25</strong></td>
<td><strong>22</strong></td>
</tr>
<tr>
<td>University  of California, San Diego(加州大学圣迭戈分校)</td>
<td>男</td>
<td><strong>63</strong></td>
<td><strong>0</strong></td>
</tr>
<tr>
<td></td>
<td>女</td>
<td><strong>17</strong></td>
<td><strong>0</strong></td>
</tr>
<tr>
<td>University  of Southern California(南加州大学)</td>
<td>男</td>
<td><strong>299</strong></td>
<td><strong>182</strong></td>
</tr>
<tr>
<td></td>
<td>女</td>
<td><strong>98</strong></td>
<td><strong>47</strong></td>
</tr>
<tr>
<td>The  Pennsylvania State University(宾州州立大学)</td>
<td>男</td>
<td><strong>28</strong></td>
<td><strong>10</strong></td>
</tr>
<tr>
<td></td>
<td>女</td>
<td><strong>5</strong></td>
<td><strong>1</strong></td>
</tr>
<tr>
<td>University  of California, Irvine(加州大学欧文分校)</td>
<td>男</td>
<td><strong>27</strong></td>
<td><strong>0</strong></td>
</tr>
<tr>
<td></td>
<td>女</td>
<td><strong>7</strong></td>
<td><strong>0</strong></td>
</tr>
<tr>
<td>North  Carolina State University(北卡州立大学)</td>
<td>男</td>
<td><strong>135</strong></td>
<td><strong>62</strong></td>
</tr>
<tr>
<td></td>
<td>女</td>
<td><strong>55</strong></td>
<td><strong>8</strong></td>
</tr>
</tbody>
</table>
<p><span style="color: #ff0000;">值得注意的是，所谓的几个”水校”——Columbia，USC和NCSU，虽然其硕士招生人数很巨大，但是与其所招收的博士(Ph.D) 人数相比，就不显得那么大了，参考下表的Computer Science Ph.D项目的数据。<span id="more-447"></span><br />
</span></p>
<table cellspacing="0">
<tbody>
<tr>
<td>学校</td>
<td>性别</td>
<td>全 日制</td>
<td>兼职</td>
</tr>
<tr>
<td>Columbia University(哥伦比亚大学)</td>
<td>男</td>
<td><strong>89</strong></td>
<td><strong>0</strong></td>
</tr>
<tr>
<td></td>
<td>女</td>
<td><strong>25</strong></td>
<td><strong>0</strong></td>
</tr>
<tr>
<td>University  of Southern California(南加州大学)</td>
<td>男</td>
<td><strong>168</strong></td>
<td><strong>12</strong></td>
</tr>
<tr>
<td></td>
<td>女</td>
<td><strong>32</strong></td>
<td><strong>0</strong></td>
</tr>
<tr>
<td>North  Carolina State University(北卡州立大学)</td>
<td>男</td>
<td><strong>118</strong></td>
<td><strong>29</strong></td>
</tr>
<tr>
<td></td>
<td>女</td>
<td><strong>27</strong></td>
<td><strong>4</strong></td>
</tr>
</tbody>
</table>
<p><span style="color: #ff0000;">另外，不要再猜疑招生较多的学校是否在全球经济危机的情况下“扩招”了。这里仅以USC的数据说事儿，到底 有没有扩招不言自明。</span></p>
<table cellspacing="0">
<tbody>
<tr>
<td>年份</td>
<td>性别</td>
<td>全 日制</td>
<td>兼职</td>
</tr>
<tr>
<td>2009</td>
<td>男</td>
<td><strong>299</strong></td>
<td><strong>182</strong></td>
</tr>
<tr>
<td></td>
<td>女</td>
<td><strong>98</strong></td>
<td><strong>47</strong></td>
</tr>
<tr>
<td>2008</td>
<td>男</td>
<td><strong>280</strong></td>
<td><strong>182</strong></td>
</tr>
<tr>
<td></td>
<td>女</td>
<td><strong>79</strong></td>
<td><strong>54</strong></td>
</tr>
<tr>
<td>2007</td>
<td>男</td>
<td><strong>308</strong></td>
<td><strong>183</strong></td>
</tr>
<tr>
<td></td>
<td>女</td>
<td><strong>101</strong></td>
<td><strong>42</strong></td>
</tr>
<tr>
<td>2006</td>
<td>男</td>
<td><strong>301</strong></td>
<td><strong>188</strong></td>
</tr>
<tr>
<td></td>
<td>女</td>
<td><strong>75</strong></td>
<td><strong>56</strong></td>
</tr>
<tr>
<td>2005</td>
<td>男</td>
<td><strong>284</strong></td>
<td><strong>166</strong></td>
</tr>
<tr>
<td></td>
<td>女</td>
<td><strong>61</strong></td>
<td><strong>61</strong></td>
</tr>
</tbody>
</table>
<p><span style="color: #ff0000;">所以，根据一个项目的招生人数去判断该项目水或不水，是很不公平的，因为招生人数明显和各校计算机系的规模 有关。私以为更好的方法是去询问已经在参加这些项目的学生或是毕业的学生关于教学质量和就业前景的看法。</span><strong><span style="color: #ff0000;">毕竟，多数硕士项目的主要内容是上课，多数读硕士的学生的目的是就业。</span></strong></p>
<p><span style="color: #ff0000;">P.S. 其他学校/其它<strong>工程科学</strong>专业的数据请移步</span><span style="color: #ff0000;"><a href="http://profiles.asee.org/" target="_blank">AMERICAN  SOCIETY FOR ENGINEERING EDUCATION</a>去查询，</span><span style="color: #ff0000;">首 先输入学校名称点search，然后点击页面左侧的Enrollments by Class<br />
</span></p>
<h3>相关文章</h3>
<ul class="related_posts">
<li><a href="http://abowow.com/2010/01/how-to-choose-school-of-free-score-report/" title="如何填写托福/GRE免费送分学校">如何填写托福/GRE免费送分学校</a></li>
<li><a href="http://abowow.com/2009/10/suggestions-for-ps-from-a-umich-phd/" title="【转载】一位UM的心理学Ph.D给的写PS的建议">【转载】一位UM的心理学Ph.D给的写PS的建议</a></li>
<li><a href="http://abowow.com/2010/04/usnew-2010-computer-science-ranking-pdf/" title="U.S.News最新2010年Computer Science排名PDF打印版">U.S.News最新2010年Computer Science排名PDF打印版</a></li>
<li><a href="http://abowow.com/2010/04/2010-fall-computer-science-look-back/" title="2010 FALL Computer Science申请总结">2010 FALL Computer Science申请总结</a></li>
<li><a href="http://abowow.com/2010/05/stanford-cs107-generic-c-containers-design/" title="从stanford网络课程cs107学到的C语言通用类型容器设计">从stanford网络课程cs107学到的C语言通用类型容器设计</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://abowow.com/2010/04/enrollments-of-computer-science-programs/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>[译文]Google将和美国国家安全局联合保护互联网</title>
		<link>http://abowow.com/2010/02/google-and-nsa-team-up-to-protect-the-cloud/</link>
		<comments>http://abowow.com/2010/02/google-and-nsa-team-up-to-protect-the-cloud/#comments</comments>
		<pubDate>Fri, 05 Feb 2010 17:47:49 +0000</pubDate>
		<dc:creator>Shark Chaos</dc:creator>
				<category><![CDATA[日志]]></category>
		<category><![CDATA[google]]></category>

		<guid isPermaLink="false">http://abowow.com/?p=446</guid>
		<description><![CDATA[本文为译文，原文在这里，来自著名博客Boy Genius Report。考虑到内容涉及到敏感话题，特别声明一下：译文发表在这里不代表本人赞同原文观点，放在这里仅供参考，请勿跨省。转载请保留以上文字并加入本文链接。
据华盛顿邮报报道，网络搜索巨头Google，以及美国国家安全局（NSA）将联合起来分析最近的一次被认为是来自中国的网络攻击的相关数据。NSA和Google都未对此伙伴关系做出评论，但是华盛顿邮报有匿名来源声称“已经构想出了一种合作方式使得两个组织之间可以分享重要信息，此种合作并不违反Google的政策以及保护美国人在线交流隐私的法律”。华盛顿邮报补充道，“这种合作并不意味着NSA将要检查用户搜索或者电子邮件账户，也不意味着Google将提供私有数据。”你怎么认为？你觉得NSA与Google的合作会让你觉得更安全吗？
阅读更多（链向华盛顿邮报原文，英文）
相关文章

Google桌面很恐怖...
中国大陆Twitter用户的“新”选择——TweetDeck
[转载]美国青年:中国就是一个山寨

]]></description>
			<content:encoded><![CDATA[<blockquote><p>本文为译文，原文在<a href="http://www.boygeniusreport.com/2010/02/04/google-and-nsa-team-up-to-protect-the-cloud/" target="_blank">这里</a>，来自著名博客Boy Genius Report。考虑到内容涉及到敏感话题，特别声明一下：译文发表在这里不代表本人赞同原文观点，放在这里仅供参考，请勿跨省。转载请保留以上文字并加入本文链接。</p></blockquote>
<p><img class="aligncenter" title="NSA-Google" src="http://media.boygeniusreport.com/wp-content/uploads/2010/02/NSA-Google.jpg" alt="NSA-Google" width="400" height="395" />据华盛顿邮报报道，网络搜索巨头Google，以及美国国家安全局（NSA）将联合起来分析最近的一次被认为是来自中国的网络攻击的相关数据。NSA和Google都未对此伙伴关系做出评论，但是华盛顿邮报有匿名来源声称“已经构想出了一种合作方式使得两个组织之间可以分享重要信息，此种合作并不违反Google的政策以及保护美国人在线交流隐私的法律”。华盛顿邮报补充道，“这种合作并不意味着NSA将要检查用户搜索或者电子邮件账户，也不意味着Google将提供私有数据。”你怎么认为？你觉得NSA与Google的合作会让你觉得更安全吗？</p>
<p><a href="http://www.washingtonpost.com/wp-dyn/content/article/2010/02/03/AR2010020304057.html" target="_blank">阅读更多</a>（链向华盛顿邮报原文，英文）</p>
<h3>相关文章</h3>
<ul class="related_posts">
<li><a href="http://abowow.com/2010/05/twitter-users-in-mainland-china-got-a-new-choice-tweetdeck/" title="中国大陆Twitter用户的“新”选择——TweetDeck">中国大陆Twitter用户的“新”选择——TweetDeck</a></li>
<li><a href="http://abowow.com/2008/12/damn-google-desktop/" title="Google桌面很恐怖...">Google桌面很恐怖...</a></li>
<li><a href="http://abowow.com/2009/02/the-whole-china-is-a-shanzhai/" title="[转载]美国青年:中国就是一个山寨">[转载]美国青年:中国就是一个山寨</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://abowow.com/2010/02/google-and-nsa-team-up-to-protect-the-cloud/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>如何填写托福/GRE免费送分学校</title>
		<link>http://abowow.com/2010/01/how-to-choose-school-of-free-score-report/</link>
		<comments>http://abowow.com/2010/01/how-to-choose-school-of-free-score-report/#comments</comments>
		<pubDate>Sat, 23 Jan 2010 14:52:39 +0000</pubDate>
		<dc:creator>Shark Chaos</dc:creator>
				<category><![CDATA[日志]]></category>
		<category><![CDATA[application]]></category>
		<category><![CDATA[ETS]]></category>
		<category><![CDATA[GRE]]></category>
		<category><![CDATA[Toefl]]></category>

		<guid isPermaLink="false">http://abowow.com/?p=442</guid>
		<description><![CDATA[
好久不写与留学相关的文章了，今天想谈论的话题是“如何填写托福/GRE免费送分学校”。请注意，这篇文章不是教你怎样在ETS或是NEEA的web系统上操作，而是教你怎样选择填写的学校。
首先，陈述一下申请北美研究生的同学多数会遇到的问题，那就是填写的托福/GRE那四所免费送分学校到最后很少有能用上的。当时我填写送分学校的时候试图从网上搜索一些具有指导意义的文章，收获甚少，只好随便填写了CS除四大金刚外的四所名校，最终一所学校都没用上。按照GRE送分$23（2010年新调价）和托福送分￥136来计算，我浪费了大约$23*4 + ￥136*4 = ￥1 172。我相信这对大多数的中国学生来说不是一个小数字。而当弄完申请之后再回过头来考虑这个问题，我有一些自己的想法，虽然没有付诸过实践，但是我相信会有帮助的。
对于一个典型的秋季(FALL)入学申请者，GRE机考安排在入学之前一年的4月，托福安排在入学之前一年的8月，而填写免费送分学校要在这两个时间节点之前。考虑到大多数学生在12月之后才能完成选校的工作，因此，如何能在选校敲定之前几个月的时候就能‘压中’几个月后要申请的学校呢？问题的答案似乎很简单，填自己一定会申请的学校呗。可是，怎样确定“一定会申请的学校”呢？
对于各种牛人，这个问题确实不算难，各种top 10，relationship，填就是了。
可是对于一般的非牛同学，在准备GT的时候恐怕连美国前100的大学名字都不熟悉，这个问题似乎无解。
既然问题不能直接求解，我们能否找个近似解？其实，我们可以把“一定会申请的学校”转变为“申请的概率比较大的学校”。
这样，我们可能很快就有了答案，比如所谓的dream school，大众情人校，AD水校。不论专业方向，个人背景，这些学校是我们在申请的过程中非常有可能申请的。所以，填写这些学校就可以把风险降到最低，尽量减少浪费的金钱。
dream school不用我多说，每个人心中肯定都有。
大众情人校和AD水校可以多上各种留学论坛看往年的学校申请统计以及AD/offer/rej统计，我在这里就不给出列表了，以免将某几所学校放得不合适而招来鄙视。
来看看我申请的14所学校中这三类学校各有多少(仅供参考，切忌模仿；其中某几所学校被归入两类并重复统计)
dream school   2/14   14%
大众情人校   7/14   50%
AD水校   3/14   21%


希望这篇文章中的点子能帮各位同学少给ETS送点钱。  
相关文章

April
【用数据说话】我所申请的一些美国学校计算机专业硕士录取人数及随想
【转载】一位UM的心理学Ph.D给的写PS的建议
掌握命运
春节流水账

]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><img class="size-full wp-image-443 aligncenter" title="filling-out-form" src="http://abowow.com/wp-content/uploads/2010/01/filling-out-form.jpg" alt="" width="406" height="270" /></p>
<p>好久不写与留学相关的文章了，今天想谈论的话题是“如何填写托福/GRE免费送分学校”。请注意，这篇文章不是教你怎样在ETS或是NEEA的web系统上操作，而是<strong>教你怎样选择填写的学校</strong>。</p>
<p>首先，陈述一下申请北美研究生的同学多数会遇到的<strong>问题</strong>，那就是<strong>填写的托福/GRE那四所免费送分学校到最后很少有能用上的</strong>。当时我填写送分学校的时候试图从网上搜索一些具有指导意义的文章，收获甚少，只好随便填写了CS除四大金刚外的四所名校，最终一所学校都没用上。按照GRE送分$23（2010年新调价）和托福送分￥136来计算，<strong>我浪费了</strong>大约$23*4 + ￥136*4 = <strong><strong>￥1<span> </span>172</strong></strong>。我相信这对大多数的中国学生来说不是一个小数字。而当弄完申请之后再回过头来考虑这个问题，我有一些自己的想法，虽然没有付诸过实践，但是我相信会有帮助的。</p>
<p>对于一个典型的秋季(FALL)入学申请者，GRE机考安排在入学之前一年的4月，托福安排在入学之前一年的8月，而填写免费送分学校要在这两个时间节点之前。考虑到大多数学生在12月之后才能完成选校的工作，因此，如何能在选校敲定之前几个月的时候就能‘压中’几个月后要申请的学校呢？问题的答案似乎很简单，填自己一定会申请的学校呗。可是，怎样确定“一定会申请的学校”呢？</p>
<p><span id="more-442"></span>对于各种牛人，这个问题确实不算难，各种top 10，relationship，填就是了。</p>
<p>可是对于一般的非牛同学，在准备GT的时候恐怕连美国前100的大学名字都不熟悉，这个问题似乎无解。</p>
<p>既然问题不能直接求解，我们能否找个近似解？其实，我们可以把“一定会申请的学校”转变为“<strong>申请的概率比较大的学校</strong>”。</p>
<p>这样，我们可能很快就有了答案，比如所谓的<strong>dream school，大众情人校，AD水校</strong>。不论专业方向，个人背景，这些学校是我们在申请的过程中非常有可能申请的。所以，填写这些学校就可以把风险降到最低，尽量减少浪费的金钱。</p>
<p>dream school不用我多说，每个人心中肯定都有。</p>
<p>大众情人校和AD水校可以多上各种留学论坛看往年的学校申请统计以及AD/offer/rej统计，我在这里就不给出列表了，以免将某几所学校放得不合适而招来鄙视。</p>
<p>来看看我申请的14所学校中这三类学校各有多少(仅供参考，切忌模仿；其中某几所学校被归入两类并重复统计)</p>
<p><strong>dream school   2/14   14%</strong></p>
<p><strong>大众情人校   7/14   50%</strong></p>
<p><strong>AD水校   3/14   21%</strong></p>
<p><strong><br />
</strong></p>
<p><strong>希望这篇文章中的点子能帮各位同学少给ETS送点钱。</strong> <img src='http://abowow.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<h3>相关文章</h3>
<ul class="related_posts">
<li><a href="http://abowow.com/2009/02/issue17-just-and-unjust-laws/" title="Issue17 just and unjust laws">Issue17 just and unjust laws</a></li>
<li><a href="http://abowow.com/2009/07/gre-experience/" title="GRE经验总结">GRE经验总结</a></li>
<li><a href="http://abowow.com/2009/06/gre-paperbase-experience/" title="GRE笔经">GRE笔经</a></li>
<li><a href="http://abowow.com/2009/01/about-preparation-for-gre-aw-test/" title="关于GRE AW备考">关于GRE AW备考</a></li>
<li><a href="http://abowow.com/2009/05/gre-tools-dictionary/" title="GRE备考软件之一——词典篇">GRE备考软件之一——词典篇</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://abowow.com/2010/01/how-to-choose-school-of-free-score-report/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
	</channel>
</rss>
