Notes ISC-4304
( Syllabus Classnotes Homework Lab Resources Fun)
(for Spring semester 2019)
- Lecture 1 (Python baby steps) January 8,10,15
- Lecture 2 (containers) January 17
- Lecture 3 (functions) January 22
- Lecture 3 (function practise) January 24
- Lecture 4 (modules) January 29, 31
- Lecture 5 (printing) Feb 5
- Lecture 5 (plotting) Feb 5
- Lecture 5 (multipleplot) Feb 5
- Lecture 5b (file I/O and practice) Feb 7 (Download the data package: L5_plotting_practice.zip)
- Lecture 6 (exceptions and iterators) Feb 12,14
- Lecture 7 (numpy) Feb 19,21
- Lecture 8 (debugging) Feb 26 (Download the package: debugging_examples.zip)
- Lecture 9 Programming numerical equation solving (extension of debugging)
- Lecture 10 (Python OOP) March 5-30
- Lecture 11 (C++ pointers) April 2
- Lecture 12 (C++ references) April 2
- Lecture 13 (boost-python) April 9
- Lecture 14 (boost-python) April 11
- Lecture 15 (cython) April 16
(OLD: for Spring semester 2018 [remains to prepare for lectures when new lectures were not posted in time])
- Lecture 1 (Syllabus/Introduction) January 8
- Lecture 2 (Python baby steps) January 10
- Lecture 3 (Python lists, sets, dicts, slicing) January 17
- Lecture 4 (Continuation: Python lists, sets, dicts, slicing) January 19
- Lecture 4/5 (Functions) January 19
- Lecture 6 (Functions) January 22
- Lecture 7 (Variables and Modules) January 24 and 26
- Lecture 8 (Plotting with matplotlib) January 26
- Lecture 9 (Files, texts, more on loops) January 29
- Lecture 10 (Files, texts) January 31, cont from Jan 29
- Lecture 11 (numpy package) February 2
- Lecture 12 (numpy package extended) February 5
- Lecture 13 object oriented python 1) February 7
(* Lecture 14 (object oriented python 2) -- not given) [we practiced OOP instead]
- Lecture 15 (iterators) February 12
- Lecture 16 (debugging) February 12
- Lectures 17 and 18 were given using codes in the Resources, we discussed solving ordinary differential equations using the forward-Euler method.
- Lecture 19 (scipy module) February 21
- Lecture 20 (speed) February 28
- Review of Python
- Lecture 22 (alternatives to Python: Julia) March 9 (Complete package with IJulia notebooks) [for installation of Julia and IJulia look at the Julia main website ].
- Lecture 23 C++ Pointers
- Lecture 24 C++ References
- Lecture 25 STL
- Lecture 26 Boost-Python March 30 Installation of Boost-Python from scratch and trial of a simple example C++/python program ( Example code is in the codes section under boost1example.zip); we will also look at MrBook's stuff on Makefiles
- Lecture 27 Speedup of code using Cython
(OLD SLIDES for Spring semester 2017)
- Lecture 1 (Overview) January 10
- Lecture 2 (Python Modules and Interaction with the OS) January 12
- Lecture 3 (Containers in python) January 17
- Lecture 4 (Functions) January 29
- Lecture 5 (Text processing) January 24
- Lecture 6 (Plotting with matplotlib) January 26
- Lecture 7 (scientific computing with numpy) January 31
- Lecture 8 (scientific computing with scipy) February 2
- Lecture 9 (Object orientation with Python 1) February 7
- Lecture 10 (Object orientation with Python 2) February 9
- Tuesday February 14 2017: Question answer session on matplotlib
- Lecture 12 (Iterators and Generators) February 16
- Lecture 13 (Debugging and Beautifcation) February 23
- Lecture 14 (Speed) February 28 ( Original Lecture)
- Lecture 15 (alternatives to Python: Julia) March 2 (Complete package with IJulia notebooks) [for installation of Julia and IJulia look at the Julia main website ].
- Lecture 16 C++ Pointers and such March 21
- Lecture 17 C++ References March 23
- Lecture 18 STL March 28
- Additional Material on const correctness and operator overloading operator instructions; Const-correctness
- Lecture 19 Boost-Python March 30 Installation of Boost-Python from scratch and trial of a simple example C++/python program ( Example code is in the codes section under boost_1unix.zip); we will also look at MrBook's stuff on Makefiles
- Lecture 20 Boost-Python
- Lecture 21 Cython April 11 Example Codes
- Lecture 22 Cython versus Boost April 13 Deathmatch_boost_cython An excellent discussion of the Julia set(s) can be found here and here
- Lecture 23 STL/C++/Cython/Python walkthrough April 18 (partial Example code)
- Lecture 24 Fortran/Parallel speed improvement walkthrough April 20 (Example code)
- FAQ about cython with an example (Philip will lead) (Example code)
Old slides
- Lecture 1 (Overview) January 8
- Lecture 2 (Python Modules and Interaction with the OS) January 13
- Lecture 3 (Containers in python) January 15
- Lecture 4 (Functions) January 20
- Lecture 5 (Text processing) January 22
- Lecture 6 (Plotting with matplotlib) January 27
- Lecture 7 (scientific computing with numpy) January 29
- Lecture 8 (scientific computing with scipy) February 3
- Lecture 9 (Object orientation with Python 1) February 5
- Lecture 10 (Object orientation with Python 2) February 10
- Lecture 11 (Solving a ODE with n variables) February 12 (download zip file from here)
- Lecture 12 (Iterators and Generators) February 17
- Lecture 13 (Speed) February 19 ( Original Lecture)
- Lecture 14 (Debugging and Beautifcation) February 24
- Lecture 15 (alternatives to Python: Julia) February 24 (Complete package with IJulia notebooks) [for installation of Julia and IJulia look at the Julia main website ].
- Lecture 16 C++ Pointers and such March 17
- Lecture 17 C++ References March 24
- Lecture 18 C++ references/Const/operators March 26, coding an example class: operator instructions; Const-correctness
- Installation of Boost-Python from scratch and trial of a simple example C++/python program Example code Lecture 19 Boost-Python March 31
- Lecture 20 Boost-Python April 2
- Lecture 21 Cython April 7
- Lecture 22 More Cython practice April 9 (Example code)
- Lecture 23 C++ templates and the STL April 14 (Example code)
- Lecture 24 STL/C++/Cython/Python walkthrough April 16 (Example code) (see also codes examples)