Skip to content

Introductory Guide Part 3 — Cool Resources to Help EVERYONE

Abailey291 edited this page Jul 5, 2022 · 3 revisions

Chapter 3: Ok...I'm starting to get the hang of this...what do I do now?

We're glad to hear that you're still with us; the party is now just getting started.

The point of any computer language (in practice) has less to do with knowing every single tiny detail about how the overall language works (that is, unless one is REALLY interested about it), but more about using your knowledge and critical thinking to examine the logic of the code and use it to explore different questions. With your newfound knowledge of Jupiter notebook and Python, you may feel like you're ready to overcome any challenge...but the truth is, challenges will always be there.

But, DON'T PANIC! We're here for you!

When facing a difficult problem, it is often useful to start asking yourself questions in a retroactive way, such as: "If I ultimately want to get to this final step, and given the information that I already have, what steps would I gradually need to take to get from the final question back to my start point?".

While seemingly counterintuitive, this retroactive thinking procedure often helps to clarify the logical flow of the question at hand, which in turn, might just help with data analysis by providing insight into the steps that are necessary in order to answer that question (it also may serve you well in your attempt to maintain any remaining sanity!).

Then, think to yourself: "What codes/functions/steps can I use to get from point A in this logical procedure to point B?". Here, either refer to reference notes (such as the ones found in this document) or on online resources. If all else seems confusing, don't feel shy to ask an expert for help; but remember the Golden Rule: "Look up stuff online. Then ask Grad Students. Then ask Dr. Steele."

Below are some web sources (and a few actual human Concordia resources) that might be useful in your quest to explore the awesomeness that is the human brain:

  1. A great source for introduction to Python (with video): https://www.mikedane.com/programming-languages/python/in-one-video/
  2. An awesome reference to using Python (and for techniques in debugging): https://swcarpentry.github.io/python-novice-inflammation/
  3. Useful website link for Linux (Konsole) commands: https://www.ubuntupit.com/the-50-best-linux-commands-to-run-in-the-terminal/
  4. NumPy Reference is a guide to a commonly used module in the Neural ABC lab. Especially useful for examining arrays and matrices (lots and lots of matrices...): at https://numpy.org/doc/1.17/reference/index.html
  5. Very useful site for different Python packages (i.e. NumPy for numerical computations and matrices, Pandas for table/spreadsheet management, matplotlib for plotting, nibabel for neuroimaging data, etc): https://www.scipy.org/docs.html - Hence, this is a very useful site for different Python packages, which can be installed in an anaconda environment
  6. Reference to the Human Connectome Project's Workbench (useful for mapping purposes): https://www.humanconnectome.org/software/connectome-workbench
  7. Reference to the creators of Python themselves for information regarding the newest edition of Python: https://docs.python.org/3/whatsnew/3.8.html
  8. Data Scientifique is a workshop resource, headed by Yara Abu Awad, directed towards graduate-level individuals who are interesting in learning how to improve their coding skills: www.datascientifique.ca
  9. A "fun" resource for coding information: https://www.geeksforgeeks.org/python-programming-language/ and https://www.geeksforgeeks.org/python-random-sample-function/ (for random samples)

We hope that they will serve you well and we wish you the very best of luck on your journey!