Coder Social home page Coder Social logo

ch40208's People

Contributors

arm61 avatar bjmorgan avatar lmmorgan avatar patrickjtaylor avatar

Watchers

 avatar  avatar  avatar

ch40208's Issues

Write tdd exam

Need to set the exam content. What will the coding exercise be?

Interatomic distance slides

Both “interatomic distances” bits of code are now in the same week, so I think this just needs the slide editing.

BJM to write a Why for week 1

From @bjmorgan

Should we include a "what is this course for / overview" at the beginning of the handout and in the lecture content? At the moment the handout reads like the students are doing a programming course, rather than a programming + comp chem methods course. I am happy to add some stuff at the beginning (or to another document) talking about the overall course outline and how we see it fitting together (including, e.g. why we are teaching comp chem through programming exercises rather than a traditional series of lectures).

Per week spec

Do we have a specification for what each week's material should contain when "finished"? It appears @arm61 has a template in mind for each week, but it would be helpful to have this written down somewhere so that others can tick parts off when reviewing / updating.

Week 6: Good coding practice, testing

Introduce doc strings, commenting, readable code, and testing. Repeat the debugging exercise and show how testing is a more reliable way to debug.

Remove old fortran from exercises in week 1

From @bjmorgan

I noticed in your exercises you talk about having to check different ASCII codes for upper and lower case inputs. I presume this is a left-over piece of (now useless) advice from the Fortran version?

Week 1

A like for like recreation of the week 1 content from Fortran, dropping the unnecessary stuff.

Week 4

A like for like recreation of the week 4 content from Fortran, dropping the unnecessary stuff, with functions replacing subroutines. Plus the introduction of code modularisation by using *.py files to store frequently used functions.

Course outline / syllabus

It would be helpful to have a document that lists the course outline included in the repository, that we can then refer to to a) check we have covered everything we want to, and b) think about what to add or remove, and the order of different topics. @arm61 do you have the draft outline we put together in Bristol?

This can also then be a first draft for a student-facing syllabus / breakdown of the weeks and the learning activities / concepts.

Can code examples on slides be made more visually distinct?

Looking at the week 1 slides during the lecture, the code keywords / function names etc. could be made more visually distinct: it was only clear to me that these were keywords because I already knew what was being discussed.

Options:
- alternate font choice
- different colouring
- always have code on a separate line
- highlight using an outline / different background colour

We want something like this effect.

Even better:

# syntax highlighting would be even better
def example_func(args):
    do_something(args)

One possible approach: https://macops.ca/syntax-highlighting-in-apple-keynote-using-highlight/

Variable scope

Explain variable scope in Week 3

"So variables defined outside a function are available inside, but variables defined inside are local. And even if they have the same name, they are a different variable (which is one reason functions are useful)."

Matplotlib

Some matplotlib (rehashing years 1 and 2)

Revisions for week 1 exercise 2

  1. The instructions in the worksheet currently talk about using range and ask the students to look this up online. But we don't cover using range and loops until week 2. Suggest changing this to "repeat the calculation at different temperatures", or similar?

  2. Calculating the equilibrium constant requires using an exponential, which is a native function in Fortran, but not in Python. The students will need to use from math import exp and exp(x).

Week 2

A like for like recreation of the week 2 content from Fortran, dropping the unnecessary stuff.

Week 3

A like for like recreation of the week 3 content from Fortran, dropping the unnecessary stuff. Plus the introduction of NumPy vectorisation of mathematical operations and how this may be used for code optimisation.

Week 5

Debugging code by hand. These bugs can be particular well hidden. Also introduce the generalisation of problems and how Google is your friend.

Running Computational Chemistry codes and analysing the results

Running Python wraps MD codes and doing some analysis on the result (this could be something as simple as pylj or as complex as LAMMPS).

Examples of analysis:

  • Writing a g(r) function for water at different temperatures
  • Running a MD or MC calculation and then hive minding uncertainties, or maybe something about rare-event sampling

Week 1 "string" discussion updated

Live coding notes for week one include a discussion of the different quotes allows for creating strings. Would be nice to add a comment about what happens when you mix / mismatch quote types.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.