SLIDE 1 Programming Your World
Introduction Breannd´ an ´ O Nuall´ ain
Amsterdam University College
31 August 2020
SLIDE 2 The programme for today
SLIDE 3 The programme for today
- 1. Getting acquainted
- 2. Getting oriented
SLIDE 4 The programme for today
- 1. Getting acquainted
- 2. Getting oriented
- 3. Getting informed
SLIDE 5 The programme for today
- 1. Getting acquainted
- 2. Getting oriented
- 3. Getting informed
- 4. Getting tooled up
SLIDE 6 The programme for today
- 1. Getting acquainted
- 2. Getting oriented
- 3. Getting informed
- 4. Getting tooled up
- 5. Getting started. . .
SLIDE 7
The source http://pyw.auc-computing.nl/ https://canvas.uva.nl
SLIDE 8
Course Manual
http://pyw.auc-computing.nl/course-manual.html
SLIDE 9
Why study computing?
◮ to program
SLIDE 10
Why study computing?
◮ to program ◮ to become empowered
SLIDE 11
Why study computing?
◮ to program ◮ to become empowered ◮ to get organised
SLIDE 12
Why study computing?
◮ to program ◮ to become empowered ◮ to get organised ◮ to understand the digital world around us
SLIDE 13
Why study computing?
◮ to program ◮ to become empowered ◮ to get organised ◮ to understand the digital world around us ◮ to communicate with ICT professionals
SLIDE 14
Why study computing?
◮ to program ◮ to become empowered ◮ to get organised ◮ to understand the digital world around us ◮ to communicate with ICT professionals ◮ to be more informed citizens and leaders
SLIDE 15
Why study computing?
◮ to program ◮ to become empowered ◮ to get organised ◮ to understand the digital world around us ◮ to communicate with ICT professionals ◮ to be more informed citizens and leaders ◮ to develop an algorithmic way of thinking
SLIDE 16
Algorithmic Thinking
SLIDE 17
Applications
◮ Your world ◮ Science
SLIDE 18
Applications
◮ Your world
◮ agenda, assignments ◮ web, email, photos, music ◮ social networks
◮ Science
SLIDE 19
Applications
◮ Your world
◮ agenda, assignments ◮ web, email, photos, music ◮ social networks
◮ Science
◮ complex networks ◮ transmission of disease (influenza, HIV) ◮ levels: population, individual, protein interaction
SLIDE 20
Brain networks
SLIDE 21 Drug-Drug Interactions
Mechanisms of drug combinations: interaction and network perspectives Jia Jia, et al. Nature Reviews Drug Discovery 2009
SLIDE 22 Drugs & Target Proteins
From Structural controllability of unidirectional bipartite networks, Jose C. Nacher & Tatsuya Akutsu, Nature Scientific Reports, 2013
SLIDE 23
Hierarchical Networks
◮ De Grote Griepmeting
SLIDE 24
Social Networks
SLIDE 25
SLIDE 26
Derived graphs from a social network
SLIDE 27
Applications
AUC’s social network “Things Happen Faster in the Bubble” News Feeds Collect your own news Processing natural language NLTK examples in Python Machine Learning Scikit Learn examples
SLIDE 28
Programming languages
◮ Most popular programming languages ◮ Racket, Python, Javascript ◮ Learning versus Using. ◮ Designing versus tinkering. ◮ Necessary versus unnecessary complexity. ◮ Large programs.
SLIDE 29
Racket
◮ Racket ◮ a kind of Scheme, a kind of Lisp ◮ Paradigm: “Multi-paradigm: Functional, Procedural, Modular, Object-oriented, Reflective, Meta. . . ” ◮ Pedagogical, layered, graded languages. ◮ “Teach Scheme, reach Java” ◮ “systematic design” approach to problem solving.
SLIDE 30
Sources
To get us started. . . ◮ The Racket programming environment ◮ The How to Design Programs book. (2nd edition)
SLIDE 31
Python
◮ Python, documentation ◮ Invention ◮ Ethos: scripting, prototyping, not so much programming as gluing. ◮ Many libraries ◮ Zen of Python ◮ 2nd language ◮ Used in other courses at AUC
SLIDE 32 Down to business. . .
◮ Class interaction ◮ Experimental inquiry, whatiffery ◮ Weekly 3 contact hours, 7 self-study hours, mostly programming. ◮ Time keeping, time use, ready to go: browser & DrRacket
◮ Attendance & punctuality. Late = absent. ◮ Laptop & telephone do’s and don’ts. ◮ Working sessions ◮ Assignments and evaluation. ◮ Take DrRacket for a test drive.