MA-591K
Special Topics: Computing Languages for Mathematicians
Fall 1998

Syllabus People C C++ Java Current Enrollment Resources

Current Announcements

  • NEW The make-up class covering Java Beans will be taught Thursday, December 10, 2pm-4pm.
  • NEW On Friday, December 11, I will be going for lunch with anyone who wishes to join at 1pm.
  • The Java project is now posted. It is due Monday, Dec 14, 5pm.

Peoples' home pages: Erich Kaltofen.

C programs for the course

    For the topics the individual programs demonstrate, see the syllabus.

C++ programs for the course

    For the topics the individual programs demonstrate, see the syllabus.

Java programs for the course

    For the topics the individual programs demonstrate, see the syllabus.
    Bob Caviness's examples' directory.

Computer Help Resources

Old Announcements

This course is intended for graduate students in mathematics. Programming languages that are useful to mathematicians are introduced. The course will cover three computing languages, each of which will be allocated about one third of the semester. As homeworks, small programs will be written by the students to practice the learned concepts. Modern program development techniques will be explained. An emphasis is put on program reuse (from existing libraries, for example) and on programming with tools such as visual debuggers.
A listing of the topics follows.
Programming in C
  • Language constructs
  • Memory management
  • Standard libraries
  • Program organization: header files, object code
  • Program development tools: debuggers, makefiles
  • Programming in C++
  • The object oriented programming paradigm
  • Class hierarchies and object design
  • Parameterized types and the standard templated library
  • Reusable programming: generic vector and matrix classes
  • Linking to external libraries
  • Programming in Java
  • Java as an OO programming language
  • Java as a programming tool for Internet browsers
  • Applet libraries (like NAOMI's PolyMath)
  • Mathematics on the Internet: OpenMath, MathML