About the Instructor:
Name: Andrew Shi
Email: andrewshi@math.schoolname.edu
  • Please limit email to logistics questions. Do not send email with math or programming questions.

  • Class Time and Location:
    Section 9 (Class 20414): Monday 3:30-5, B3A Evans (Except 2/10, see schedule below)
    Section 10 (Class 20415): Monday 5-6:30, B3A Evans

    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. 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: 27 Jan Intro: Math in MATLAB, matrices/vectors, scripts Lecture 1
    Lecture 2: 3 Feb Scripts v. Functions, Control flow (loops: if, for, while, etc.) Lecture 2
    Lecture 3: 10 Feb More on Functions Lecture 3 3:30 class meets at 1:00 today.
    HOLIDAY: 17 Feb President's Day (NO CLASS)
    Lecture 4: 24 Feb Debugging, Polynomials Lecture 4 Debugging
    Lecture 5: 2 Mar Recursion and Iteration, Plotting Lecture 5 interp_movie.mp4 and InterpolationMovie.pdf


    Codes:
    Here are some of the codes I demonstrate in class and the solutions to the in class exercises.
  • Lecture 1: conversion.m , comparison.m
  • Lecture 2: sumCubes.m , manyFrogs.m, testPrime.m
  • Lecture 3: myStats.m , myCosine.m, makeCubic.m
  • Lecture 4: None.
  • Lecture 5: nested_sqrt.m, myFactorial.m, fiboLin.m, fiboRec.m, qsort.m, cosinePlotting.m, heart2.m, interp_movie.m


  • Assignments:
    Each assignment will be due by 11:59pm on the given date. There is a one-hour grace period in submission. Solutions will be available through bCourses the following day at 12:59am.
    Due Date Assignment Solutions (on bCourses)
    5 Feb (12 Feb is OK) hw1.pdf HW 1 Solutions
    12 Feb hw2.pdf
    HW 2 Solutions
    19 Feb hw3.pdf HW 3 Solutions
    26 Feb (Optional) project.pdf Project Solutions


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

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

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

    A final score of 35/50 is needed to pass. A final score of 20/30 is needed to pass. In addition, you must score 50% or higher on each assignment in order to pass.