About
Announcements
Modules
Coursework
FAQ
Java API

 What is CS4342 all about?
Linear algebra is one of the most useful areas of mathematics,
with many applications across computer science, engineering,
statistics, and data science. It is also a building block for
other mathematical areas such as machine learning: the language
of linear algebra is assumed as background in any advanced math.
Basic linear algebra is often considered "easy" by students,
not needing anything more than highschool algebra but at
the same time, it's hard to get a feel for it. Students often
say "I got an A in the course but I can't tell you what it's about".
The goal of this course is to provide both intuition and
to show how linear algebra is used in modern applications.
 Who should take this course?
All engineering, physics and math students should take
linear algebra. For CS students, linear algebra is an
important elective  see my thoughts on this topic.
 I've taken the Math Dept linear algebra course. Should
I take this?
If you came out that course with strong intuition and know how
to apply linear algebra, there will be considerable repetition
in terms of the theory; you will certainly learn a lot from
implementation.
If not, seeing linear algebra from a different perspective can
strengthen a core skill.
 I haven't taken CS1112. Can I take this course?
You need to be comfortable programming in Java. Very little
of the programming involves objects or anything advanced in Java,
but it does need comfort with basic programming: loops,
conditionals, arrays.
 I've taken CS1112, but in another language. Can I take this course?
If you're not comfortable with Java, this course
might be exceptionally challenging. We are not going to teach
Java in the course.
 Is this a programmingintensive course?
Yes and no. It's not as programmingintensive as, let's say,
CS2113 but there will be a fair bit of programming. Most of
the programming consists of modifying small programs.
It's really an excellent way to learn the material.
 I'm not a CS student and am not strong in programming.
What are my options in this course?
NonCS students may have the option of working in teams
to ease the programming challenge, with prior arrangement
with the instructor.
 What is the math background I need for the course?
The mathematics needed only assumes highschool algebra. That
said, this is a prooforiented course and one that will move
rapidly through the material. If you haven't done calculus,
you'll likely not have the mathematical experience needed.
 Is this a mathintensive course?
Yes. We'll certainly do proofs.
