Tips for Undergraduate Students
Please let me know if you have any questions and feel free to stop by my office at (14-154) Control Labs, or send me email (ebrgallaf@eng.uob.bh) to set up an appointment any time.
Matlab and C++:
Learn Matlab as soon as possible if you do not already know it (one way to do this is to start solving many of your homework problems with it). Start with the help documents and demonstrations. If you generate plots in Matlab you can use an option under printing the figure (when it is open) to save it as a .eps file, and then the .eps file can be easily incorporated into Latex (via, e.g., the useful \scalefig macro in the shell.tex file given below). Also, since we often use superscripts, subscripts, and Greek characters, it is useful to label your plots this way in Matlab. To see how to do this say "help texlabel" in Matlab (Matlab implements some Tex commands for mathematical formulas). For more sophisticated labelling of Matlab-generated .eps files it is recommended that you use Adobe Illustrator which allows you to directly open and edit .eps files.
For more sophisticated simulations you may want to consider using C since for the same program it is sometimes 10 times faster than Matlab. For the programs written in C it is easy to output the data to a file and plot it in MATLAB. For a brief explanation of how to output data from programs and plot it in MATLAB, click here.
For code implementing a wide variety of methods for control see my web page.
Word Processing: Latex
While Microsoft Word may be useful for writing simple letters and for mail merge, it is quite substandard when it comes to writing nice looking technical reports that have lots of equations. The preferred package is Latex (Framemaker is a bit better than Word, but is not adequate). It is therefore important that you learn Latex as soon as possible, and one good approach to do this is to use it to type in a few homework problem solutions just to get started. It is quite helpul when getting started with Latex to keep a few things in mind:
- Ask someone who already knows Latex to sit with you the first time to "hold your hand." This will save you a significant amount of time.
- Buy the book: Leslie Lamport, Latex: User's Guide and Reference Manual, Second Edition, Addison-Wesley, 1994. Well, this is still good advice - but really, there are many good resources on the web (some of which are listed below, ) or at bookstores.
- Accept that in the beginning there will be a big "learning curve."
- It is easiest to start from existing files ("shells"). For one that can be used for homework problem solutions, project reports, and journal paper submissions see: shell.tex (but for this you will need mycommands.tex, but this file should be viewed as something that you will build on as you see fit). One very important macro in the mycommands.tex file is \scalefig. Learn it and use it as it will make the placement of figures in your documents much easier. For a shell for a black-and-white seminar talk (for slides, with nice borders) see: seminar_bw_shell.tex and for one that also includes color and other fancy features see: seminar_color_shell.tex For this you will need the OSU logo: osu-logo.eps (osu-logo-color-rw.eps) and you will need some macros in mycommands.tex (that was mentioned above); the other files that are used by the seminar style file can be found on the standard package at the local site or the CTAN site. Of course, it is probably better to move all the commands in those shells into another file and just \input that for your slides.
- You will often find it useful to produce .ps and .pdf files from Latex. Note that when you generate your .ps file you need to include the fonts for the .pdf file to come out with good resolution (without too large of a file). To do this under Linux:
1) Use the following command to generate the .ps file.
dvips -tletter -Pamz -Pcmz -o *.ps *.dvi
Note that this can be only used in Linux because the fonts in HP-UX cannot be located.
2) Then use Acrobat distiller 4.0 to change *.ps to a clear .pdf file.- Putting other file types into Latex: Adobe illustrator or Photoshop is useful for converting many file types (e.g., .gif, .jpg) to .eps files so that they can be included in Latex (e.g., via the \scalefig command in "mycommands.tex" above). What about movies? The only way I know to do this is to Latex the presentation, print it to a file (creates the .ps file, and do include the fonts), convert it to a .pdf file using Adobe Distiller, then open the file with Adobe Acrobat. Now, Acrobat allows you to edit the .pdf file in several ways, and one of them is to put in movies (e.g., you leave a blank space in the presentation and insert the movie using Acrobat).
The Latex software is free (or it is shareware, but there are also commercial versions) and there are many helpful web-based resources for it. Some of these are (but I am sure that you can find others):
\usepackage{amsmath}
in the header of your file. To see the
user's manual for the AMS-Latex package, to get an idea of what it has to
offer, see:
amsldoc.psNext, note that as you build a bibliographic data base you should use Bibtex for automating the referencing process. To get started, the following is a .bib file of some books in the control systems area: refs.bib To use this file you set a bibliographic style, and use the
\citecommand in the Latex document. You should share your .bib files with other graduate students to save time typing the bibliographic information into the proper format. Try to use a standard method for the labelling of the references (note that one that is commonly used can be seen in the file refs.bib above).
Latex and PowerPoint:
While the above "seminar_color_shell.tex" file, coupled with the ability to embed movies in .pdf files (see above) provides an ability to present very nice presentations, there are additional features and reasons to use MS Powerpoint. A problem, however that typically arises is that you have to use mathematical formulas, ones that you already have in Latex. I am aware of two solutions to this problem, one is from Y&Y software (who also offers a commercial version of Latex): http://www.yandy.com/ where apparently you can cut out of the pre-viewer and save as a file that can be imported into PowerPoint. The other approach is "TexPoint": http://raw.cs.berkeley.edu/texpoint/index.htm where the approach is to allow for the using Latex-style syntax for equations directly in PowerPoint. I am not sure which of the two above options is best.
Style Conventions Recommendations for Technical Writing:
There are many other issues involved in writing a good technical paper and it is recommended that you pay careful attention to the process of writing and try to improve your writing (afterall, we are judged by what we communicate, in written form, or orally, so your abilities to write and speak clearly are very important). Some ideas on writing technical papers are given in Bernstein's paper listed below under research methodology.
Research Methodology / Working Effectively:
It is useful for you to think about research methodology before and during your course. To assist you along these lines I would recommend that you read: D. S. Bernstein, "A Student's Guide to Research," IEEE Contr. Sys. Mag., Vol. 19, pp. 102-108, February 1999, which you can obtain by clicking here (and scroll down to his list of papers). There are lots of self-help books out there, some that focus on how to be a good manager, team-player, etc. A book that focuses on how to help make you work effectively, no matter what job you get, that you should consider reading is:
Stephen Covey, The 7 Habits of Highly Effective People, Simon and Schuster, NY 1989
Technical Presentations:
The technical presentations that you give (e.g., seminars, conference talks, project and thesis defence) are very important (in some ways they define how others view you). It is recommended that you:
Get a copy of the chapter "Engineering your presentations" that is from D. Beer and D. McMurrey, "A Guide to Writing as an Engineer," John Wiley, NY, 1997. Read it carefully and follow its recommendations.
Often it will be convenient to convert your latex files into presentations and the seminar style file is very useful for that. You should consider using colour, especially for interviews and conference talks, and in the Latex section above it is explained how to do to that. Of course then you will either need to get access to a colour printer for making slides, take a .ps or .pdf file to Kinko's (or CopEz) and let them make the color slides, or get a laptop so you can make an electronic presentation.
Get to Know Your Professional Community:
It is very important that you get to know your professional community. You should certainly be a member of IEEE and IEEE Control Systems Society. The E-letter (a useful electronic newsletter): The "E-LETTER on Systems, Control, and Signal Processing" is a useful electronic newsletter. You can subscribe to the E-letter by sending an (empty) e-mail message to eletter@win.tue.nl carrying the subject 'add' or 'subscribe'.
Some useful sites are:
- The IEEE: http://www.ieee.org/
- The IEEE Control Systems Society (has several key journals, and runs the IEEE Conf. on Decision and Control, so there are pointers here to all the CDCs): http://www.ieeecss.org/
- American Automatic Control Council (runs the American Control Conference, so there are pointers here to all the ACCs): http://www.ece.nwu.edu/~ahaddad/aacc/
- International Federation on Automatic Control (has the journal "Automatica" and runs the IFAC World Congress every three years): http://www.ifac-control.org/
- Systems and control archive at Dallas (has many useful pointers for the control systems researcher): http://scad.utdallas.edu/
Please let me know if you have any questions about any of these items. Good
luck!!!
Quick-Links :