Computer Science in Clinical and Basic Research

June 24, 2022 and June 28, 2022

Instructors: Dr. Caitlin Murphy and Dr. Khairunisa Ibrahim

This two-part series will provide a rudimentary introduction to computer programming. You will leave with some basic building blocks to help you start coding. Hopefully, you will leave thinking about the infinite number of ways you might put your coding skills to good use in scientific research, from data collection to analysis and beyond. Both sessions will include several brief mini-lectures, demonstrations, and some interactive, hands-on activities. No coding experience will be necessary! NOTE: This agenda is flexible and will be adapted based on the needs and interests of the class and available resources.

Resources

  • https://scratch.mit.edu/–a coding community built for kids but used by folks all around the world; a fun, interactive, and visually pleasing tool to learn about fundamental programming concepts.
  • https://www.arduino.cc/en/Guide/Introduction–an introduction to Arduino, an open-source platform for building functional hardware and software, with lots of potential applications in research settings!
  • https://cs50.harvard.edu/x/2022/–a free online Introduction to Computer Science course available from Harvard University; an excellent resource for future learning!

Recommended materials

If you have a laptop, please bring it with you. If not, no worries –we’ll provide one for you to use in class!


Friday, June 24, 1-3 PM: An introduction to computer programming
CSRB NTA room 401, 4th floor

The first class of this two-part series will introduce basic concepts in computer science. In this session, we will provide the foundation for you to start writing your own code!

We will answer these questions together:

  • What is the basic role of a computer program?
  • What does it mean to “write code”?
  • How does the ability to read and write code benefit the process of scientific research?
  • Which parts of your research you might imagine implementing code?
  • What are the basic building blocks of a computer program? What function does each serve?
  • How are computer languages like spoken world languages?

You will also:

  • Work with an online tool called Scratch to learn about basic building blocks (literally!) of computer programs

Homework (optional):

  • Learning activity: DIY in Scratch!

Friday, June 28 , 10AM – 12 PM: Programing in Scientific Research
CSRB NTA room 401, 4th floor

In the second class period, we will dig into some code using open-source software and resources. You will learn about some general principles, patterns, and practices in computer programming. You will apply what you learn by working with a tool frequently used by some of the labs in our department. We will answer these questions together:

  • What are some of the data types you might find in most programming languages?
  • How are different types of data represented in computer programs?
  • What is the best way to start writing code to solve a problem?
  • Are there any best practices used by all programmers?

You will also:

  • Learn how to read basic code by interacting with a device engineered by our colleagues here at WashU and used by multiple labs on our floor
  • Practice writing ‘pseudocode’ for a hypothetical application
  • Write your first program!

Homework (optional):

  • Learning activity: Decoding an Arduinoscript