# Programming & Computational Math

#### Dr. Garcia

## Course Overview

**Module 1: Introductin to Programming.**

**Lesson 1: Introduction to Programming Concepts**

- Overview of programming languages and their importance.
- Basic concepts such as variables, data types, and operations.

**Lesson 2: Getting Started with Python**

- Installing Python and setting up the development environment.
- Writing your first Python program.

**Lesson 3: Python Basics**

- Understanding Python syntax.
- Working with variables, operators, and basic data types.

**Lesson 4: Control Flow**

- Using conditional statements (if, elif, else) in Python.
- Introduction to loops (for and while) for repetitive tasks.

**Lesson 5: Functions**

- Defining and calling functions in Python.
- Passing arguments and returning values.

**Lesson 6: Data Structures**

- Working with lists, tuples, and dictionaries in Python.
- Understanding the properties and usage of each data structure.

**Lesson 7: File Handling**

- Reading from and writing to files in Python.
- Using file objects and file modes.

**Lesson 8: Exception Handling**

- Handling errors and exceptions in Python.
- Using try, except, and finally blocks.

**Lesson 9: Introduction to Object-Oriented Programming (OOP)**

- Understanding OOP concepts such as classes and objects.
- Creating and using classes in Python.

**Lesson 10: Final Project**

- Applying the concepts learned in the course to create a simple program or project.
- Emphasizing good coding practices and documentation.

**Module 2: Introduction to Computational Math**

**Lesson 1: Introduction to Computational Math**

- Overview of computational mathematics
- Importance and applications in various fields
- Basic concepts and principles

**Lesson 2: Number Systems and Representation**

- Binary, octal, decimal, and hexadecimal systems
- Conversion between different number systems
- Floating-point representation

**Lesson 3: Mathematical Functions and Algorithms**

- Common mathematical functions (e.g., trigonometric, logarithmic)
- Algorithms for basic operations (e.g., addition, multiplication)

**Lesson 4: Linear Algebra in Computing**

- Matrices and vectors
- Matrix operations (e.g., addition, multiplication)
- Applications in graphics, machine learning, and cryptography

**Lesson 5: Discrete Mathematics**

- Sets, relations, and functions
- Combinatorics and probability
- Graph theory and its applications

**Lesson 6: Numerical Methods**

- Approximation and interpolation
- Root finding and optimization techniques
- Error analysis and convergence

**Lesson 7: Differential Equations**

- Introduction to differential equations
- Numerical methods for solving ordinary differential equations
- Applications in physics, engineering, and biology

**Lesson 8: Fourier Analysis**

- Fourier series and Fourier transforms
- Discrete Fourier transform (DFT) and Fast Fourier Transform (FFT)
- Applications in signal processing and data compression

**Lesson 9: Computational Geometry**

- Basics of computational geometry
- Algorithms for geometric problems (e.g., convex hull, closest pair)
- Applications in computer graphics, robotics, and geographic information systems (GIS)

**Lesson 10: Introduction to Computational Statistics**

- Descriptive statistics and data visualization
- Probability distributions and statistical inference
- Applications in data analysis, machine learning, and decision making

Each lesson can include theoretical explanations, practical examples, and hands-on exercises to reinforce learning.

- Prerequisite(s): MATH 115*
- Corequisite(s): CCM 150L