Department of Computer Science
The University of Texas at Austin
CS 323E - Elements of Scientific Computing (Fall 2026)
Section: 55095, MW 3:30 PM - 5:00 PM, RLP 0.102
Instructor: Dr. Shyamal Mitra
Office Hours: TTH 6:00 pm - 7:00 pm
Zoom Link: On Canvas
E-mail: mitra@cs.utexas.edu
Do not send mail through 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. You should
also know mathematics at the level of M408C, M408K, M408N, M408Q,
or M408R.
Lectures and Office Hours
This course will meet in one of two modalities: in person or online. We
will give at least one week's notice before switching between the two.
When we meet online, lectures and office hours will be held on Zoom
through Canvas. When we meet in person, we will meet in the classroom
listed above.
For online meetings, make sure you have the latest version of Zoom and
log in using your ut_eid@eid.utexas.edu. Lectures will be recorded;
these recordings are confidential, intended for educational purposes
only, and must not be shared in any form. Any dissemination of the
recordings violates University policy and is subject to Student
Misconduct proceedings through the Office of Student Conduct and
Academic Integrity. Office hours will not be recorded.
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
course emphasizes solving scientific equations using numerical methods.
You should understand single-variable calculus, differential equations,
and linear algebra; I will provide notes on this background material. We
will focus on numerical methods for solving equations rather than on
rigorous mathematical derivations. You will complete online courses to
fill any gaps in your mathematical background, and we will use standard
Python library functions for our solutions.
We will follow the required textbook closely and will provide notes in
class for topics not covered in the book; these notes will be posted
online. Unlike a traditional lecture format, our classes will be
inquiry-based: you will be given problems drawn from real scientific
fields, discuss them with your peers, and devise and implement
algorithms to solve them.
Learning Objectives
In this course, you will learn how to solve scientific problems
numerically. Given a scientific problem, you should be able to
- Analyze (understand in detail) the problem.
- Design an algorithm to solve the problem. In this design process,
you will choose the appropriate numerical method and the most efficient
algorithm and data structure.
- Code the algorithm in Python 3 using standard Python libraries.
- Visualize the results using standard visualization packages.
- Write up the results of your computations as a scientific paper.
This is a programming-intensive course.
Class Participation
You are expected to attend class and participate in class activities such
as coding and solving numerical problems. There is a grade associated
with being engaged. I will drop your two lowest class
participation scores; this number is non-negotiable and should address
any reasons you may have for missing class. We will also offer two
makeup activities; the maximum score you can earn on a makeup is 80%.
Online Courses
This course requires some background in mathematics. You will be assigned
online courses through Coursera and LinkedIn Learning to fill any gaps in
your mathematics background. These courses are free, and we think you'll
enjoy them. Think of them as reading assignments: when you finish a
course, upload a screenshot showing completion to Canvas. Grading is on a
binary scale: full credit for completing a course, zero if you do not.
Assignments
There will be weekly programming assignments, drawn from the book or
given to you in class. Assignments are due on Mondays. We allow a
two-day late period, during which we will accept your assignment with a
late penalty of 10 points per day. We encourage you to work on
assignments with a partner, but the work you submit must be your own.
Mini-Projects
You will complete four mini-projects this semester. The science will
drive these projects: you will treat each one as a research problem to
analyze and solve, then present your solution as a scientific paper.
Here are the four areas we will focus on for the mini-projects:
- Algebra and Calculus
- Linear Algebra
- Ordinary Differential Equations
- Partial Differential Equations
For these projects, you must work in a group of two. The project
reports will be due on Wednesdays: 23 Sep, 14 Oct, 4 Nov, and 2 Dec.
There will be a late period of two days, with a 10-point late penalty
per day.
Due Dates and Times
All deadlines are expressed in US Central Time. Do not wait until the
last hour to submit your work. Systems are sometimes taken down for
maintenance and may be unavailable, so plan your schedule accordingly.
Late Add Policy
We welcome late additions to the class. Please take the initiative to
reach out to us, connect with your classmates, and form friendships.
Join the Discord discussion forum to learn what topics have been covered
in class. Feel free to visit us during office hours if you need
assistance.
All homework assignments are due after the add/drop period, giving you
ample time to complete your first assignment. We will also provide
extensions for the online courses. While you may miss a class
participation activity, our drop policy will accommodate those absences;
however, please note that there are no extensions for class
participation.
If you encounter any issues with the course material, please let us
know. Visit the instructor's office hours for content-related or
administrative questions. Visit the teaching assistants' office hours
for questions related to homework assignments, class participation, and
projects.
Stance on Generative AI
If your laptop could think, we would call it a thinker. It cannot
think; it can compute. That is why we call it a computer. The computer
is an excellent tool for problem-solving, but it is we, not the
computer, who ultimately solve the problem. We create the algorithms;
the computer executes them. The computer handles the tedious, repetitive
work, freeing us to focus on the thinking.
Generative AI is a tool that is here to stay. It is designed to assist
our thinking, not replace it. The danger lies in becoming overly
reliant on it and believing it can think for us. Use this tool with
caution, without sacrificing your good thinking habits. AI can be a
powerful ally, but it is not a substitute for critical thinking skills.
Our stance on Generative AI use is neutral. Whether you choose to
incorporate it into your work is your decision, and we respect it
either way; there are no penalties or restrictions associated with its
use. That said, we strongly encourage responsible use of Generative AI
and the preservation of your critical thinking skills. We are also
interested in hearing about your experiences with Generative AI in your
work.
Grades
Your performance in this class will be evaluated using your scores for
class participation, quizzes, assignments, online courses, and projects.
The weight of each component is listed below. There is no extra
credit available to improve your grade. We do not drop any scores
when computing the weighted average.
- Class Participation: 40%
- Assignments: 15%
- Online Courses: 5%
- Four Mini-Projects (each 10%): 40%
As an incentive to visit the TAs during their office hours, we will
award 5 bonus points toward your total class participation score if you
visit the TAs at least 10 times during the semester.
All scores will be entered on Canvas. Check your scores regularly to
make sure we have entered them correctly. Note that the average score
shown on Canvas is not correct, since it does not apply the
weights shown above. Your final grade will be assigned after we compute
the weighted average using those weights. Grades will be assigned on the
traditional scheme:
- A: 90 - 100
- B: 80 - 89
- C: 70 - 79
- D: 60 - 69
- F: 0 - 59
We assign grades using the +/- system; the finer cutoffs will be
determined at the end of the semester, once the class's weighted average
and standard deviation are computed.
Study Groups
To find a compatible person to work with in class, you will pair with a
partner for homework assignments and projects. This does not preclude
you from working with others in the class.
Communication
We will use Ed Discussion, integrated into Canvas, to discuss
class-related questions. Please do not post solutions or code for
homework problems on Ed Discussion. All communication with the Teaching
Assistants should go through Ed Discussion: if you want to contact a
TA, post a private note there rather than sending a private email. If
you want to reach me, email me at mitra@cs.utexas.edu. For
assignment-related questions, visit the TAs during their office hours;
for content-related questions, see me during mine.
We also have an unmonitored discussion group on Discord. You may use
this group to find partners for assignments and to discuss other
class-related material that does not require a response from the
teaching team. We do not encourage forming any other discussion or
social group for this class.
Your Responsibilities in This Class
- Your performance in this class is up to you. It will require
strong dedication to learning the material and a substantial time
commitment to complete all readings and assignments.
- You are expected to attend all class meetings on time and stay for
the whole class period.
- You are required to keep your cell phone off at all times during
class. You may not make or receive calls, or send or receive text
messages, during class.
- You are responsible for all material posted to the website and
sent by email. Ignorance of such material is no excuse.
- You are responsible for all material presented in class and in
assigned online resources.
- We expect scrupulous honesty in all your work.
- Your conduct in class should support a positive learning
environment for your classmates and yourself.
University Time Table
- 24 Aug 2026: Classes begin
- 31 Aug 2026: Last day of official add/drop
- 9 Sep 2026: 12th class day, official enrollment count is
taken
- 18 Nov 2026: Last day to drop (with dean's approval), except for
urgent and substantiated non-academic reasons or to change to or from a
pass/fail basis.
- 23 Nov - 28 Nov 2026: Fall Break / Thanksgiving
- 7 Dec 2026: Classes end
General Policies
If you must be 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 give written notice fourteen days before the 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).