This page is primarily intended for current graduate students at Cornell who are current SIOSlab members, or are interested in joining the lab.  For undergraduate students interested in applying to graduate school, please see here.

Contents

Policies and Procedures

These notes are intended to augment the policies given in the field rules and the graduate school’s code of legislation.  They are SIOSlab specific and other groups in the department and throughout the university may do things differently.

Joining SIOSlab

If you are interested in joining SIOSlab, send Dmitry an email.  You will be expected to start attending group meetings (if they do not conflict with your course schedule).  Assuming your interest persists, you will be asked to give a presentation at one of the group meetings. You will not be expected to do any work for the lab before you are formally a group member.  You are strongly encouraged to speak with all current group members to get their take on the lab and to decide whether it is a good fit for you.

Classes

Each semester your are enrolled you will need to decide which classes you wish to enroll in.  Typically, you will take the largest number of classes in your first year (2-3 per semester) and then taper off in subsequent years, taking only 1-2 courses per semester in most years, and potentially no for-credit courses in your final one or two years. Please note that it is SIOSlab policy that you may not audit any technical courses in your first year.  The only exception to this rule is if you wish to enroll in undergraduate (4xxx and below) classes to refresh your memory on some subject.  5xxx and higher courses taken in your first two semesters may not be audited.  After you successfully complete your Q exam, auditing is permitted, but strongly discouraged.   Based on years of observation, Dmitry does not believe that anyone really learns any technical subject via a course without doing the coursework – if you feel that you need a course on a topic, then you should be doing the work for it.

Courses should be selected as follows:

  • Pre Q-exam, you should take courses to help you study for the exam and shore up any gaps in undergraduate preparation.  If you are taking the DSC Q, then you should probably enroll in MAE 5780 (Feedback Control Systems) and 5730 (Intermediate Dynamics) in your first semester.  Past this, there are many options for more advanced courses.  Recommended dynamics and control classes include MAE 6700, 6780, 6790, 6750, 6760, 6770.  Specialized space dynamics courses include MAE 6060 and 6720.
  • Post-Q, you should select course that will help with your specific research.  You will also need to take courses to satisfy any minor concentration requirements.  Be sure to speak with your minor committee members early and often to be clear on their course expectations for you.  Note that requirements vary wildly by concentration, with some having no course requirements, and others requiring up to 8 courses.  In addition to minor requirements, you will often wish to take additional courses in and out of the department that address some particular aspects of your work.  Be sure to discuss options with Dmitry and senior lab members.
  • It is strongly recommended that you take graduate level math courses while enrolled.  The MAE department offers a standard sequence in MAE 6810 and 6820, but there are other options in other departments (in particular MATH). You may take these pre- or post-Q, but if your future plans include remaining in academia and teaching, you should consider a strong math grounding a must.
  • Finally, take whatever you want.  You’re at a world-class university.  If you’ve always wanted to learn spoken Latin or take an introduction to international law, go for it.  Note however, that you must prioritize your research and courses associated with it.  But, if you can handle the load, take this opportunity to broaden your horizons.

TAing

It is expected that MAE students will complete two teaching assistantships during their degree program.  The vast majority of SIOSlab members serve as TAs twice, although in rare cases, additional TA assignments may be requested of a student.  Typically, unless they are supported by other funding, a student will be asked to TA in the spring semester of their first year (primarily to support Q preparation) or in the fall of their second year (to TA Feedback Controls). The second TA is typically done in the third or fourth year.

External Support

You should consistently apply for fellowship and scholarships throughout your time at Cornell, if you feel you have the bandwidth to do so. Your support in MAE is typically guaranteed for five years and you are under absolutely no obligation to apply for external support.  That said, having an external funding source looks great on your CV and gives you more freedom to pursue your specific interests while earning your PhD.  Cornell maintains an extensive list of external and internal funding opportunities: https://gradschool.cornell.edu/diversity-inclusion/funding-and-resources/.  If eligible, you should plan on applying for the NSF GRFP in your first or second year, and may also consider the DOE NDSEG.  Most SIOSlab students are doing work relevant to the NASA NSTGRO and FINESST program.  Be sure to discuss these with Dmitry as they require his participation for submission.

Dmitry is happy to read any and all fellowship proposals if you get him your drafts two weeks before the submission deadline.

Meetings

Every graduate student gets 30 minutes of Dmitry’s time every week.  This can be scheduled as a weekly half hour meeting or bi-weekly hour-long meeting.  Every student can choose which they prefer and change their mind at any point.  Meetings are typically set at the beginning of every semester (Dmitry will circulate a poll to gauge everyone’s availability).  Anyone can request remote access to any meeting at any time for any reason. 

There is also a weekly hour-long group meeting that is used for student presentations.  All students are expected to attend the group meeting whenever they are available, and to take turns presenting.  Presentations may be used to practice upcoming talks/posters, to share new results from research, or to present and discuss papers.  All presentations from group meetings are expected to be uploaded to the shared google drive.

Conferences/Travel

You are expected to attend at least two conferences per year (starting in your second year) to present your work.  You may attend more, but the lab will only fund conference travel if you are presenting.  All conference and travel costs will be paid for by the lab if you have an accepted paper/presentation. Talk to Dmitry about availability of funds when planning conference travel, and submit your abstracts for review no less than one week prior to submission deadline. Typical conferences include the summer SPIE Optics+Photonics and Astronomical Telescopes meetings, the AAS Winter meetings, that AAS/AIAA Astrodynamics Specialist Conferences, and IEEE meetings.  You are encouraged to find additional conference opportunities matching your interests, and are not obligated to only attend the conferences Dmitry goes to.

You may also wish to attend one or more specialized summer schools.  Past examples include the Center for Adaptive Optics Summer School and Penn State Astrostatistics Summer School but you are encouraged to look for additional opportunities matching your interests.  If the summer school is relevant to your research goals, then it will be funded by the lab, given availability of funds. In all instances of travel, you are encouraged to apply for any available travel support from the conference/school and the university.  See here for information on Cornell’s travel grants: https://gradschool.cornell.edu/financial-support/travel-funding-opportunities/. Note that the university conference travel grant is treated as taxable income and the tax is not withheld.  If you believe that accepting a grant will lead to financial burden or hardship, discuss with Dmitry beforehand or do not apply.

If traveling to a conference on lab funds, your poster/presentation/paper must be complete before you get on a plane (or however you’re getting there).  You will typically be expected to present your poster/presentation at a group meeting before the conference to get feedback from the rest of the group.

Upon your return from a conference, you are expected to upload the final version of your presentation/paper/poster to the shared google drive. Be sure to upload an editable version (i.e., if you’re uploading a PDF, also upload the original source).  If the source was in Overleaf, just share the project with Dmitry.

Papers, Exams, and Dissertation

You are expected to publish the results of your work.  Publication of peer-reviewed journal articles is a key metric for your progress in your degree program.  After your second year, you are typically expected to produce (on average) at least one peer-reviewed work per year such that you have at least three peer-reviewed papers by the time you complete your degree. Note that these are averages only and everyone’s specific case is, of course, unique.  You must submit an article for peer review before you may schedule your A exam. The article does not have to be accepted by the time you take the exam, but must be in review.

Your work is your own and you should expect to be the first author on any paper you write. Similarly, you get to decide the authorship of your papers.  Dmitry expects to be listed as an author on papers he contributes to, but his placement in the authors list should be determined in the same way as everyone else’s.  You are encouraged to include any of your group mates who contribute in any way to your paper in the authorship, along with any of our external collaborators.  In cases where you assess that authors contributed the same amount of work, author names should be listed alphabetically by last name.  Dmitry must be given the opportunity to read any paper (including conference papers/posters/presentations) his name appears on before it is submitted.  The lab will pay for publication charges for all papers related to the lab’s work.  If you write and submit a paper on your own, written in your personal time, and not using any lab resources, then Dmitry does not expect (or want) to be listed as an author, but will also not pay for page charges.  Please see here for a discussion on intellectual property policies: https://gradschool.cornell.edu/policies/intellectual-property/.

The choice of journal is similarly up to you.  You can see a list of journals we’ve previously published in by visiting the publications page on this site, but you are also encouraged to identify other journal that best match your work.  Discuss the choice of journal with Dmitry before submitting.

All source code written to produce the results in the paper, as well as the data representing the results must be publicly released at the time that the paper is published.  Source code should be released via a GitHub repository under the SIOSlab organization.  You may create your own repositories for your own projects under your own GitHub account, in which case these will be forked to copies under the SIOSlab organization at the time of the paper publication.  Results under 10 Gb should be released via Cornell eCommons.  The basic procedure for this is to contact eCommons staff while the paper is in review and request a new submission to the SIOSlab collection (https://ecommons.cornell.edu/handle/1813/69709).  The eCommons staff will assist in setting up a new dataset and will provide you with a URL and DOI.  At the proofing stage of your paper, you must insert a reference to the eCommons collection somewhere within the paper text.  When the paper is published and given a DOI, contact eCommons again to update the collection with the paper DOI.

You dissertation may (and is expected to) contain your previously published work, including both conference and journal papers.  However, you may not simply staple together three or more papers.  You are expected to add an introduction, conclusion, and connective tissue to the existing material to tell a consistent story about the work you did in your time at Cornell.  Remember that your thesis is most useful as a guide for those who come after you – be generous in providing details, as well as potential next steps and things you’ve left undone.

Responding to Paper Reviews

Most of the time when you go through peer review, you will need to resubmit your paper at least once.  The basic process for responding to reviewers is:

  • Create a new copy of your paper (or make sure your paper source is version controlled)
  • Create a reviewer response document (it can be in the same Overleaf project as your paper, if that’s what you’re using)
  • Copy the review ino the response document and split into separate points.  Answer each point, quoting directly from the paper, and including any and all revised text.  Use highlighting or other visual cues to differentiate between reviewer comments, your responses, and your quotes from your updated paper.
  • Get feedback from Dmitry.

Do not pick fights with reviewers.  This is completely pointless and highly counterproductive.  If you need to disagree with a point the reviewer made, be respectful and as technically precise as possible.  Anything else you wish to say can go into Slack. Thank the reviewer for their time and efforts. If responding to multiple reviewers, split the response into a section for each reviewer.  If reviewer comments are redundant or conflicting, refer to your responses to previous reviewer comments in subsequent ones.

Website

Upon affiliating with the lab, you are expected to add yourself to the people page of this site.  Add a photo (if you feel comfortable doing so) and a blurb about yourself to the graduate student section of the page.

All students are expected to periodically post to the website. Whenever you attend a conference, post about it and upload your presentation/poster.  Whenever you have a paper published, post about it.  Whenever you create a cool figure/animation/etc. post about it. It is incredibly important to continuously share your work, and the website is one way of doing so.

All members of SIOSlab may request a subdomain under sioslab.com (i.e., yourname.sioslab.com) to construct a personal website.  Doing so is encouraged.  The subdomain can be loaded with WordPress or other content management systems, or you can build your site manually (but in the latter case, you will be restricted to FTP access).  Dmitry can help with general web geekery.

Vacations

Here is the official graduate school policy covering time off for graduate students: https://www.dfa.cornell.edu/policy/policies/graduate-student-assistantships

People need time off, and Dmitry fully expects that all graduate students will take time off every year. You are expected to communicate your plans to Dmitry well ahead of time (and then remind him again when your vacation is coming up), but you do not need to seek permission for taking time off up to two weeks at a time per year. Longer (or more frequent) periods should be discussed beforehand.

Working Hours and Location

Dmitry does not care where/when work happens, as long as it is happening.  You are not required to maintain regular working hours, or do work in any specific location, so long as you maintain adequate progress in your degree program.  However, if it is assessed that your progress is insufficient, you may be requested to attempt to maintain a set working schedule for a period of time to see if that helps.

Dmitry attempts to maintain regular 9-5, Monday-Friday working hours.  You are free to contact him outside of these hours via Slack or email, but he may not respond until the next working day.  If you need to reach him immediately, just give him a call (his number is in his email signature).

Inclusivity

SIOSlab is expected to be a place of intellectual community where students from all groups, backgrounds and perspectives, interpreted broadly, can learn and work in an atmosphere of trust, safety, and respect.  The expectation and goal is that all members of the group (including the PI and any other associated faculty) will foster this community and atmosphere.  A minimum starting point is that all interactions between SIOSlab members will be respectful and friendly.  All discussion and feedback is always expected to be constructive and civil.  If any group members, at any point, feel that these expectations are not being met, then they are encouraged to speak with Dmitry.  If he is the problem, then they are encouraged to speak to their director of graduate studies or department leadership

Letters of Recommendation and References

If you are a SIOSlab member (at any level) you should feel free to request a letter of recommendation for anything, at any time, so long as you give two weeks notice.  You can also use Dmitry’s name as a reference for anything without asking (but a heads up that a call or email is coming is nice). Other students should also feel free to ask for letters, but if your letter would end up being lukewarm you will be warned (this is particularly true in cases where you’ve only been in a single class taught by Dmitry and had no other contact with him). If your letter would end up having anything negative in it, Dmitry will refuse to write it.

Resources

This is a list of resources available to all SIOSlab graduate students.  If you need support with anything, contact Dmitry or ask a senior lab member.

Communication/Collaboration

The following tools are currently used for communication/coordination.  If you need access to any of these, contact Dmitry.

Computation

The lab owns two servers (atuin and tphon – bonus points if you recognize the naming scheme). These are both multi-core/multi-cpu headless Linux boxes with access via SSH only.  Contact Dmitry to get an account set up.  If you prefer a visual interface, you can run a persistent VNC server on either machine (this is particularly useful for long-running jobs).  The VNC connection must be tunneled over SSH.  Below are some os-specific notes on setting this up.

In addition to the Linux servers, there are also three shared Windows boxes – two in the lab (the lab control computer and a Zemax workstation) and a general purpose workstation located in the student office.  Contact Dmitry for login info.  All of these can be remotely accessed via Windows Remote Desktop, but if you are off campus, you will need to be running the departmental VPN (see here for details: https://it.cornell.edu/cuvpn).

Initial VNC Server Configuration

You only need to do this once (per server).  Log in to the server via ssh:

ssh username@servername.coecis.cornell.edu

Start a vncserver (type vncserver and hit enter).  You will be prompted to enter a vnc password (note that this is separate from your login password, and you should pick something different for this). You will see an output that looks something like this:

New 'X' desktop is servername:??
Starting applications specified in /home/username/.vnc/xstartup
Log file is /home/username/.vnc/servername:??.log

The ? in the output is the screen number of your vnc server. VNC ports start at 5900 so screen number 1 is on port 5901 and screen 10 is on port 5910, etc. Stop the vncserver by issuing the command:

vncserver -kill :??

using the relevant screen number in place of the ??. You will now have a .vnc directory in your home directory with a file called xstartup. Edit the file by typing the command (for a brief intro to using vi, see here):

vi ~/.vnc/xstartup

On tphon your xstartup should look like:

#!/bin/bash
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
startxfce4 &

On atuin, no xstartup  is currently needed, and you can skip this step.

After you’re done editing, hit the escape key and then type :wq to save and quit the file. You can now start a new vncserver session (be sure to note its screen number). This session will persist until you kill it or the server is rebooted. You should typically only need to have a single VNC session running at a time. Note also that you can control the resolution/geometry of your VNC via the -geometry keyword, i.e.:

vncserver -geometry 1920x1200

Note that you never need to do the xstartup editing step again, but will need to start a new server anytime you need one (i.e., after the machine is rebooted).

Connecting from macOS/Linux

You will need to create an ssh tunnel connecting the VNC server port for your session to your local machine and then point your VNC client to the local port.  For the first step, you start an ssh session as:

ssh -L59??:localhost:59?? username@servername.coecis.cornell.edu

where again you replace the ?? with your screen number (note that this must always be two digits, so screen 1 becomes port 5901.  This terminal will now be an active ssh session to the server which must be left running as long as you’re using the VNC connection.  You can also create this tunnel in the background as:

ssh -M -S $HOME/vnctunnellog -fnNT -L59??:localhost:59?? username@servername.coecis.cornell.edu

To kill an ssh session started in the background, run:

ssh -S $HOME/vnctunnellog -O exit username@servername.coecis.cornell.edu

You can now run a VNC client. On macOS, you can use the built-in client, which can be accessed by going to Finder and hitting ⌘k. You will see a window titled ‘Connect to Server’. In the address bar enter:

vnc://localhost:59??

and hit connect. You will be prompted for your VNC password (the one you entered in your original server setup.

On Linux, you will need to install a vnc client if one is not already on your system. See documentation for your particular distribution on available clients (popular options are RealVNC and TightVNC). Once you install and run the client, point it to the same address (localhost:59??).

Connecting from Windows

On Windows you will need both an SSH client and a VNC client. For SSH, the best option is probably Putty.  In the Session screen, enter the server address in the Host Name box (servername.coecis.cornell.edu) and make sure the Port box says 22.  In the Connection>SSH>Tunnels screen:

  • Check ‘Local ports accept connections from other hosts’
  • Set Source port to: servername.coecis.cornell.edu:59??
  • Set Destination to: localhost:59??
  • Click the radio buttons for ‘Local’ and ‘Auto’
  • Click the ‘Add’ button (an entry should appear in the Forwarded ports box).

You can save this setup back in the Session screen for future use.  Click the Open button to start the session, enter your username and password to connect.

You will need to install a VNC client.  A good option is TightVNC (note that you need the Client only – there is no need to install the server on your own machine).  Install and run the client.  In the Server address box enter localhost::59?? (note the double colon in this case only).

Available Software

Both atuin and tphon have full installations of MATLAB. You can run this just by typing matlab at the command prompt. Both computers have multiple versions of Python installed.  The default system version is in the default path (on tphon there are default versions of both python and python3 in /usr/bin).  Note that the system versions are usually quite old and not preferred.  An up to date version is installed on both machines in /opt/local/bin.  To permanently add this directory to your system path, edit your .bashrc file (located in your home directory) to include the line:

export PATH=/opt/local/bin:${PATH}

Zemax is available on a dedicated Windows computer located in the lab.  If you need to purchase licensed software for your work, talk to Dmitry first. The lab will typically pay for anything that isn’t available via a campus license agreement or with student pricing (i.e., if you want a Mathematica license, you are expected to procure it on your own, but something like IDL or OpticsStudio will be purchased by the lab, as needed).  See here for information on student software licenses: https://it.cornell.edu/software-licensing/licensed-software-students.

Office Space

All affiliated graduate students will have desk space in the shared 404 Upson office.  This will typically be assigned to you at the end of your first year.  Students with need for lab access will also have access to 406 Upson.  Dmitry’s office is at 451 Upson.

Library Services

The Cornell libraries are an incredibly important resource in your research work.  A full list of library services is available at: https://www.library.cornell.edu/services.  An incredibly important tool provided by the library is Passkey (https://www.library.cornell.edu/services/apps/passkey).  This allows you to access materials (journals, ebooks, databases, etc.) that are accessible via the Cornell network even when you are off campus.

Your PI

Your PI is Dmitry Savransky (he/him/his). If you are interested in the proper pronunciation of his name, see here. He likes to be addressed as either Dmitry or Professor Savransky, and dislikes the title ‘Dr.’ for reasons that defy explanation. As you may have gathered from this page, he is persnickety, pedantic, and holds strong opinions on any manner of odd things on which most people have no opinions at all.  If you are his student, he is very interested in seeing you succeed.