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:
- Adhere to the university
masking guidance.
-
Vacinations are widely available, free and not billed to the health
insurance. The vaccine will help protect against the transmission of the
virus to others and reduce serious symptoms in those who are vaccinated.
- Proactive Community Testing remains an important part of the
university's efforts to protect our community. Tests are fast and free.
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
- 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 the results of your computations in the form of a scientific
paper.
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:
- Algebra and Calculus
- Linear Algebra
- Ordinary Differential Equations
- Partial Differential Equations
- 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.
- Class Participation: 10%
- Quizzes: 10%
- Assignments: 20%
- Online Courses: 20%
- Four Mini-Projects (each 10%): 40%
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:
- A: 90 - 100
- B: 80 - 89
- C: 70 - 79
- D: 60 - 69
- F: 0 - 59
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
- Your performance in this class will be determined by you! It will
require a strong dedication to learning the material and will require
a substantial time commitment to complete all the readings and
assignments.
- You are expected to show up on time for all class meetigns and
stay for the whole class period.
- You are required to have your cell phones off at all times during
the class. You may not make or receive calls on your cell phone or
send or receive text messages during class.
- You are responsible for all material posted to the web site and
sent as email. Ignorance of such material is no excuse.
- You are responsible for all material presented in the class, and
your reading of online resources.
- We expect scrupulous honesty in all the work that you do.
- Your conduct in class should be conducive towards a positive learning
environment for your class mates as well as your self.
University Time Table
- 16 Jan 2024: First day of class
- 19 Jan 2024: Last day of official add / drop
- 21 Jan 2024: 12th class day, official enrollment count is
taken
- 11 Mar - 16 Mar 2024: Spring Break
- 26 Mar 2024: Last day to drop (with dean's approval) except for urgent
and substantiated, non-academic reasons or to change to or from
pass/fail basis.
- 29 Apr 2024: Last class day
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).