Skip to content

Latest commit

 

History

History

Syllabus

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 

Syllabus for CS 111 Winter 2023

Health and Safety

Welcome to CS 111! I am delighted that we are meeting in person instead of on Zoom like a couple of years ago.

UCSB's current COVID protocols are online here. Everyone on campus is fully vaccinated for COVID (with a very few carefully handled exceptions). Masking indoors is not required but is strongly encouraged, especially in crowded spaces like our classroom. I will wear a well-fitting mask during this class except when I'm actually lecturing, and my advice is that you do the same.

If you feel sick, don't come to class. Email me ([email protected]), and I will make sure you don't lose out on lecture materials or on help with assignments.

Okay, now on to the details of course requirements and stuff....

Grading Weights

There will be approximately 9 homework assignments. Your lowest homework grade will be dropped, and the remaining ones will count 50% of your course grade.

There will be approximately 9 weekly quizzes. Your lowest quiz grade will be dropped, and the remaining ones will count 50% of your course grade.

There are no midterm or final exams in the course.

Homework Policy

There will be a homework assignment every week, assigned on Monday and due Sunday before midnight.

You may work on the homework by yourself, or you may work with exactly one other person. (It's optional to work with another person.) Even if you work with another person, you must write up the homework separately, and each turn in your own individual LaTeX writeup of the homework. You must also put the name of the person you worked with on your paper. You may not discuss the homework with anyone except your (optional) partner. You may change partners between homework assignments, but you may only have one partner on any single homework assignment.

Homework is due on Sundays no later than 11:59pm. You must turn in your homework online, in GradeScope, as a single PDF file. When you turn in your PDF, you must tell GradeScope which pages of your document contain each individual homework problem.

No late homework will be accepted under any circumstances, but I will drop your lowest homework grade. Requests for regrades must be submitted through GradeScope. The statue of limitations for regrades is one week; that is, any requests for regrades must be made no later than one week after the homework grades were made available in GradeScope. The last couple of homeworks will have an earlier deadline for regrade requests, which will be announced on Piazza.

When a homework problem requires writing some Python code, you should turn in all of the following. Watch the Piazza page for details for each particular homework assignment.

  • A description in English of what you did and how, formatted with LaTeX. Try to be brief but clear. If we can't understand your description, you will lose points; we won't regrade homework that was not explained well.

  • A listing of the Python code you wrote (can be in a screenshot from Jupyter).

  • Your output from testing and running your Python code (can be in a screenshot from Jupyter). Always turn in testing output that demonstrates that your code works correctly.

  • Any figures or plots you produced (can be in a screenshot from Jupyter).

You will write up your homework using LaTeX, which is the standard markup language for mathematical documents and is good to know for any future math or CS writing you may do. To give you some examples of LaTeX, I will give you both the .pdf file and the .tex file (markup source file) for every homework assignment. The t.a.s will give a LaTeX tutorial in the first section on January 18.

Quiz Policy

There will be a quiz every week, covering the course material from the previous week. The quiz will be available on GradeScope at 9am on Monday, and must be completed no later than 9am on Tuesday, 24 hours later. You will have 60 minutes to complete the quiz from the time you start it. You may not discuss the quiz questions with anyone else, or give answers to quiz questions to anyone else, or post answers anywhere.

There will be no quiz makeups, but I will drop your lowest quiz grade. Requests for regrades must be submitted through GradeScope. The statue of limitations for regrades is one week; that is, any requests for regrades must be made no later than one week after the quiz grades were made available in GradeScope. The last couple of quizzes in the course will have an earlier deadline for regrade requests, which will be announced on Piazza.

Exam Policy

There will be no exams in the course.

Software

We will use Python (version 3.5 or higher) for programming in the course, leaning heavily on the following three packages:

  • numpy: Numerical computing with arrays and matrices
  • scipy: More advanced numerical computing, including sparse matrices
  • matplotlib: Plotting and visualization

We will use Jupyter notebooks to run Python interactively, in a web browser, both for demos in class and for your programming assignments. The course GitHub site has details of how to do this. The GitHub site also has the cs111 Python software from class that you will use in some assignments. The t.a.s will demo the setup process in the first section, on Wednesday, January 18.

Textbooks and Assigned Readings

You do not have to buy a textbook for this course. I will assign readings from various online sources, and they will also be available on the course GitHub site. Several readings will come from the online book Numerical Computing with Matlab (I just call it NCM) by Cleve Moler (chapters are online here). This book uses Matlab rather than Python, but it's still a good reference for several of the topics we will study.

Professor Gil Strang of MIT has recorded his terrific lectures on linear algebra here. I recommend watching the first few lectures, which are a great way to review the background for the first half of this course.

Zoom Zoom Zoom

The class lectures will be live in person, and will not be streamed on Zoom or recorded. Some recorded materials from earlier offerings of CS 111 may be made available online for you to use if you wish. Sections and office hours will be a mixture of Zoom and in-person, depending on public health conditions and student preferences.

Please email me ([email protected]) any time with your suggestions or preferences about how to make the course better for you! Along with the whole CS 111 team, I am looking forward to working with you this quarter.