我带学生的风格

1、我对学生的课业和研究工作,研究品味方面要求比较高。
2、时间上也要求学生比较投入。
3、在研究内容的选择方面,我给学生比较大的自由。可以慢慢地从我想做的东西里头选择,也可以自己想然后通过与我讨论并得到认可以后拿来做。
4、我会尽量地从idea、实现技术、研究所需知识基础、研究课题的背景和现状的调研等等各个方面给于帮助和指导。
5、我会非常严厉地批评学生,也会非常耐心地给学生从头讲解。
6、只要学生清楚自己在做什么,比较细之地考虑过了自己的选择的结果(当然,我会帮你分析选择的可能后果),我一般都尊重学生的选择。

就算我在严厉批评学生的时候,除了知识积累或者技术实现甚至对这个项目的认可程度方面都差别,学生和我是平等的。学生可以和我争论,我不会伤心、生气。研究工作进展很小的阶段很正常,但是如果我不知道进展小的原因,不知道学生在针对这个情况做什么,就不正常了。我希望学生不要怕找我诉说困难,如果这都怕,要老师干什么?老师就是跟学生一起找到困难到底在什么地方,然后在能够帮忙的时候帮一下的人。在研究工作中起主导或者辅助作用我都愿意。

想招两个一年级本科生指导一下

从物理系和系统科学系找两个新生,最好一边一个,加入我的研究小组。计划用两年时间学习核心课程,两年时间做一些研究工作。在完成普通学生的课程基础上,我会对数学、物理学、计算机、英语课程提出额外的要求,并提供指导。你会花很多其他人玩乐的时间来学习和开展研究工作。这一点你要有心理准备。

要求:

  1. 对学术研究有浓厚的兴趣
  2. 有毅力,不畏难
  3. 数学、物理学、英语不是很差

目标:

  1. 完成数学、物理学、计算机科学本科以及硕士研究生阶段的核心课程的学习
  2. 基本的科研训练:学术品味、寻找问题、完成计算、报告学术成果、论文写作
  3. 多学科的兴趣

待遇:

  1. 考察期间过后,给一定津贴
  2. 完成研究工作的话,按照本组硕士研究生的标准给予奖励

我的所得:

  1. 更多的学生来完成我的工作。不过这个不重要,其他研究生也可以完成
  2. 试一试在我自己身上管用的学习方法和内容有没有一定的推广价值
  3. 寻找和培养超越我自己的学生,这一点最重要

关于培养方向的部分细节内容可以参考:工具、课程与学习资料
关于吴金闪的更多细节可见吴金闪的简历
关于吴金闪团队的工作的更详细的介绍可见研究计划与进展

工具、课程与学习资料

这些是我整理的为一般性的研究工作做准备的一些资料和工具。大部分都可以从网上下载(docin, doc88, iask文库之类的地方,当然还有Google)。

  • General discussion of Scientific Investigation and Scientific Thinking: The Art of Scientific Investigation by W.I.B. Beveridge, Learning, Creating and Using Knowledge by J.D. Novak.
  • LaTeX (typesetting): The Not So Short Introduction to LATEX2ε, a sample file or a journal specific template, google latex symbols when needed.
  • gnuplot (figures): gnuplot in action, gnuplot manual, gnuplot not so frequently asked questions.
  • jaxodraw (Feynman diagram): jaxodraw official website.
  • Linux shell (A series of Linux commands in a file to save time): Linux Shell Scripting Tutorial v1.05r3 A Beginner’s handbook (http://www.freeos.com/guides/lsst/index.html) .
  • C:
    1. Find a good textbook and a good tutorial on C programming: Programming in C By Stephen G. Kochan, C by Examples by Greg M. Perry, C in 21 days by Aitken and Jones, The C Programming Language by K&R, http://en.wikibooks.org/wiki/C_Programming, http://www.cprogramming.com/tutorial/c-tutorial.html .
    2. First find a compiler (gcc), compile from the command line.
    3. Learn how to compile and run a basic program (makefile), such as printing “Hello World” to the screen and exit.
    4. Learn about variable types, such as the difference between char, int, float, double, etc.
    5. Learn about the concept of variables, arrays and functions.
    6. Learn pointers, dynamic memory allocation.
    7. Learn conditional statements and loops, such as the “if”, “switch” and “for” statements. Also learn the continue and break statements.
    8. Learn some basic standard library functions, but not too much.
    9. Start with small programs, however meanwhile constantly think about one much bigger problem on your mind, say the task you want to accomplish in the beginning when you notice that you need C and start to work on that problem (via for example, first decomposing the big problem into many small ones) as soon as possible.
    10. Learn key steps about debugging (gdb).
    11. Learn a little bit about programming style: Notes on Coding Style for C Programming, Writing Bug-Free C Code.
    12. Learn data structures and a little bit on algorithms, linked list, graph, tree.
    13. Learn a little bit of code profiling (code optimization): gprof, http://www.ibm.com/developerworks/library/l-gnuprof.html .
  • Python: 转闫小勇(@yanxy)整理的资料:Python精要参考(第二版)——iask上有,100多页,保证几天学会Python基本编程:)Networkx入门笔记——我博客上有: here
    Numpy 1.5 Beginner’s guide——iask上有,200多页,看前三章一般就够了,推荐!
    用python做科学计算——在线版:http://hyry.dip.jp:8000/pydoc/index.html,可以看看里边的numpy和matplotlib部分,其他不看也罢。
    个人建议:学编程,关键是动手写。看书看不会,越写越熟练!
  • R: http://www.ling.upenn.edu/~joseff/rstudy/index.html,Introductory Statistics with R by Peter Dalgaard,The Art of R Programming: A Tour of Statistical Software Design by Norman Matloff, The R Book by Michael J. Crawley。
  • sage: http://www.sagemath.org/doc/tutorial/index.html,SAGE For Newbies by Ted Kosan,Sage Beginner’s Guide by Craig Finch。
  • Network Analysis and related packages: An Introduction to Networks by Newman, Our own review paper and several papers from others (see documents from the complexity group on this website), NetworkX, Pajek, UCINET, SNAP: Stanford Network Analysis Platform, igraph, Network Workbench.
  • Monte Carlo and Monte Carlo in statistical physics:
  • Linear Algebra System (BLAS, Lapack, Petsc, Slepc): official websites, examples and manual
  • General algorithms (numerical diffrentiation, integration, the Runge-Kutta method, root finding etc): gsl and gsl manual, Introduction to Algorithms, by Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest and Clifford Stein, The Algorithm Design Manual by Steven S. Skiena。
  • Parallel programming (MPI, just some general priciples): “Parallel Programming in C with MPI and OpenMP” by Quinn, Petsc, Slepc manual and examples
  • Physics, Math and Economics:
    1. Classical Mechanics: Feynman’s Lecture on Classical Mechanics,力学概论by方励之,Mechanics by Landau;Calculus required.
    2. Quantum Mechanics: Feynman’s Lecture on Quantum Mechanics, Principles of quantum mechanics by R. Shankar, Modern Quantum Mechanics by J.J. Sakurai,高等量子力学by喀兴林,Quantum Mechanics by L. Ballentine;Classical Mechanics, Linear Algebra, Probability Theory required。
    3. Statistical Physics: 量子统计物理学by杨展如,Statistical Mechanics by D.A. Mcquarrie, Statistical Physics by Leo P. Kadanoff, A Modern Course in Statistical Physics by L. E. Reichl, Equilibrium Statistical Physics by Michael Plischke and Birger Bergersen, Introduction to Modern Statistical Mechanics by David Chandler;Classical Mechanics, Quantum Mechanics, Probability Theory, Stochastic Process required.
    4. Quantum Field Theory: Quantum Field Theory: From Operators to Path Integrals by Kerson Huang,Many-Particle Physics by Gerald D. Mahan,An Introduction to Quantum Field Theory by Peskin & Schroeder; Classical Mechanics, Quantum Mechanics, Statistical Mechanics required, Group Theory, Functional Analysis can be helpful。
    5. Non-linear Dynamics: Invitation to dynamical systems by Edward R. Scheinerman, Chaos: Making a New Science by James Clark(译作《混沌学传奇》或者《混沌:开创新科学》) 。
    6. Linear Algebra: 线性代数by居余马,线性代数与矩阵论by许以超,Algebra by M. Artin
    7. Calculus: Calculus Early Transcendentals by James Stewart,简明微积分 by 龚升,Principles of Mathematical Analysis by Rudin
    8. Probability Theory: 概率论导引 by A·H·柯尔莫戈洛夫,概率论引论by汪仁官,概率论by何书元,A course in Probability Theory by Kai Lai Chung
    9. Statistics: Statistics by D. Freedman, 有中文版
    10. Fokker-Planck equation, Master equation etc. in Stochastic Process: Fokker-Planck Equation by H. Risken
    11. Game Theory: Games of Strategy by Dixit etal, 演化博弈论 by 威布尔
    12. Microeconomics:
    13. Mathematical Modelling (the idea of searching and presenting phenomena by their natural math structures): A first course in mathematical modeling by Frank R. Giordano
    14. Group Theory (to have a better understanding of math, also helpful in understanding Quantum Mechanics, Quantum Field Theory): 熊全淹的《近世代数》, Representations of Compact Lie Groups by T. Bröcker and T.tom Dieck
    15. Functional Analysis (essential for understanding properly Quantum Mechanics and Quantum Field Theory):
    16. Differential Geometry (to have a better understanding of math, also important in learning General Relativity): 微分几何与广义相对论入门by梁灿斌,尤其是各种附录要仔细看,非常有价值