如果你走入我们的内核之旅网站http://www.kerneltravel.net/ ,静下心阅读并动手实践,或许,流逝的时间,让你手捧沉甸甸的果实。 欢迎在讨论区提问。 如果你希望有即时的讨论,欢迎到西邮Linux兴趣小组:http://groups.google.com/group/xiyouLinux

Linux与课程学习

2008-05-04 21:06:10 / 个人分类:授课之感

以下是我发在xiyoulinux论坛http://groups.google.com/group/xiyoulinux上的帖子,拿出来分享了。

作为Linux兴趣小组的同学,不管是哪个专业,对于课程学习和上机,建议全部在Linux环境下,这样使得Linux学习与课程学习完全的融合起来。

1.      微机原理与汇编语言课程。大家现在学的是808616位的汇编语言,这样的机型已经只能在博物馆找到了。但是,为什么还给大家讲808616位)而不是8038632位),这是因为,作为教学,8086比较好入门,课堂教学的作用是把大家领入门。但是,作为学生,如果仅限于学8086下的汇编,工作以后很难找到这样的应用场景,因此,建议汇编语言的上机在Linux环境下。但是Linux下的汇编是AT&T格式,关于intel汇编与AT&T汇编的差异,在Linux内核之旅网站上,《深入分析Linux内核源代码》的第二章有一节给出了比较。要想看到Linux下的汇编是什么样的,把你编译后的目标代码反汇编。比如,你写了一个简单的C程序hello.c,用Gccld对其进行编译和连接后,得到的可执行程序为hello,然后用Linux的实用程序objdump可以对其反汇编:
$ objdump –d hello
那么,如何用GCC编译汇编语言,很简单:
Gcc –o test test.S
2.      C语言课程:C语言的教学是在DOS下(简单的环境有助于大家把精力放在语言本身),一个16位的编程环境,可是,在现实应用中,同样很难找到这样的应用场景了,因此,C语言的编程环境同样需要延伸。Linux下的C,除了遵循标准C,还遵循GNU 扩展C,因此,在LinuxC,会觉得C知识的缺口还依然很大。Linux下的应用场景:
场景之一:嵌入式开发,C首当其冲了,其中,vim+gcc+gdb为字符界面的开发工具。嵌入式图形界面,比较好的选择是MiniGUI-清华大学毕业的魏永明领头的开源项目,已经有多个年头了,而且有较好的应用基础了。
场景之二:图形化开发。在DOS下做图形界面,意义很小了。在Linux下,基于C的图形化界面开发环境主要是基于GTKGLAD,新近的IDEAnjuta,据说相当不错。
还有其他的应用场景和开发环境,大家补充一下了。
3.      C++课程:作为面向对象的基础语言,应用场景宽泛多了,开发环境也很多,大家可以补充。在Linux下的开发环境与C基本相同。
4.      Java语言课程:Java本来跨平台,无所谓在什么操作系统下进行开发。但是,选择Linux下的elipse开发环境,是否可以一举几得。
5.      数据结构课程:数据结构本是与语言无关的,主要关注的是算法。但是,因为现在的教材用C语言描述(过去用类Pascal描述),算法的重要性无法凸显了,反到成了C语言的延续。既然是上机用C,那大家何不在Linux下编写32位的C程序呢。
6.      操作系统课程。上机环境选择Linux几乎是没有任何疑异了。
7.      数据库课程。随着oracle等大公司力挺Linux,以及开源的Mysql数据库,那么,在Linux下进行数据库的学习似乎也没有任何障碍了。
8.      课程设计:两周的课程设计,在Linux下去做,看看你能做到什么程度,
以上是即兴想到的关于各门课程学习中用到的Linux环境,大家可以补充。
在完全Linux的环境下,如果你不进步,似乎可能性太小了。

TAG: 授课之感 linux学习

phoenixdream发布于2008-05-09 05:53:51
学习中。
juniperzh的个人空间 juniperzh 发布于2008-05-07 16:59:15
很好很好,谢谢。

zwwoshi发布于2008-05-07 14:06:36
在学习中   
reboot的个人空间 reboot 发布于2008-05-07 02:49:24
老师的提议很不错,希望今后能是这样
开源大讲堂_黄富强 黄富强 发布于2008-05-04 21:44:44
三大系统课程教学方法一定要改革,有助于提高基础软件的基础研究能力,为应用研究与开发研究与实现打基础,这种功夫是内功,有助于创新性成果的产生,它标志着国家软件技术能力,一定要形成科学,否则理论计算机科学是无源之水。

[ 本帖最后由 黄富强 于 2008-5-4 22:08 编辑 ]
开源大讲堂_黄富强 黄富强 发布于2008-05-04 21:17:34
编译原理
并行程序设计(并行计算)
网格计算
EOS
计算机网络管理
...............
------很多学科,高校计算机相关专业教学的开源之路值得研究.
::;;;开源硬件+开源软件=开源计算系统;;;;::

[ 本帖最后由 黄富强 于 2008-5-4 21:37 编辑 ]
我来说两句

(可选)

Open Toolbar