Block Practical: Connectionist Models and Cognitive Processes

These are the course materials I used to teach second year undergraduate students basic programming in Python and connectionism in the Experimental Psychology Department, University of Oxford.

This is less of a blog post and more of a materials dump from an elective practical I taught about three years ago to second year undergraduate students in the Experimental Psychology Department at the University of Oxford. I thoughtlessly deleted the webpage that contained them, assuming no student after 2 years would need them. How wrong I was! I received an email the other day from a Ph.D. student at a university on the other side of the world pretty much asking where these materials had disappeared to. This made me question my assumption nobody was looking at these materials. So to save myself and others from looking for them again, here they are for everybody.

This elective practical taught second year undergraduates to program in Python at a basic level and to understand the basics of artificial neural networks. They proved highly suitable as my students had not done much/any programming before and had not really heard of neural networks (things might have changed now, hype, etc).

To clarify, I do not teach this course any more and I will not be updating or using these materials. If you want to use them for your own teaching, they are CC BY 4.0, and I would super appreciate an email or tweet if you use them.

A really basic neural network diagram, by Wikipedia user Glosser.ca

Course Materials

1st Week: Introduction to Programming and Connectionist Networks

2nd Week: Going from Two Network Layers to Three

3rd Week: Replicating a Model

4th Week: Writing up Experimental Results

Programming

Exercises

Books

Inspiration

Libraries

Blogs

Video Lectures

Online Courses

How to install Python

Windows Users

This is a little tricky:

  1. Install Python: download from here

  2. Install matplotlib, numpy, and scipy using pip. Specifically you need to download the following from here:

    • matplotlib-1.4.3-cp27-none-win32.whl
    • numpy-1.10.0b1+mkl-cp27-none-win32.whl
    • scipy-0.16.0-cp27-none-win32.whl

This requires you to be in the Scripts folder of the Python27 installation. And to use the windows command prompt. For me this looks like:

C:\Python27\Scripts>pip install NAME_OF_WHEEL_FILE.whl

For all three of those you need to run a pip command like above.

  1. Install PyGTK: download from here

  2. To check that everything works, open network.py and see if it runs without any errors.

Mac Users

I finally managed to do this on my mac. Use Homebrew to install matplotlib, numpy, scipy, pygtk.

Linux Users

Use your favourite package manager to install matplotlib, numpy, scipy, pygtk.