User Tools

Site Tools


intro_programming:ip2017

Practical Introduction to Programming for Scientists

Spring 2017

Mondays & Fridays, 9am - 10:30 N315

For several reasons I use this site rather than Blackboard, this Wiki page will host all class material, including:

I started writing an introduction to programming book some years ago, and while I haven't gotten around to finishing it, some other classes have found it a useful supplement to the class lectures, particularly for people just starting with programming. For that reason I'm making the current (very incomplete) draft of the book available to you:

Note that this class now uses Python 3.5 via a free distribution called Anaconda available for Linux, Max and Windows. By using a common environment, it is easier to deal with the differences between Python on different platforms. The default Python available on Linux and Mac is still Python 2.7. Please make sure you set up Anaconda 3.5 and use that instead.


Lecture Notes Video Homework Other
1 - Introduction http://blake.bcm.edu/dl/EMAN2/lecture_1.pdf Lecture Video 1. Take this survey: https://goo.gl/forms/irr7VmrQhaxEUYQp1
2. Email passport style photo to sludtke@bcm.edu
3. Get Anaconda Python 3.5 set up on your laptop
2 - Conditionals and Loops http://blake.bcm.edu/dl/EMAN2/lecture_2.pdf
http://blake.bcm.edu/dl/EMAN2/Lecture_2.ipynb
Lecture VideoSee last page of class noteshttp://blake.bcm.edu/dl/EMAN2/practice_soln_1.pdf
3 - Writing Programs http://blake.bcm.edu/dl/EMAN2/lecture_3.pdf
http://blake.bcm.edu/dl/EMAN2/translate.py
Lecture VideoSee last page of class notes
4 - Standard Libraries and Miscellany http://blake.bcm.edu/dl/EMAN2/lecture_4.pdf
http://blake.bcm.edu/dl/EMAN2/Lecture4.ipynb
Lecture VideoSee last page of class noteshttp://blake.bcm.edu/dl/EMAN2/two_column.txt
5 - Biopython and Numpy http://blake.bcm.edu/dl/EMAN2/lecture_5.pdf
http://blake.bcm.edu/dl/EMAN2/Lecture5.ipynb
Lecture VideoSee last page of class noteshttp://blake.bcm.edu/dl/EMAN2/reference.py
6 - OOP, XML and Networking http://blake.bcm.edu/dl/EMAN2/lecture_6.pdf
http://blake.bcm.edu/dl/EMAN2/Lecture6a.ipynb
http://blake.bcm.edu/dl/EMAN2/Lecture6b.ipynb
Lecture VideoSee last page of class notes
7 - Debugging and GUI Introhttp://blake.bcm.edu/dl/EMAN2/lecture_7.pdf
http://blake.bcm.edu/dl/EMAN2/Lecture7.ipynb
Lecture VideoSee last page of class notes
8 - Image Processing http://blake.bcm.edu/dl/EMAN2/lecture_8.pdfLecture VideoSee last page of class notes
9 - Databases and Data Compression http://blake.bcm.edu/dl/EMAN2/lecture_9.pdfLecture Video Install SSH client (if necessary)
10 - Recursion, Parsing, Qt4 http://blake.bcm.edu/dl/EMAN2/lecture_10.pdfLecture Video http://blake.bcm.edu/dl/EMAN2/scrabble_recur.pyhttp://blake.bcm.edu/dl/EMAN2/scrabble_enum.pyhttp://blake.bcm.edu/dl/EMAN2/scrabble_check.py
11 - Network Programming, Javascript, Making http://blake.bcm.edu/dl/EMAN2/lecture_11.pdfLecture Video Suggestions for Final Lecture IN CLASS MINI-LAB THIS FRIDAY
http://blake.bcm.edu/dl/EMAN2/udp_chat.py
12 - The outside world + Mini-lab http://blake.bcm.edu/dl/EMAN2/lecture_12.pdf http://blake.bcm.edu/dl/EMAN2/lab_neopixel.pdf
http://blake.bcm.edu/dl/EMAN2/lab_sensehat.pdf
http://blake.bcm.edu/dl/EMAN2/lab_camera.pdf
13 - Linux clusters http://blake.bcm.edu/dl/EMAN2/lecture_13.pdfLecture Video
intro_programming/ip2017.txt · Last modified: by steveludtke