Programming++ for Mathematics Graduate Students

Lecture, three hours. Recommended preparation: at least one programming language. Limited to Mathematics PhD students. Core programming language concepts; object-oriented software design; creation of high-level functionality using object-oriented software constructs and techniques. Object oriented programming in C: variables, fundamental types, casting; control flow; functions, overloading, references, recursion; C-style arrays, vector and string class; programmer-defined structs and classes, constructor initializer lists; const correctness; overloading; memory management, copy and move constructors, copy and move assignment operators, destructors; iterators; inheritance and polymorphism. In-depth introduction to the Python programming language. Core Python language constructs: variables, control flow, functions, lists, tuples, sets, dictionaries, classes, magic methods, inheritance, exceptions; libraries including NumPy, Pandas, Matplotlib, scikit-learn. Application of C and/or Python to mathematical problems. May not be applied toward MA course requirements. S/U or letter grading.

Review Summary

Clarity
N/A
Organization
N/A
Time
N/A
Overall
N/A

Course

Instructor
Michael Andrews
Previously taught
23F

Previous Grades

Grade distributions not available.