MATH 382/L
Introduction to Scientific Computing

Fall 2018




  • The midterm exam will take place on Thursday, 10/18, at LO 1322 during regular lab hours. Here is a Midterm review sheet I with practice Linear Algebra prblems

  • How to install the software you will need for the course

    • LaTeX - a powerful typesetting system that will allow you to create pdf documents as required for your homework and lab assignments. To download and install it, you may

      • follow the instructions posted by Prof. B. Shapiro, or

      • if you are a Mac user, you may also try to download and install TeXShop

    • Enthought Canopy - a Python distribution for scientific computing, it contains all you will need for this course.

  • class starts on Tuesday, Aug. 28th, at 10.00. We'll meet at LO 1322.

  • our first lab meeting will be held at LO 1322 on Thursday, Aug. 30th, at 10.00.


  • Jorge Balbás, Live Oak (LO) 1301-F, (818) 677 7797, jorge.balbas -at-

meeting times and office hours

  • lecture: Tue 10.00 - 11.40 AM at LO 1322

  • computer lab: Thurs 10.00 - 11.50 AM at LO 1322

  • office hours:

    • Mon 11.00 - 12.00, TuTh 12.30 - 1.30 at LO 1301-F (location subject to change)

    • other times by appointment

about the course

  • course overview. This course introduces machine learning with an emphasis on the mathematical principles and computational techniques required for designing and implementing algorithms that allow computers to learn from data and then make a determination or prediction about something in the world. The mathematical content includes selected topics from linear algebra, probability, statistics, information theory, and numerical computation. The essentials of computer programming are developed using Python, a powerful scripting language. This course requires a significant time commitment.

  • corequisite: MATH262; although not listed as a pre or corequisite, it is strongly suggested that you have completed an introductory course in computer programming

  • textbooks:

    required text: Deep Learning, by Ian Goodfellow, Yoshua Bengio, and Aaron Courville, MIT Press

    Visit the book's reference page

  • reference texts:

    A list of topics, class notes, and other course materials are available here. I may also refer to topics in the following texts from time to time

    and the links below

  • course materials (lecture notes, lab notes, slides, etc.)

  • grading policy view
  • academic dishonesty:

    It is suggested and encouraged that you work on assignments and study for quizzes and exams with other students in the class, however, any graded work should be completed independently. Any indication of shared solutions, plagiarism, or any other dishonest conduct will be investigated thoroughly and, if confirmed, will result in a failing grade in the course and any further action contemplated by University policy. If you are unsure what I mean by this, please ask and/or check the University Catalog. According to CSUN's policy, a grade that is sanctioned due to academic dishonesty cannot be replaced by subsequent course grades.

  • computer software and facilities

    • Python. The programming assignments and computer lab exercises will be done with Python, a powerful scripting language with simple and compact syntax. We'll make extensive use of packages such as NumPy, SciPy, and matplotlib, which add functionality to Python by providing data structures and mathematical objects (e.g., matrices) and plotting capabilities.

      The computers in the lab (LO 1322) have a full Enthought Python Distribution (EPD) installed and you are encouraged to download and install your own.

    • LaTeX. Homework assignments and computer lab reports should be typed using LaTeX, a powerful typesetting system that gives the user a great deal of control over the formatting of the documents and provides commands to type mathematical expressions and symbols.

      The computers in the lab have a complete LaTeX installation and you are encouraged to download and install your own (see the links below).


Written homework will be assigned in class evey other week and collected via canvas. Students may work together in groups and discuss the homework problems with each other, but each student should write up and submit their own solutions. Homewrok solutions must be submitted online in pdf format (generated with LaTeX).

computer labs

Programming assignments will be posted here every other week. Typically, these assignments will consist of a list of problems -related to the topics discussed in class and lab that week- to be solved using Python. While group work is encouraged, each student is expected to write his/her own code and to submit a report with his/her own results and conclusions. Lab assignments will be submitted and collected online using canvas.

  • lab assignment #1 - due 09/28/2018 - Download this file and save it with extension ipynb


Here are some links to online materials and references relevant to the course. If you know of anything worth posting here, please email it to me.

math and scientific computing











check here for examples from lecture and lab (you may need to right-click on the link and choose save file rather than just clicking on it)

back to my homepage