MAT 331 - Computer-Assisted Mathematical Problem Solving - Fall 2023

TuTh 4:00PM - 5:20PM at Math Tower S-235S (computer lab in basement)

For the first few weeks we will be following Learning MATLAB by Tobin Driscoll. Link to SIAM site to purchase a hard copy.

A link to the virtual SINC site.

Scripts and functions should be saved in your MySBFiles directory; other dirctories on the SINC site machines are erased after 48 hours. These MySBFiles can be accessed directly from any machine with an internet connection at MySBFiles.

The university has a WRTD writing requirement that can be fulfilled by submitting two of the projects from this class. If you intend to fulfill the requirement this way, let me know you want to use your MAT 331 projects for this requirement, and register for the zero-credit course MAT 459. I will post possible projects here as the semester proceeds and we will discuss a few in class.


Grades will be based on:

(1) In class quizzes (25%). I will provide a sample practice quiz to do at home beforehand.

(2) Homework (25%). Like a mini-project. This will involve writing a short report stating the problem, describing how to solve it, the MATLAB code you used, and a table of pictures that illustrate your solution.

(3) Projects (50%). Longer than a homework and usually involving a little outside reading. You must do two out of a selection of projects. There will be a third optional project to improve your grade.


Some topics we will explore if time permits include:

Getting started with MATLAB

Matlab can be opened either through the virtual sinc site itself or through the "virtual sinc site desktop" on the virtual sinc site.

From the Virtual SINC

With MATLAB open, by default there is a path that looks like:

C:\Program Files\MATLAB\R2022a\bin

Change this by clicking the arrow to the left of C: to X:. This will allow you to save files in MySBFiles

From the linux SINC computer

You will need to mount MySBFiles. Open "MATE terminal" (this is different from the regular terminal). It will prompt you for your NETID password. Now, in MATLAB you can change your current directory to MySBFiles to see, save, and load your files.


How to write projects/ homework

Write the homework and projects through the matlab editor. To access this, type: edit

Give a title and separate each problem with a section by use of %%. Type any comments with %. Each problem should have comments explaining the problem and your solution, as well as possibly any code to go along with it, and the final output. Remember you can supress any unneeded output with the use of a semicolon ; at the end of a line.

Homeworks/ Projects should then be published to pdf using the "Publish" button. They will by default be saved in a folder called "html".

Do not forget to explain what you are doing clearly! This counts just as much as getting the correct answers for the homeworks and projects.

Tentative Class Schedule

August 29 Introduction; course admin, class webpage, how to download and open MATLAB/ virtual SINC site, open documentation, format long, pi, arithmatic, digits, vpa, sqrt, sin, exp, char, strfind

August 31 vectors and matrices, colon operator, sum, MySBSFiles, creating a directory, subdirectories, save, load; Practice quiz 1; Scripts

September 5 plot, scatter, scatter 3, figure, hist, hold on, grid on, title, legend, linspace, find, logical indexing; Quiz 1 (last 30 mins of class). Scripts. Plotting didn't work well today. To fix this enter opengl('save','software') upon opening matlab. You may need to reopen matlab for it to take effect.

September 7 Editor; publish; Sample homework; Sample homework Tex; Script; Sample Solution.

September 12 Polynomials; tic toc, anonymous functions, fzero, bisection; Scripts

September 14 More on polynomials and Newtons method; Homework 1 due; Practice quiz 2; Scripts

September 19 rand and some probability; Quiz 2 (last 30 mins of class); Scripts

September 21 Area of disks; Scripts

September 26 More probability; Scripts

September 28; Graphs; Homework 2 due (volumes of n-balls); Scripts

October 3 Graphs; Scripts

October 5 Random graphs, the giant component; Practice Quiz 3; graphs.mat; Scripts

October 10 (Fall Break: No Classes in Session) 

October 12 Random graphs; Quiz 3 (last 30 mins of class); Scripts

October 17 Hall's marriage problem; Tutte's perfect matching criteria; Scripts

October 19 Cryptography; Practice quiz 4; Scripts

October 24 Cryptography; Homework 3 due; genealogy.mat; Scripts

October 26 Cryptography; Quiz 4 (last 30 mins of class)

October 31 Cryptography

November 2 Questions about projects

November 7 RSA

November 9 Project 1 due

November 14 von Koch snowflake; Real Iteration; Scripts

November 16 Complex iteration

November 21 Complex iteration (Lesson recorded) Password: @%d0R8gJ ; Scripts

November 23 (Thanksgiving break: No Classes in Session)

November 28 Mandelbrot set; Newton's method revisited; Scripts; Two notes on Julia sets and the Mandelbrot set

November 30; Random walks Project 2 due; Scripts

December 5; harmonic measure and DLA

December 7; harmonic measure and DLA (Last Day of Class); Homework 4; Scripts

December 19, 5:00 PM:  Last chance to turn in optional third project. NO FINAL EXAM.

Useful links


Student Accessibility Support Center Statement

If you have a physical, psychological, medical, or learning disability that may impact your course work, please contact the Student Accessibility Support Center, Stony Brook Union Suite 107, (631) 632-6748, or at sasc@stonybrook.edu. They will determine with you what accommodations are necessary and appropriate. All information and documentation is confidential.

Students who require assistance during emergency evacuation are encouraged to discuss their needs with their professors and the Student Accessibility Support Center. For procedures and information go to the following website: https://ehs.stonybrook.edu/programs/fire-safety/emergency-evacuation/evacuation-guide-disabilities and search Fire Safety and Evacuation and Disabilities.

Academic Integrity Statement

(must be the following language as approved by the undergrad council)

Each student must pursue his or her academic goals honestly and be personally accountable for all submitted work. Representing another person's work as your own is always wrong. Faculty is required to report any suspected instances of academic dishonesty to the Academic Judiciary. Faculty in the Health Sciences Center (School of Health Technology & Management, Nursing, Social Welfare, Dental Medicine) and School of Medicine are required to follow their school-specific procedures. For more comprehensive information on academic integrity, including categories of academic dishonesty please refer to the academic judiciary website at http://www.stonybrook.edu/commcms/academic_integrity/index.html

Critical Incident Management

(must be the following language as approved by the undergrad council)

Stony Brook University expects students to respect the rights, privileges, and property of other people. Faculty are required to report to the Office of Student Conduct and Community Standards any disruptive behavior that interrupts their ability to teach, compromises the safety of the learning environment, or inhibits students' ability to learn. Faculty in the HSC Schools and the School of Medicine are required to follow their school-specific procedures. Further information about most academic matters can be found in the Undergraduate Bulletin, the Undergraduate Class Schedule, and the Faculty-Employee Handbook.