Foundations of Applied Computer Science (WI21)

Overview

This course introduces core computational and mathematical techniques for data analysis and physical modeling, foundational to applications including computational biology, computer vision, graphics, machine learning, and robotics. The approaches covered include modeling and optimizing both linear and nonlinear systems, representing and computing with uncertainty, analyzing multi-dimensional data, and sampling from complex domains. The techniques are both grounded in mathematical principles and practically applied to problems from a broad range of areas.

Prerequisites

COSC 1 and Math 3, or equivalents

Lectures

MWF, 1:10 – 2:15 pm

X-hour

T, 1:40 – 2:30 pm

Course Staff

Instructor: Wojciech Jarosz
TAs: Thomas White, Tal Sternberg, Garrett Johnston, Katie Huang

Note! The syllabus is still in flux and subject to adjustment as the quarter progresses.

 

Note! All times listed on this page are EDT (Dartmouth's local time).

 

Lectures and our online format

This course will be held synchronously, entirely online. We will use Zoom for class meetings during our regularly scheduled class time. You can find all the Zoom meeting links in the Zoom section of this Canvas website.

My expectation is that you all try to join these live if you can. Please keep your camera on, whenever possible, because it helps both you and me to stay engaged, and I can use visual cues to judge understanding and potentially adjust pacing of the presentation.

I will also record our lectures so that the few of you who cannot join at the regular time can still watch the lectures, and so that you can all use the recordings as reference material. You'll be able to find recordings of the lectures (with a few hour delay) in the Panopto Video section of the Canvas website. I will also post the corresponding slides in the Files section.

Make sure to read the info on zoom etiquette and consent to recording below.

X-hours

The TAs will use the x-hours each week (using a separate Zoom meeting) to either provide supplemental information on the assignments, additional programming tutorials, or to go over the solutions of past assignments and quizzes.

Coursework and Grading

The tentative grading breakdown is:

  • 50%: 10 assignments
    • a mix of six ~2-day short assignments and four ~1-week long assignments
  • 50%: Four "in-class" quizzes
Disclaimer: I may add a short assignment or two and the grade breakdown is subject to adjustments.

Turning in your work

Unless specified otherwise, everything in this class is due one minute before noon on its due date and must be submitted through Canvas (with the exception of the last quiz, which we may have to schedule during our final exam period). Please don’t upload seconds before the deadline to avoid accidents. Double-check that you indeed uploaded the correct file.

To accommodate the virtual format this quarter, I have shifted all assignments by one lecture (~2 days), and have already released all assignments so you can get started on them early if you like.

For programming assignments you'll typically submit a zip file. For quizzes, you will need to submit one PDF file (do not submit as multiple image files/photos). This means that you will either need to find a way to scan hand-written documents while preserving legibility (there are several free mobile apps that can do this), or write your solutions directly on our PDF handouts electronically.

Late policies

  • Short assignments: Due to their rapid pace, we will not accept late short assignments.
  • Long assignments: Long assignments incur a 25% penalty for each (portion of a) day late, up to a maximum of 2 days (i.e. no points after 48 hours). Again, late is as defined by Canvas.
  • Quizzes: In a typical term we would have in-class quizzes that are closed book/notes/internet/etc. I still expect the quizzes to take you about 1 hour, but to accommodate the virtual format, any potential technical difficulties, and timezone differences, you will have 24 hours between when the quiz is made available and when you must turn it in. Even though you will be at home, the same rules of no books/notes/internet/etc. apply. We will not accept late quizzes.

I will not drop any quiz or assignment, but I may weight your lowest quiz (an unspecified amount) less than your other three quizzes.

With the above in mind, we will of coarse try to be accommodating in the case of emergencies (please contact us before the deadline in this case).

Software

We will be completing all our  assignments using Python Jupyter Notebooks. Please follow these instructions to set up your development environment before the second lecture.

Textbook(s) and learning resources

Your primary learning resources will be the lectures, recordings, PDF slides, and assignment notebooks. We will additionally rely on the following two great resources to supplement these materials.

The amazing visual explanations in:

and our primary textbook:

Both of these are freely available at the above links.

Reading list and schedule of topics

From time to time I may refer to supplemental explanations from these three additional books.

  • Introduction to Applied Linear Algebra – Vectors, Matrices, and Least Squares. (VMLS) [link]
  • Linear algebra and its Applications, 4th edition. (Strang)
  • Numerical Algorithms (Numeric) [link]

VMLS and Numeric are freely available online. Strang is not, but is an excellent book if you want to dive more deeply into linear algebra.

In the reading list below I include the relevant chapters/sections in each reference for the topics we will cover. When there are multiple bullet points for a topic (e.g. both VMLS and Numeric under Vectors), each option has a different flavor, so you may prefer one to another depending on your learning style.

  • Vectors, linear maps, matrices, and linear systems (Weeks 1-3)
    • Required reading:
      • Animated Math (all videos in the Essence of Linear Algebra series)
      • MML Ch2 & Ch3
    • Supplemental reading: 
      • Vectors:
        • VMLS Ch1 & Ch3 (can skip 3.3)
        • Numeric Ch1.1-1.2
      • Linear maps/functions:
        • VMLS Ch2
        • Numeric 1.3
      • Matrices, bases, independence:
        • VMLS Ch5 & Ch6
      • Linear systems:
        • Strang Ch1.1-1.2
        • Numeric Ch3.1-3.3
      • Gaussian elimination
        • Strang Ch1.3-1.5
        • Numeric Ch3
      • Geometric transformations:
        • VMLS Ch7.1
  • Least squares (Week 4-5)
    • Supplemental reading:
      • VMLS Ch12
      • Numeric 4.1.2
  • Probabilistic modeling (Week 5-7)
    • Fundamentals: MML Ch 6
    • MLE, MAP estimation: MML Ch8-8.4 & Ch9-9.2
  • Eigen analysis/SVD/PCA (Week 8)
    • MML Ch4, Ch10-10.6
  • Optimization and Non-linear problems (Week 9)
    • MML Ch7

Additional resources

  1. Immersive Math [link]
  2. Linear Algebra, Least Squares, Linear Systems by Eero Simoncelli [link1, link2, link3]
  3. Introduction to Probability and Statistics by Jeremy Orloof and Jonathan Bloom [link]
  4. Introduction to Probability by Charles Grinstead and J. Laurie Snell [link]
  5. Bayesian Reasoning and Machine Learning by David Barber [link]
  6. An Introduction to the Conjugate Gradient Method by Jonathan Shewchuk [link]
  7. An Introduction to Principal Components Analysis by Jon Shlens [link]

How to get help

There are many ways for you to get help.

Piazza

Your first step should be to ask a question on Piazza, which you can access directly here from Canvas. Please do not email the course staff individually with question, but ask (and answer) questions on Piazza instead. This allows your classmates to benefit from seeing the question and subsequent response. We encourage you to contribute answers to other people’s threads, or initiate open-ended discussions on topics relevant to the class. I and the TAs will strive to regularly monitor piazza and answer unanswered questions in a timely manner. You can access piazza directly from canvas. There is also a mobile app.

Note! Please be sensitive to the honor code and make sure not to post sensitive material (e.g. your code or solutions to exercises) publicly on Piazza. Mark the question as private in Piazza and send it to just the course staff.

 

Note! Familiarize yourself with the Piazza privacy policy and update your privacy settings as you see fit.

Office Hours

You can visit me or the TAs during office hours. We will have extensive office hours throughout the week, all conducted via Zoom, as outlined below:

Monday Tuesday Wednesday Thursday Friday
3-4pm
(Thomas)
9:15-10:15am
(Tal)
12-1pm
(Garret)
9:15-10:15am
(Tal)
3-4pm
(Thomas)
5:30-6:30pm
(Garret)
4:30-5:30pm
(Katie)
4:30-5:30pm
(Katie)
4-5:30pm
(Wojciech)

Check the Zoom section of the course website for all the zoom links. Note that each staff member's office hours uses a different Zoom meeting, so you need to click on the one corresponding to the office hours session.

If you find you need additional, individualized help beyond office hours, you can reach out to Dartmouth's Tutor Clearinghouse.

Policies

Please be aware of the following course policies:

Honor Code

Simply put, don't cheat. All work that you submit must be your own. You may not download, copy, or reproduce, in any way, code or solutions that you find on-line or from a fellow or former student. Submitting any work that is not entirely your own is a violation of the Honor Code. You will generate and submit sample output of your code. Altering this output in any way to be inconsistent with your code is a violation of the Honor Code. During our virtual "in-class" quizzes, you may not access any written or on-line information and you may not discuss the contents of the quiz with anyone else. You may discuss assignments in broad terms with your fellow students, but you may not discuss the specifics of a solution or code – to do so is a violation of the honor code. 

I have no choice but to report violations of the Honor Code to the Committee on Standards (COS). Independent of any consequences that may result from a COS hearing, if I catch you cheating, I reserve the right to give you a failing grade not just for that assignments/quiz, but for the entire course.

Zoom etiquette

By now you probably all have Zoom installed (if not get it from dartmouth.zoom.us, the web version has fewer features). Sign in using your Dartmouth credentials. Play with it before you come to class. Learn how to mute yourself, pause your video, raise your hand, etc.

Here are a few things to keep in mind:

  1. Please find a quiet place, or plan to use a headset with an integrated mic. If you can’t, you’ll still be able to ask questions by typing them into chat.

  2. Keep yourself on mute until called on. (You can unmute briefly by holding down the space bar.) If you have a question, you can raise your hand to get my attention using the participant menu.

  3. Use your full name (no 31337 H4X0R handles please) when you sign on – it will help me learn your names and facilitates discussion.
  4. It’s nice to use video to display your face. Please make sure your background and attire are something you and the class will be comfortable with. A good rule of thumb is to wear whatever you would wear to a lecture at Dartmouth.

  5. I understand you may periodically need to turn off your video or step away. For those cases, please set up your zoom profile with a photo (of your face) so that when you do turn off your video we can still see you.

  6. I know it can be difficult, but please try to be completely engaged when attending a Zoom lecture or Zoom office hours (no web browsing or social media).

  7. Please be polite and kind to everyone.

I’ll be recording all of our lectures that occur at the scheduled time, so that those who cannot be there due to poor internet connectivity or time zones can watch later. Dartmouth has asked that I include the following language describing some bounds on how recording should be used. You do not need to send me any sort of agreement on this – it just makes clear that you shouldn’t record or distribute any recordings without my consent.

The remainder is standard text provided by Dartmouth [here].

(1) Consent to recording of course and group office hours By enrolling in this course,

a) I affirm my understanding that the instructor may record this course and any associated group meetings involving students and the instructor, including but not limited to scheduled and ad hoc office hours and other consultations, within any digital platform used to offer remote instruction for this course;

b) I further affirm that the instructor owns the copyright to their instructional materials, of which these recordings constitute a part, and my distribution of any of these recordings in whole or in part without prior written consent of the instructor may be subject to discipline by Dartmouth up to and including expulsion;

(2) Requirement of consent to one-on-one recordings

By enrolling in this course, I hereby affirm that I will not under any circumstance make a recording in any medium of any one-on-one meeting with the instructor without obtaining the prior written consent of all those participating, and I understand that if I violate this prohibition, I will be subject to discipline by Dartmouth up to and including expulsion, as well as any other civil or criminal penalties under applicable law.

Student Accessibility and Accommodations

Students requesting disability-related accommodations and services for this course should schedule a phone/Zoom meeting with me within the first week of the term. This conversation will help to establish what supports are built into my course.

The remainder is standard text provided by Dartmouth [here].

In order for accommodations to be authorized, students are required to consult with Student Accessibility Services (SAS; Getting Started with SAS webpage; student.accessibility.services@dartmouth.edu; 603-646-9900) and to request an accommodation email be sent to me. We will then work together with SAS if accommodations need to be modified based on the learning environment. If students have questions about whether they are eligible for accommodations, they should contact the SAS office. All inquiries and discussions will remain confidential.

Mental Health and Wellness

The following is standard text provided by Dartmouth [here].

The academic environment at Dartmouth is challenging, our terms are intensive, and classes are not the only demanding part of your life. There are a number of resources available to you on campus to support your wellness, including your undergraduate dean (https://students.dartmouth.edu/undergraduate-deans/), Counseling and Human Development (https://students.dartmouth.edu/health-service/counseling/about), and the Student Wellness Center (https://students.dartmouth.edu/wellness-center/). I encourage you to use these resources to take care of yourself throughout the term, and to come speak to me if you experience any difficulties.

Respect, Diversity, and Inclusion

I would like to create a learning environment for my students that supports a diversity of thoughts, perspectives and experiences, and honors your identities (including race, gender, class, sexuality, religion, ability, etc.) To help accomplish this:

If you have a name and/or set of pronouns that differ from those that appear in your official college records, please include them in your zoom display name, or let me know privately.

If at any time you feel uncomfortable about the interactions in our (virtual) classroom I encourage you to contact me privately so I can better understand how I can manage the course; indeed, I am eager for feedback about how I can maximize everyone’s experience. If you feel like your performance in the class is being impacted by your experiences outside of class, likewise, please don’t hesitate to contact me. I want to be a resource for you. If you prefer to speak with someone outside of the course, the contacts in the Mental Health and Wellness section above can be an excellent resource.

I (like many people) am constantly learning about diverse perspectives and identities. If something was said in class (by anyone) that made you feel uncomfortable, please talk to me about it.

As a participant in course discussions, you should also strive to honor and respect the diversity of your classmates.

Title IX

The following is standard text provided by Dartmouth [here].

At Dartmouth, we value integrity, responsibility, and respect for the rights and interests of others, all central to our Principles of Community. We are dedicated to establishing and maintaining a safe and inclusive campus where all have equal access to the educational and employment opportunities Dartmouth offers. We strive to promote an environment of sexual respect, safety, and well-being. In its policies and standards, Dartmouth demonstrates unequivocally that sexual assault, gender-based harassment, domestic violence, dating violence, and stalking are not tolerated in our community. 

The Sexual Respect Website (https://sexual-respect.dartmouth.edu) at Dartmouth provides a wealth of information on your rights with regard to sexual respect and resources that are available to all in our community. 

Please note that, as a faculty member, I am obligated to share disclosures regarding conduct under Title IX with Dartmouth's Title IX Coordinator. Confidential resources are also available, and include licensed medical or counseling professionals (e.g., a licensed psychologist), staff members of organizations recognized as rape crisis centers under state law (such as WISE), and ordained clergy (see https://dartgo.org/titleix_resources).

Should you have any questions, please feel free to contact Dartmouth's Title IX Coordinator or the Deputy Title IX Coordinator for the Guarini School. Their contact information can be found on the sexual respect website at: https://sexual-respect.dartmouth.edu.

Health addendum

While the COVID-19 pandemic has already drastically disrupted this course, it has the potential to result in further personal impact which may prevent you from continuing engagement in the class. This may be due to contraction of the disease by you or a loved one, increased familial responsibilities, financial difficulties, or impacts on your mental/emotional health.

I have structured the course so that, hopefully, these disruptions will not prevent you from successfully learning the material.

In the event that you are directly or indirectly impacted by COVID-19 in such a way that will affect your performance in the course, it is imperative that you reach out to the instructor(s) as soon as possible. You may also reach out to your undergraduate Dean if that would make you more comfortable. We cannot assist you if we don’t know there is a problem. Our first priority is your health and security. We will work to put you in touch with appropriate resources to assist you.

Course Summary:

Date Details Due