在瑞典很有意思的事情是,作为外来人,我每天都会和很多很多不认识的人说话。这好歹可以缓解一下在这里的寂寞与无聊。比如昨天早上的英语口语课,德国法国西班牙中国的学生在一起按照老师的要求胡乱设计海报;今天中午去退课上演托福听力对话;到处都能碰到德国人、法国人,今天在图书馆碰到中国人;随后居然认识了一个北理工的校友;回到 corridor room 之后发现同屋的日本姑娘叫了她的几个日本朋友来一起做日本菜,其中一个居然是我在口语课上认识的⋯⋯
我不知道我这里说的“寂寞和无聊”和我之前在网上看到的那些留学生写的“寂寞与无聊”哪一个程度重。但倘若程度一样,那他们实在是小题大作,这实在算不了什么,因为总有可以看的书,有可以愿意和你谈谈天气谈谈自己的人,这比起抄实验报告、玩游戏的确更有意思些。
我选择了一门编程课,到上课的时候才之后才发现这是 C++的初级课程。这些课的所有课程计划,要求,教材,授课内容在选课的时候就发布到了网上,我是奔着看看编程环境来的,什么Unix,Emacs 之类的。我认为这些东西在国内很少见,所以我看看我熟悉了这些之后到这边有多少优势。来上课的有一些懂编程的,也有不懂的。课程分为三部分,lecture 是老师讲,lesson 是助教讲相关习题,上机是两个人一组编程。每节课 45 分钟,每次两节课时间。
上课的时候,老师讲起赋值,他的本意是说两个 int 类型的数字相除得不到小数。老师问“int i = 3/5;这个语句执行之后i是多少?”后面有学生举手,然后说,i 等于 3。老师看了一下黑板说,你不能只看除号前面的部分而不看后面。然后有人说等于 0.6,然后老师开始耐心讲解为什么是 0 ⋯⋯老师上课随时都会被不懂的学生打断,或者一个学生打断之后另外一个知道答案的学生马上给另外一个学生解释,每天都有托福对话,只是发音不标准。
编程练习从基础开始,cin 和 cout。但和北理使用 OJ 不太一样的是,这里是助教负责检查代码,包括代码的内容和格式。这些基础的练习虽然简单,但涉及的基础比我们宽泛很多。比如编写输入输出整数的时候,要让学生考虑到用户输入一个数字之后又输入一些无意义的东西,这个时候学生应该把这些多余的输出忽略掉,并且在输出的时候按右对齐;或者输出指定位数的小数;一个有两位小数的数字在自身累加十万次之后产生的误差如何消除⋯⋯而我们,嘿嘿,Hello World~
这边有 Lisp 课,这是让我最惊讶的一件事情。只可惜是用瑞典语来授课的—但很明显是本科的课程,研究生的课程是都用英语来授课的。