ANNOUNCEMENTS:
  • (2/11) Math 98 - Old HWs, Final Project.
  • (1/31) Math 98 - check-in.
  • (1/24) Welcome to Math 98 (MATLAB for Math 128a)!
  • (1/05/2022) This webpage is now live.

  • About the Instructor:
    Name: Andrew Shi
    Email: andrewshi@math.schoolname.edu
  • Please limit email to logistics questions (not math or programming questions).
  • Do NOT send messages through bCourses. Use regular email.

  • Class Time and Location:
    Section 9 (CCN 24967): Tu/Th 3:30-5 (Technically B3A Evans, but really online)

    Office hours: by appointment (most days with 24 hrs notice). Highly encouraged to make appointment as often as you need.

    Installing MATLAB:
    You can download MATLAB here for free through the UC Berkeley campus license. If you encounter any issues, try contacting campus technical support and clearly describe your issue. Neither I nor the 128a Professor/GSIs can help you with this.

    Note that concurrent enrollment students do not have access to this campus license. I have been told new/re-entry students and those with unpaid bills have encountered some issues in the past.

    References:
    This course has no primary texts. I would recommend you check out some of the following tutorials (in increasing order of length/detail).
  • (CX) Christos Xenophontos, A Beginner's Guide to MATLAB (online)
  • (DH) David Houcque, Introduction to MATLAB For Engineering Students (online)
  • (BH and DV) Brian H Hahn and Daniel T Valentine, Essential MATLAB for Engineers and Scientists (online)

    More Practice Problems:
    Here are some great sources of additional practice problems for you to work on your programming ability. I use many of these as in-class/homework exercises.
  • Project Euler
  • HackerRank (in particular: algorithms and mathematics)
  • Geeks for Geeks (in particular the problems on Mathematical Algorithms)

    Schedule:
    Week Topic Notes Additional Info
    Lecture 1: 25 Jan Intro: Math in MATLAB, matrices/vectors, Scripts Lecture 1 Braun MATLAB Tutorial
    Lecture 2: 27 Jan Functions Lecture 2 MATLAB Documentation on Functions
    Lecture 3: 1 Feb Control flow and loops (if else, for, while, etc.) Lecture 3 MATLAB Documentation on Control Flow
    Lecture 4: 3 Feb Plotting Lecture 4 MATLAB Documentation on plot
    MATLAB Documentation on scatter
    Lecture 5: 8 Feb Debugging Lecture 5 MATLAB Documentation on Debugging
    Lecture 6: (Optional) Recursion and Iteration Lecture 6


    Codes:
    Here are some of the codes I demonstrate in class and the solutions to the in class exercises.
  • Lecture 1: Lesson2MOOC.m, fillintheblank.m
  • Lecture 2: myfun.m, sumrowscols.m, checkerboard.m
  • Lecture 3: manyFrogs.m, sumCubes.m, testPrime.m, bisection.m, newton.m
  • Lecture 4: MOOCplotting.m, cosineplotting.m, plotmisc.m, heart.m
  • Lecture 5: bisectionbuggy.m
  • Lecture 6: fiboLin.m, fiboRec.m, myFactorial.m, nested_sqrt.m, qsort.m


  • Assignments:
    Each assignment will be due on the specified date by 11:59pm on bCourses, which is when solutions will be posted. Please do your best to keep up, and let me know if you need more time. The nth assignment requires up to the nth lecture.
    Due Date Assignment Solutions (on bCourses)
    1 Feb (Tues) hw1.pdf HW 1 Solutions
    3 Feb (Thurs) hw2.pdf HW 2 Solutions
    8 Feb (Tues) hw3.pdf
    HW 3 Solutions
    10 Feb (Thurs) hw4.pdf HW 4 Solutions
    1 Mar (Tues) proj.pdf Project Solutions


    Passing the Course:
    This is a 1-unit P/NP class.

    The four homework assignments are each with 15 points. These will be spot checked for effort/completion.

    The project will be worth 40 points. This will be graded for accuracy.

    The passing requirement is 70% on each assignment and the project.

    Lecture Videos:
    The Coursera videos seem like a lot, but they are very basic and slow-paced (and very detailed). I suggest playing them at 1.5-2x speed and skipping over the basic mathematical explanations (like the ones about matrix addition and multiplication in Lecture 1).

    The Coursera Videos follow the text Computer Programming with MATLAB (2013) by J. Michael Fitzpatrick, Ákos Lédeczi.

  • Lecture 1:
  • Lecture 2:
  • Lecture 3:
  • Lecture 4:
  • Lecture 5:
  • Lecture 6: