Department of Computer Science
The University of Texas at Austin

CS 323E - Elements of Scientific Computing (Spring 2024)
Section: 50830, MW 3:30 PM - 5:00 PM, RLP 1.104

Instructor: Dr. Shyamal Mitra
Office Hours: TTH 5:00 pm to 6:00 pm
Location: GDC 6.320
E-mail: mitra@cs.utexas.edu
Do not send mail on Canvas.

Required Text: Numerical Methods: An Inquiry Based Approach with Python
Author: Eric Sullivan
ISBN: 9798687369954

Prerequisites for CS 323E

This is an upper division Elements of Computing course. You should have taken both CS 303E and CS 313E or approved substitutions.

Lectures and Office Hours

There will be two modalities for this course. We will meet in person or online. We will give you at least one week's notice when we go from virtual to in-person or vice versa.

When we meet online the lectures and office hours will be on Zoom on Canvas. When we meet in-person we will be meeting in the classroom listed above.

For online meetings, be sure that you have the latest version of Zoom. Login to Zoom using your ut_eid@eid.utexas.edu. The lectures will be recorded. These recordings are confidential and are only for educational purposes. The recordings must not be shared in any form. Any dissemination of the recordings is a violation of the University policies and will be subject to Student Misconduct proceedings through the Office of Student Conduct and Academic Integrity. The office hours will not be recorded.

Classroom Safety

To help preserve our in person learning environment, the university recommends the following:

Scope of the Course

This is an upper division Elements of Computing course. You should know basic Python syntax and concepts in data structures and algorithms. The emphasis of this course will be on the solution of scientific equations using numerical methods.

You should have some understanding of single variable calculus, differential equations, and linear algebra. I will provide notes on background material. We will look at numerical methods to solve equations rather than providing rigorous mathematical derivations. To fill in your gaps of understanding of the mathematical background there will be online courses for you to completer. We will use standard library functions in Python for our solutions.

We will be following the required text book closely. We will provide notes in class that will be posted on the web for topics that are not covered in the book. Unlike the traditional lecture format, our classes will be inquiry based. You will be given problems that arise in traditional scientific fields. You will engage in discussion with your peers, devise and implement algorithms to solve those problems.

Learning Objectives

In this course you will learn how to solve scientific problems numerically. Given a scientific problem you should be able to This is a programming intensive course.

Class Participation

You are expected to be in class and participate in class activites like coding and solving numerical problems. There is a grade associated in being engaged. I will drop the lowest of your two class participation scores.

Quizzes

There will be a quiz every week on Fridays. There will be around three questions in a given quiz. The questions will be from the reading assignments from the book, material discussed in class, or material in the assigned online courses. The quizzes will be hosted on Canvas. The quizzes are multiple choice questions. There are no makeup quizzes. I will drop the lowest quiz grade. This number (one quiz) is non-negotiable. This drop will take care of any reasons you may have in missing a quiz.

Online Courses

This course requires some background in mathematics. To fill in the gaps in your mathematics background you will be assigned online courses in Coursera and LinkedIn Learning. These courses are free and fun. Think of these courses as reading assignments. When you finish a course you will upload a screen shot of the fact the you did to Canvas. Our grading will be on a binary scale. You will get full credit if you complete a course and zero if you do not.

Assignments

There will be weekly programming assignments. These will be exercises from the book or given to you in class. The assignments will be due on Mondays. We have a two day late period where we will accept your assignment with a late penalty of 10 points per day. We encourage you to work on the assignments in groups of two or three.

Mini-Projects

There will be four mini-projects that you will complete in this semester. The science will drive these projects. You will look upon each project as a research problem that you will analyze and solve. You will then present your solutions in the form of a scientific paper.

Here are the five areas that we will focus on for the mini-projects:

  1. Algebra and Calculus
  2. Linear Algebra
  3. Ordinary Differential Equations
  4. Partial Differential Equations
  5. Fast Fourier Transforms

For these projects, you must work in a group of two or three. The project reports will be due on Wednesdays - 7 Feb, 6 Mar, 3 Apr, and 1 May. There will be a late period of two days with 10 points late penalty per day.

Due Dates and Times

All deadlines are expressed in US Central Time. Do not wait till the last hour and then try to beat the clock. There are times systems are taken down for maintenance and will be unavailable for you. Be aware of this as you schedule your work.

Grades

Your performance in this class will be evaluated using your scores for class participation, quizzes, assignments, online courses, and projects. The weights of each of these components are listed below. There are no extra credit projects or assignments to improve your grade. We do not drop any of the scores to compute the weighted average.

All scores will be entered on Canvas. Check your scores regularly on Canvas to make sure that we have entered them correctly. Remember the average score as shown on Canvas is not correct. It does not weight the average with weights as shown above. Your final grade will be assigned after we obtain the weighted average according to the weights as given above. Your grade will be based on the traditional scheme:

We do assign grades on the +/- system. But those finer cutoffs will be determined at the very end after the weighted average and standard deviation of the class are computed.

Study Groups

Do find a compatible person to work with in class. You will be working with a partner or in a group of at most three people. This does not preclude you from working with others in the class.

Communication

We will be using Ed Discussion integerated into Canvas for general discussion of class related questions. Please do not post solutions or code to any home work assignment problems on Ed Discussion. All communications to the Teaching Assistants will be through Ed Discussion. If you want to reach out to the Teaching Assistants then post a private note to them on Ed Discussion. Do NOT send them private e-mails. If you want to reach me send me mail at (mitra@cs.utexas.edu). If you have assignment related questions, it is best to vist the TAs during their office hours. If you have content related questions visit me during my office hours.

We have an unmonitored discussion group on Discord. You may use this group to find partners for assignments and discuss other class related material where you do not need a response from the teaching team. We do not encourage the formation of any other discussion or social group for this class.

Your Responsibilities in This Class

University Time Table

General Policies

If you are absent from class for the observance of a religious holy day you may turn in your assignment or paper on an alternate date provided you have given me written notice fourteen days prior to the class absence. For religious holy days that fall within the first two weeks of class notice must be given on the first class day.

Students with disabilities who need special accommodations should contact the Services for Students with Disabilities (SSD) Office (471-6259 or 471-4641 TTY).