Programming in Mathematica
| Code | Completion | Credits | Range | Language |
|---|---|---|---|---|
| FIT-PMA | Z,ZK | 4 | 2P+2C | Czech |
- Course guarantor:
- Zdeněk Buk
- Lecturer:
- Zdeněk Buk
- Tutor:
- Zdeněk Buk
- Supervisor:
- Department of Theoretical Computer Science
- Synopsis:
-
Students will be working with modern technical and scientific software. Students will learn how to use different programming styles (functional programming, rule-based programming, etc.), how to create dynamic interactive applications and visualisations, data processing and presentations.
- Requirements:
-
Basic knowledge of algorithmization (cycles, conditions, etc.) and data structures (mainly arrays).
- Syllabus of lectures:
-
1.Introduction to the Mathematica System
Overview of the environment, notebooks, and workflow in Wolfram Mathematica.
2.Syntax, Function Definitions, Expression Evaluation, and Basic Computations
Understanding the evaluation model, defining and applying functions, and performing symbolic and numeric calculations.
3.Graphics: Visualization of Functions, Data, Data Structures, and Graphs
Creating plots and visual representations of mathematical and data-driven content.
4.Interactivity: Manipulators, Interactive Visualizations and Computations, Dynamics
Building interactive content using Manipulate and dynamic expressions.
5.Symbolic and Numerical Computations
Working with exact and approximate methods, hybrid symbolic-numeric workflows.
6.Programming Basics and Functional Programming
Core programming constructs, higher-order functions, and functional paradigms in Wolfram Language.
7.Rule-Based Programming
Pattern matching, transformation rules, and symbolic rewriting techniques.
8.Data Import and Export, Database Connectivity
Working with structured and unstructured data; integration with external data sources and databases.
9.Typography and Dynamic Documents in Mathematica
Combining text, computation, and graphics in interactive notebooks and reports.
10.Optimization (NMinimize, FindMinimum), Neural Networks
Solving optimization problems; brief introduction to machine learning and neural network capabilities.
11.Efficient Programming, Optimization, and Parallelization
Writing performant code, using compilation and parallel processing tools.
12.J/Link and MathLink Integration with Java and C Programs
Connecting Mathematica with external programming languages and libraries.
13.Comprehensive Applications
Simulation and control examples, Wolfram Workbench projects, and special topics based on student interest.
- Syllabus of tutorials:
-
1. Introduction
2. Introduction to programming in Mathematica
3. Graphics and visualisation
4. Symbolic computations
5. Functional programming, project consultation
6. Rule-based programming, project consultation
7. Interactive manipulators, project consultation
8. Project consultation
9. Project consultation
10. Project presentation
11. Project presentation
12. Project presentation
13. Assessment
- Study Objective:
-
Wolfram Mathematica is a modern technical and scientific software which has been developed over last 20 years. This system has been used at many prestigious universities and scientific institutions (e.g. CERN, NASA, Intel, Lockheed Martin, Apple, IBM, Microsoft, ...). It represents now the complete integrated environment for publication, presentation, computations, dynamic interactive applications, etc. Mathematica is very powerful programming language combining different programming styles (functional, rule-based, etc.). In this course the students will be introduced into the Mathematica system and they will learn how to work with different programming styles in this system. After the course the student will be able to create complete interactive documentats and presentations, process different data files, create own libraries, etc.
- Study materials:
-
Wolfram Mathematica Documentation Center - http://reference.wolfram.com/mathematica/guide/Mathematica.html
Wolfram Screencast and Video Gallery - http://www.wolfram.com/broadcast/
Wolfram Education Group, Free online seminars - http://www.wolfram.com/services/education/seminars/
Wolfram Demonstration Projects - http://demonstrations.wolfram.com/
- Note:
-
This course is presented in Czech.
- Further information:
- https://courses.fit.cvut.cz/BI-PMA/
- Time-table for winter semester 2025/2026:
- Time-table is not available yet
- Time-table for summer semester 2025/2026:
- Time-table is not available yet
- The course is a part of the following study plans: