Course information

Lectures and readings

Lecture attendance and required reading are mandatory. The lecture/reading schedule is on the course website.


Course communication

You should contact the course staff via email for issues of a personal nature, such as excuses for illness. For topics related to course topics and homework, use the class Ed page. Most of our mass communication with you will be through Ed, so be sure to set your Ed account to give you email alerts.


When posting on Ed, please follow these guidelines:


Grading

80% problem sets


20% News & Views final project


Lecture attendance and required readings are mandatory.


Honor Code

Unless otherwise noted on a particular problem set, you may discuss assignments with other students. The work, however, should be substantially your own. It is a violation of the Honor Code to copy solutions from classmates, to obtain solutions online, or to use course materials from previous years. All drafts of the final project should be your work alone.


Homework

All problem sets must be submitted by 1 pm on the stated dates (i.e., before class starts) and the News & Views must be submitted by 11:59 pm on Dec 8. The homework is submitted on Canvas. All work is done in a Jupyter notebook, with one notebook per problem set. It is imperative that your notebook run, in order, start to finish, and you should verify that it does prior to submission. The submission should consist of a ZIPped folder containing your notebook, an HTML rendering of the notebook, and any images that are referenced in your notebook. To create an HTML rendering, in JupyterLab navigate to File ⟶ Export Notebook As... ⟶ HTML.


Each student is allocated six "grace days" which can be allocated to any assignments with no deduction (e.g., turn in homework 1 two days late, and homework 3 four days late with no deduction). Note: One grace day corresponds to any number of hours up to 24 (e.g., turning a set in four hours late counts as one grace day). After the six grace days have been used up for the term, late assignments will not be accepted. Late work submitted with a note from a Dean (e.g., for medical reasons) does not count against your grace days. Please note that no assignment can be turned in after Friday, Dec 8 due to the term ending.


News & Views

An article in the News & Views section of Nature typically describes a current research paper to a non-expert audience. The articles are between 1.5 and 2 pages in length, typically have a single figure, and usually have about eight references. They provide a basic contextual background for the highlighted paper, describe its major findings, and pose open questions in the field. Check out Nature’s website for examples of recent News & Views articles.

Your final project is to select a current research paper (no more than three years old) related to concepts from the course and write a News & Views piece (make sure the paper you choose has not already been featured in a News & View type piece). The paper can be in any journal, but your News & Views piece should be written in the style of Nature. It should be no more than two single-spaced pages in length (11 pt font, 1 inch margins), including a figure that you create (i.e., not taken from the original paper, but designed to tell the story for your piece) and 5 to 10 references.


Computing

Homework is completed as Jupyter notebooks, which allow mixing executable code and its output with text and images, including equations. The equations are rendered using LaTeX. Please consult tutorials on using Jupyter notebooks and LaTeX.


This course requires use of NUPACK, a growing software suite for the analysis and design of nucleic acid structures, devices, and systems. Additionally, you will need to use other Python-based software, such as NumPy. You can use a computing resource on the Pierce Lab server cluster that we set up for you. This already has the latest version of NUPACK (NUPACK 4.0) installed, along with Python wrappers to aid in its use, and other Python packages you will need. To start, you will need to create a GitHub account (if you don't already have one) by visiting https://github.com/join. Send your GitHub username to JS via email to be approved for access to the cluster.


To launch a NUPACK server (PLEASE only have one server running. Do not start multiple servers for this course.):

  1. Visit https://notebooks.bopcluster.net/hub/login.
  2. Login with your GitHub credentials (this will work after your GitHub username is approved).
  3. Click the blue button that says "Start my server" (DO NOT CLICK "Add new server".).
  4. Select "2023 BE/ChE 163" under server options and click "Start".
  5. Go back to the hub page and click File-Hub Control Panel
  6. When your server is running (under "Actions" it should now say "Stop My Server"), click on the link in the "URL" column to access your JupyterLab instance.
  7. You are now able to create Python notebooks from this Jupyter Lab page.

You may choose to stop your server between sessions. To start it again follow Step 4. (Select "2023 BE/ChE 163" under server options and click "Start"/)


Documentation of NUPACK 4.0 Python Executables is available at https://docs.nupack.org/.


To view a list of imported NUPACK python functions you can run either of the following commands in a python cell:

Alternatively, you may choose to install the Python distribution on your personal computer. To do so, follow the instructions under "Installation" on the NUPACK Documentation site.