Programming for Cognitive and Brain Sciences
- PDF version of this document
- Git repository on github (contains slides, solutions to exercices, and more)
- Discord (discussion forum)
- Self-evaluation quizz (do you need to attend PROG101?):
- 1. Foreword
- 2. Software Installation
- 3. Check your installation
- 3.1. Check R and Rstudio
- 3.2. Check if Python can be executed in a Terminal
- 3.3. Check Git
- 3.4. Check Python
- 3.5. Check basic graphics
- 3.6. Check matplotlib
- 3.7. Check pygame
- 3.8. Check Expyriment
- 3.9. Appendices
- 3.10. Keep your local copy of the course material up to date
- 3.11. Basic surviving skill: how to enter command lines in a Terminal
- 4. Starting from Scratch
- 5. Fun programming language
- 6. Interacting with a computer (in a Nutshell)
- 7. Running Python
- 7.1. Running a python script from the command line
- 7.2. Testing a short piece of python code
- 7.3. Write code with a text editor (Edit-run cycle)
- 7.4. Using an Integrated Development Environment (IDE)
- 7.5. Perform an interactive data analysis with jupyter-notebook or jupyter-lab
- 7.6. Developping in Python with Emacs
- 8. Coding Exercises
- 9. Automata and Computers
- 9.1. The Computational Theory of Mind
- 9.2. What is computation anyway ?
- 9.3. The ancestors of the computer: the automata
- 9.4. Formal description of an automaton
- 9.5. Examples of transition diagrams
- 9.6. What is a Computer?
- 9.7. Register machines
- 9.8. The Seven secrets of computers revealed
- 9.9. Programmable computers
- 9.10. Compilation and interpretation
- 9.11. Operating systems
- 9.12. What is a Terminal?
- 10. Representations of numbers, text, images
- 11. Creating stimuli
- 12. Experiments
- 13. Programming a Lexical decision task
- 13.1. Step 1: stimuli in constants
- 13.2. Step 2: read stimuli from a csv file
- 13.3. Select words in a lexical dabatase
- 13.4. Automatising database searches with R and Python
- 13.5. Generate nonwords
- 13.6. Create a stimuli file
- 13.7. Use sys.argv to pass the name of the file containing the list of stimuli
- 13.8. Improving the pseudowords
- 13.9. Data analysis
- 13.10. Auditory Lexical Decision
- 13.11. Finally
- 14. Data Analyses
- 15. Lexical Statistics
- 16. Using HTML for webpages
- 17. Using JavaScript
- 18. Regular Expressions
- 19. Simulations
- 20. Hopfield Networks
- 21. Web Scraping
- 22. Tools to do Reproducible Science
- 23. Resources to learn Git
- 24. How to solve problems
- 25. Writing clean code
- 26. Building abstractions with recursive functions and higher-order functions
- 27. Sending TTL triggers
- 28. Cogmaster Lectures
- 29. Projects
- 30. Resources