Difference between revisions of "Notes ISC-4304"
Peter Beerli (talk | contribs) |
|||
(62 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
− | ([[Media:Syllabus-ISC4304- | + | ([[Media:Syllabus-ISC4304-S2018.pdf | Syllabus]] [[Notes ISC-4304 | Classnotes]] [[Homework for ISC-4304 | Homework ]] [[Lab assignments for ISC-4304 | Lab]] [[Resources for ISC-4304 | Resources]] [[FunExamples | Fun]]) |
+ | (for Spring semester 2019) | ||
+ | *[[Media:isc4304firstpythonS2019.pdf| Lecture 1 (Python baby steps) January 8,10,15]] | ||
+ | *[[Media:isc4304fcontainersS2019.pdf| Lecture 2 (containers) January 17]] | ||
+ | *[[Media:isc4304functionsS2019.pdf| Lecture 3 (functions) January 22]] | ||
+ | *[[Media:isc4304functionspractiseS2019.pdf| Lecture 3 (function practise) January 24]] | ||
+ | *[[Media:isc4304modulesS2019.pdf| Lecture 4 (modules) January 29, 31]] | ||
+ | *[[Media:isc4304plotting1S2019.pdf| Lecture 5 (printing) Feb 5]] | ||
+ | *[[Media:isc4304plotting2S2019.pdf| Lecture 5 (plotting) Feb 5]] | ||
+ | *[[Media:isc4304plotting3S2019.pdf| Lecture 5 (multipleplot) Feb 5]] | ||
+ | *[[Media:isc4304plotting4S2019.pdf| Lecture 5b (file I/O and practice) Feb 7]] (Download the data package: [https://peterbeerli.com/classdata/ISC4304/codes/L5_plotting_S2019_practice.zip L5_plotting_practice.zip]) | ||
+ | *[[Media:isc4304exceptionsinteratorsS2019.pdf| Lecture 6 (exceptions and iterators) Feb 12,14]] | ||
+ | *[[Media:isc4304numpyS2019.pdf| Lecture 7 (numpy) Feb 19,21]] | ||
+ | *[[Media:isc4304debuggingS2019.pdf| Lecture 8 (debugging) Feb 26]] (Download the package: [https://peterbeerli.com/classdata/ISC4304/codes/debugging_examples.zip debugging_examples.zip]) | ||
+ | * Lecture 9 Programming numerical equation solving (extension of debugging) | ||
+ | * [[Media:isc4304oopS2019.pdf| Lecture 10 (Python OOP) March 5-30]] | ||
+ | * [[Media:isc4304C++pointersS2019.pdf| Lecture 11 (C++ pointers) April 2]] | ||
+ | * [[Media:isc4304C++referencesS2019.pdf| Lecture 12 (C++ references) April 2]] | ||
+ | * [[Media:isc4304boost1S2019.pdf| Lecture 13 (boost-python) April 9]] | ||
+ | * [[Media:isc4304boost2S2019.pdf| Lecture 14 (boost-python) April 11]] | ||
+ | * [[Media:isc4304cython2S2019.pdf| Lecture 15 (cython) April 16]] | ||
− | [[file:peterteaching.jpg | 300px | top | | + | [[file:peterteaching.jpg | 300px | top | right ]] |
<br> | <br> | ||
− | (for Spring semester 2017) | + | (<b>OLD: for Spring semester 2018<b> [remains to prepare for lectures when new lectures were not posted in time]) |
+ | *[[Media:isc4304overview1S2018.pdf| Lecture 1 (Syllabus/Introduction) January 8]] | ||
+ | *[[Media:isc4304firstpythonS2018.pdf| Lecture 2 (Python baby steps) January 10]] | ||
+ | *[[Media:isc4304listsS2018b.pdf| Lecture 3 (Python lists, sets, dicts, slicing) January 17]] | ||
+ | *[[Media:isc4304listsS2018b.pdf| Lecture 4 (Continuation: Python lists, sets, dicts, slicing) January 19]] | ||
+ | *[[Media:isc4304functionsS2018.pdf| Lecture 4/5 (Functions) January 19]] | ||
+ | *[[Media:isc4304functionsS2018.pdf| Lecture 6 (Functions) January 22]] | ||
+ | *[[Media:isc4304variablesmodulesS2018.pdf| Lecture 7 (Variables and Modules) January 24 and 26]] | ||
+ | *[[Media:isc4304plottingS2018.pdf| Lecture 8 (Plotting with matplotlib) January 26]] | ||
+ | *[[Media:isc4304filesetcS2018.pdf| Lecture 9 (Files, texts, more on loops) January 29]] | ||
+ | *[[Media:isc4304filesetcS2018.pdf| Lecture 10 (Files, texts) January 31, cont from Jan 29]] | ||
+ | *[[Media:isc4304numpyS2018.pdf| Lecture 11 (numpy package) February 2]] | ||
+ | *[[Media:isc4304numpy2S2018.pdf| Lecture 12 (numpy package extended) February 5]] | ||
+ | *[[Media:isc4304OOP1S2018.pdf| Lecture 13 object oriented python 1) February 7]] | ||
+ | (*[[Media:isc4304OOP2S2018.pdf| Lecture 14 (object oriented python 2)]] -- not given) [we practiced OOP instead] | ||
+ | *[[Media:isc4304iteratorsS2018.pdf| Lecture 15 (iterators) February 12]] | ||
+ | *[[Media:isc4304debuggingS2018.pdf| Lecture 16 (debugging) February 12]] | ||
+ | * Lectures 17 and 18 were given using codes in the [[Resources for ISC-4304 | Resources]], we discussed solving ordinary differential equations using the forward-Euler method. | ||
+ | * [[Media:isc4304scipyS2018.pdf | Lecture 19 (scipy module) February 21]] | ||
+ | * [[Media:isc4304speedS2018.pdf | Lecture 20 (speed) February 28]] | ||
+ | * Review of Python | ||
+ | *[[Media:isc4304juliaS2018.pdf| Lecture 22 (alternatives to Python: Julia) March 9]] (Complete [http://people.sc.fsu.edu/~pbeerli/downloads/classes/Julia-EuroSciPy14-mod.zip package] with IJulia notebooks) [for installation of Julia and IJulia look at [http://www.julialang.org the Julia main website] ]. | ||
+ | *[[Media:isc4304cplusplusintroS2018.pdf| Lecture 23 C++ Pointers]] | ||
+ | *[[Media:isc4304cplusplusreferences.pdf| Lecture 24 C++ References]] | ||
+ | *[[Media:isc4304STL.pdf| Lecture 25 STL ]] | ||
+ | * [[Media:isc4304boost_python1S2017.pdf| Lecture 26 Boost-Python March 30]] Installation of Boost-Python from scratch and trial of a simple example C++/python program ( [http://peterbeerli.com/classdata/ISC4304/codes Example code is in the codes section under boost1example.zip]); we will also look at [http://mrbook.org/blog/tutorials/make/ MrBook's stuff on Makefiles] | ||
+ | *[[Media:isc4304scython_S2018.pdf| Lecture 27 Speedup of code using Cython ]] | ||
+ | |||
+ | ---- | ||
+ | |||
+ | <br> | ||
+ | (OLD SLIDES for Spring semester 2017) | ||
*[[Media:isc4304overview1S2017.pdf| Lecture 1 (Overview) January 10]] | *[[Media:isc4304overview1S2017.pdf| Lecture 1 (Overview) January 10]] | ||
*[[Media:isc4304modules2S2017.pdf| Lecture 2 (Python Modules and Interaction with the OS) January 12]] | *[[Media:isc4304modules2S2017.pdf| Lecture 2 (Python Modules and Interaction with the OS) January 12]] | ||
Line 10: | Line 61: | ||
*[[Media:isc4304functions4S2017.pdf| Lecture 4 (Functions) January 29]] | *[[Media:isc4304functions4S2017.pdf| Lecture 4 (Functions) January 29]] | ||
*[[Media:isc4304textprocessing+mix5S2017.pdf| Lecture 5 (Text processing) January 24]] | *[[Media:isc4304textprocessing+mix5S2017.pdf| Lecture 5 (Text processing) January 24]] | ||
+ | *[[Media:isc4304matplotlib6S2017.pdf| Lecture 6 (Plotting with matplotlib) January 26]] | ||
+ | *[[Media:isc4304numpy7S2017.pdf| Lecture 7 (scientific computing with numpy) January 31]] | ||
+ | *[[Media:isc4304scipy8S2017.pdf| Lecture 8 (scientific computing with scipy) February 2]] | ||
+ | *[[Media:isc4304classes9S2017.pdf| Lecture 9 (Object orientation with Python 1) February 7]] | ||
+ | *[[Media:isc4304classes10S2017.pdf| Lecture 10 (Object orientation with Python 2) February 9]] | ||
+ | * Tuesday February 14 2017: Question answer session on matplotlib | ||
+ | *[[Media:isc4304iterators12S2017.pdf| Lecture 12 (Iterators and Generators) February 16]] | ||
+ | *[[Media:isc4304debug.pdf| Lecture 13 (Debugging and Beautifcation) February 23]] | ||
+ | *[[Media:isc4304speedS2017.pdf| Lecture 14 (Speed) February 28]] ([[Media:EuroTutorial2011.pdf| Original Lecture]]) | ||
+ | *[[Media:isc4304julia.pdf| Lecture 15 (alternatives to Python: Julia) March 2]] (Complete [http://people.sc.fsu.edu/~pbeerli/downloads/classes/Julia-EuroSciPy14-mod.zip package] with IJulia notebooks) [for installation of Julia and IJulia look at [http://www.julialang.org the Julia main website] ]. | ||
+ | *[[Media:isc4304cplusplusintro.pdf| Lecture 16 C++ Pointers and such March 21]] | ||
+ | *[[Media:isc4304cplusplusreferences.pdf| Lecture 17 C++ References March 23]] | ||
+ | *[[Media:isc4304STL.pdf| Lecture 18 STL March 28]] | ||
+ | *Additional Material on const correctness and operator overloading [http://courses.cms.caltech.edu/cs11/material/cpp/donnie/cpp-ops.html operator instructions]; [https://isocpp.org/wiki/faq/const-correctness Const-correctness] | ||
+ | * [[Media:isc4304boost_python1S2017.pdf| Lecture 19 Boost-Python March 30]] Installation of Boost-Python from scratch and trial of a simple example C++/python program ( [http://peterbeerli.com/classdata/ISC4304/codes Example code is in the codes section under boost_1unix.zip]); we will also look at [http://mrbook.org/blog/tutorials/make/ MrBook's stuff on Makefiles] | ||
+ | *[[Media:isc4304boost_python2.pdf| Lecture 20 Boost-Python ]] | ||
+ | *[[Media:isc4304cython_bradshaw.pdf| Lecture 21 Cython April 11]] [http://peterbeerli.com/classdata/ISC4304/codes/cython_integration.zip Example Codes] | ||
+ | *Lecture 22 Cython versus Boost April 13 [http://peterbeerli.com/classdata/ISC4304/codes/deathmatch_boost_cython.zip Deathmatch_boost_cython] An excellent discussion of the Julia set(s) can be found [http://www.karlsims.com/julia.html here] and [http://acko.net/blog/how-to-fold-a-julia-fractal here] | ||
+ | *[[Media:isc4304cpluspluscython.pdf| Lecture 23 STL/C++/Cython/Python walkthrough April 18]] [http://peterbeerli.com/classdata/ISC4304/codes/part_example_automata.zip (partial Example code)] | ||
+ | *Lecture 24 Fortran/Parallel speed improvement walkthrough April 20 [http://peterbeerli.com/classdata/ISC4304/codes/more_on_speed_and_fortran.zip (Example code)] | ||
+ | * FAQ about cython with an example (Philip will lead) [http://peterbeerli.com/classdata/ISC4304/codes/mock.zip (Example code)] | ||
<br> | <br> | ||
<br> | <br> | ||
Line 36: | Line 108: | ||
*Lecture 22 More Cython practice April 9 [http://people.sc.fsu.edu/~pbeerli/downloads/classes/integration.zip (Example code)] | *Lecture 22 More Cython practice April 9 [http://people.sc.fsu.edu/~pbeerli/downloads/classes/integration.zip (Example code)] | ||
*[[Media:isc4304templates.pdf| Lecture 23 C++ templates and the STL April 14]] [http://people.sc.fsu.edu/~pbeerli/downloads/classes/template_examples.zip (Example code)] | *[[Media:isc4304templates.pdf| Lecture 23 C++ templates and the STL April 14]] [http://people.sc.fsu.edu/~pbeerli/downloads/classes/template_examples.zip (Example code)] | ||
− | *[[Media:isc4304cpluspluscython.pdf| Lecture 24 STL/C++/Cython/Python walkthrough April 16]] [http://people.sc.fsu.edu/~pbeerli/downloads/classes/example_automata.zip (Example code)] | + | *[[Media:isc4304cpluspluscython.pdf| Lecture 24 STL/C++/Cython/Python walkthrough April 16]] [http://people.sc.fsu.edu/~pbeerli/downloads/classes/example_automata.zip (Example code)] (see also codes examples) |
Latest revision as of 06:25, 16 April 2019
( 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)