About
Announcements
Modules
Coursework
FAQ
Java API
|
- Instructor:
Prof. Rahul Simha
- Time/place:
Mondays 3.30 - 6.00 pm, Rome-352
- Office Hours: 3-4pm Tuesdays, online (zoom/webex will
be posted in Blackboard), from 9/7 onwards.
Note: If nobody shows up in the first 10 minutes,
the online session will be terminated.
- Prerequisites:
CS-1112 (or equivalent) -
see undergraduate
curriculum. Working knowledge of Java.
- Official catalog description:
Linear algebra applied to computational problems in computer science and engineering. Topics include points, vectors, matrices, and their programming abstractions; 3D transformations, pose and viewpoint estimation; linear equations; algorithms for matrix decompositions, dimension reduction, computation with large matrices, under- and over-determined systems; applications to big data, computer vision, text processing.
- Informal course description:
Linear Algebra is one of the most powerful and widely applied tools
in mathematics. Unfortunately, even though it's considered
relatively "easy" among math courses, intuition in linear algebra
is often hard to come by. In this course, we will use a computational
approach to both convey intuition and to show how to apply linear
algebra algorithmically in a variety of modern applications,
especially in data science. We will start from scratch,
with only high-school math as the needed background, and end with
the "superstar" of linear algebra, the Singular Value Decomposition (SVD).
- Learning outcomes:
By the end of this course, students will:
- Be able to explain some important applications of linear algebra.
- Demonstrate understanding of core linear algebra concepts
through implementation in code.
- Be able to apply linear algebra to applications.
- Strengthen their proof skills.
- Textbook:
The course will not need a textbook because
the lecture material will be available to you on this site. However,
it often helps to read a textbook alongside. Here are some linear
algebra textbooks. They differ in style and coverage, but are all
excellent in their own way.
- Linear Algebra and Its Applications by Gilbert Strang.
This is the classic linear algebra "bestseller", written by
someone recognized for his teaching (see his videos at MIT)
and passionate advocacy of linear algebra.
The book is informally written, and many key concepts are
introduced through examples in a lively, conversational style,
almost as if he's in the room talking to you.
It is not a standard theorem-proof math textbook, however,
and some theoretical explanations are a bit too light.
Also, it dives into linear equations too early and too quickly.
- Linear Algebra and Its Applications by David Lay.
This book is representative of a huge class of "standard" linear algebra
textbooks, prescribed by math departments all over the world
for their entry-level linear algebra courses.
It's a model of prosiac clarity and economy, has excellent
formatting and layout, and is great for
understanding the core concepts. The proofs are readable and
as elementary as possible, which makes it approachable for
undergraduates. One downside is that it covers fewer
topics than, say, Olver's book below.
-
Linear Algebra by Jim Hefferon. A nicely written,
easy-to-read, free textbook,
with some unusual and compelling examples not found in other
books. At the same time, it is aimed at a more standard
math undergrad course and is less "applied".
A more advanced, graduate-level free textbook is
Linear Algebra: Theory and Applications by Kenneth Kuttler.
- Applied Linear Algebra by Peter Olver and Chehzad Shakiban.
This is easily the most comprehensive textbook on linear algebra,
and possibly the best shelf reference. It is, however, harder
to read than all the other books in this list, and probably
more suited to a graduate introduction to linear algebra. If you can
manage to handle this book, you don't need any other book:
it is the most in-depth, has the most coverage, and is
very thorough. Just to give you an example, the presentation on discrete
fourier transforms, a tiny aside in the book, is done very nicely.
It has the best introductory presentation of the QR algorithm I've seen,
and worth the price just for that.
The one major downside is that you have to know what to skip,
or else you'll be overwhelmed.
- Practical Linear Algebra: A Geometry Toolbox, by
Gerald Farin and Dianne Hansford.
This book is a unique take on linear algebra, using geometry as
the driving application. It's nicely written, with lots of
simple illustrative examples, and assumes very little background.
The downside is that the coverage is a bit limited.
- The Manga Guide to Linear Algebra by Shin Takahashi
and Iroho Inoue.
How could I not include the only comic book on linear algebra?
- Programming load:
The course will have some programming, because it's the
way you will learn many core concepts. But it is not
a programming-intensive course in the way that CS-1112 or
CS-2113 are.
- Java: We will not need any of the advanced features
of Java. Most of the programming will be simple C-like programming
(in Java) with arrays and loops. Although your code will implement
a Java interface, and you will use one or two objects,
you don't really need to understand how interfaces or objects really work.
especially in the assignments.
- Theory skills:
Let's be clear that linear algebra is theory. Yes, we will use
some programming and some computing applications to help us understand
core concepts, but at the end of the day it is theory.
So, you need to like the idea of learning math, notation,
proofs and the like. Fortunately, this is very do-able with
linear algebra since very little calculus is needed.
- See the
Learning activities and coursework page
for a description of student learning activities and submitted work.
- Weightage and grading:
See grade breakdown
- Assignment submission and late work policy:
- All submissions will occur via Blackboard by uploading zip
files using
these
submission instructions.
- Every student will get to use three extensions in the semester:
- A single one-time-use 1-day extension.
- A single one-time-use 2-day extension.
- A single one-time-use 3-day extension.
- A single one-time-use 6-day extension.
Each extension can be used only once, and the entire extension
will be applied.
(That is, you can't submit something three days
late, and claim that you've used only part of the 6-day extension.)
You do NOT need to tell us you are using an extension, we will
merely apply the best fit in the order we get the submissions.
You also cannot pick and choose which extension to apply.
- When an extension is applied it is applied to a
due date, to everything that's due on that date. So, if
modules 3 and 4 are due on the same day, an extension
would apply to both.
- None of the extensions can be applied to the very last
submission date since we need to have enough time
for final grades.
- Thus, a submission is considered on time if it's submitted
by the deadline or if one of the three extensions above are applied.
Otherwise, it's late.
- Thus, a submission is considered on time if it's submitted
by the deadline or if the extension above is applied.
Otherwise, it's late.
- Late points are: 50% off if within 48 hours, 100% after that.
But ... see "get-back points" below.
- Advice: It's best to save the 6-day extension for illness.
- Get-back points.
There are all kinds of reasons points can be lost: unreasonably demanding
assignments in other courses (such as Algorithms),
sheer bad luck on quizzes, those sudden emergencies that always
show up at the worst times, and so on.
What we will do is let you earn
back lost points if two conditions are true:
- You do a stellar job with narrative note-taking. This
documents a sincere effort to learn.
- You perform well on the final exam. This will demonstrate
a willingness to elevate performance and pull it together at the end.
If both are true, we will come back to lost points and see what
we can do to raise your grade by applying some of them.
- Laptop/phone/device policy:
You are generally expected to turn off or silence your phones
and other such devices.
- Email policy:
You can send email to my GW email address.
I will answer most class email during specific times set aside during
the week for this purpose - so do not expect an instantaneous response.
Since this is an advanced class, you may not perform "debugging by email".
That is, do not send me code snippets and ask me to identify the problem.
If you want me to look at your code, you have to stop by in person
or online office hours and show me code. Email is typically used
for clarification regarding coursework. If there is a TA assigned to
the course, you ought to try to email the TA assignment-related questions before
emailing me.
- Academic Integrity policy:
See this page
- Directory structure on your laptop:
- Create a directory (folder) called linAlg off of your home
directory. All your course materials, programming assignments and
in-class exercises will be inside this folder.
- Under lin-alg, create one folder for each module,
such as module1, module2 ... etc. Inside
module1 is where you will have your answers to the
in-class exercises for Module 1.
- You will similarly create folders for other deliverables
in the same way as we proceed in the course.
- If you have a disability that may
effect your participation in this course and wish to discuss academic acommodations,
please contact me as soon as possible.
- GW's emergency preparedness guide.
- Minimum course load:
In a 15-week semester, including exam week, students are expected to
spend a minimum of 100 minutes of out-of-class work for every 50
minutes of direct instruction, for a minimum total of 2.5 hours a
week. A 3-credit course includes 2.5 hours of direct instruction and
a minimum of 5 hours of independent learning, or a minimum of 7.5 hours per
week. More information about GW’s credit hour policy can be found
at: provost.gwu.edu/policies-forms
- Statement on inclusive teaching.
It is my intent that students from all backgrounds and perspectives
be well-served by this course, and that the diversity that the students
bring to this class be viewed as a resource, strength and benefit.
Your suggestions are encouraged and appreciated. Please let me know
ways to improve the effectiveness of the course for you personally,
or for other students or student groups.
- Finally, note that course policies may be adjusted or
modified during the course of the semester.
|