CS16: Problem Solving with Computers I

Quick Info

Instructor: Mara Downing
    mara.downing@ucsb.edu
    Please start all subject lines with "CS16"

TAs: Navya Battula, Deept Mahendiratta, and Bowen Zhang

Communication through the course Slack is preferable instead of email.

Lectures: 12:30pm--1:20pm Tuesday, Wednesday, and Thursday Sections: Office Hours:
Mara Downing 2:30pm--4:30pm Tuesday in person, Phelps 3525
9:30am--11:30am Thursday on zoom
Navya Battula 10:30am--12:30pm Friday on zoom
Deept Mahendiratta 4:45pm--6:45pm Wednesday on zoom
Bowen Zhang 4:00pm--6:00pm Monday in Phelps 3525
Zoom office hours will use the same link as the lecture zoom option.

Syllabus

Lectures will be held on Tuesdays, Wednesdays, and Thursdays from 12:30pm to 1:20pm. There are three discussion sections on Wednesday, at 2pm, 3pm, and 7pm. This class is being held in person, so you are expected to attend in person. However, I understand especially as we are still in a global pandemic, it is not always possible to attend in person and if you are feeling at all ill, you should not be in class. We will have a zoom option (link on Slack) if you are unable to attend in person. We will have in-class discussions that will not work super well on zoom, so please try to be here in person if you can. Lectures will also be recorded and posted on the course Gauchospace site (providing that technology works as intended). Please do not share lecture recordings outside of this class. Finally, I will also post the lecture slides on Gauchospace after the lecture.

Recitations will not have a zoom option. They are a time to start on the lab for that week and get help if you need it. Please do your best to attend each week (but of course, if you feel sick, stay home and keep everyone safe). We will have a zoom office hours option every week if you are unable to come in in person and would like help on the labs/homework assignments.

Office hours are listed in the table above (Quick Info section). If you are able to come to an in person office hour instead of zoom, please do so---we want to make sure there is time in zoom office hours for students who are quarantining or otherwise unable to attend an in-person meeting.

Pandemic Note

The school keeps changing whether or not masks are required in classrooms, and I will give updates in class whenever this policy changes. If masks are required in classrooms, I expect everyone to wear their masks during lectures, sections, and any in-person office hours. I will be enforcing this policy. If masks are not required in classrooms, feel free to choose to wear or not wear one as you see fit.

Learning Objectives

Students will be able to

Course Resources

Slack: The course Slack should be your primary form of communication with the course staff, as we get a lot of emails daily and we don’t want to lose your email in the pile. We will have channels for general communication as well as specific channels for every homework and lab assignment.

Github: We will have a course Github organization for all of the coding assignments: https://github.com/ucsb-cs16-1-u22

Gradescope: Homework assignments will be submitted through Gradescope

Course Website: https://sites.cs.ucsb.edu/~maradowning/cs16u22/. All assignments will be posted on the course website, as well as announced in class.

Gauchospace: Announcements about released homeworks and labs will be posted on the Gauchospace site for this course.

Optional Textbook: C++ Primer, 5th edition. This is an excellent resource for C++, memory management, and data structures. I will do my best to list the relevant sections for each lecture. However, this textbook is optional, and you will be able to learn all of the information in this class from the lectures and assignments.

Assessment

Homework assignments will be released every Monday morning and due on Thursday at 11:59pm on Gradescope. These assignments will not involve submitting any code, but will be on the concepts from the week and may involve analyzing code or writing briefly how you would approach a problem if you were asked to write code for it.

Lab assignments will be released every Wednesday morning and due the following Tuesday at 11:59pm through Github. For these assignments, you will simply submit a one question response on Gradescope to indicate that you have finished the lab---this will let me know when I can begin grading your Github repository.

For homework and labs, what you turn in must be your own work. However, you can absolutely discuss the questions and coding with your classmates, as the purpose of these assignments is learning. Common sense applies---if you are checking homework answers, every person checking answers should have already attempted all problems themselves and bring their own possible answers to the discussion. If you are discussing a coding assignment, you should not show a classmate your code if they haven’t started yet, and definitely not let them copy your code, but if you’re looking for bugs it is absolutely allowed to have someone read over your shoulder and try to help you find an error. Please list the people you discussed a homework or lab with on your submission. Refer to https://studentconduct.sa.ucsb.edu/academic-integrity for more information on academic integrity.

You have 5 late days throughout the quarter you can apply to the homework or lab assignments; these will be applied automatically if you turn in an assignment late on gradescope. Note that turning in an assignment a few hours late uses one full late day. If you have extenuating circumstances that require more than 5 late days, please reach out to me.

The midterm and final exams will be take home and open note. If you absolutely cannot take the exam during the allotted time, please reach out to me as soon as possible so we can find a workable solution. If students are taking the exam late, I ask that no one discuss the exam with their classmates until every exam has been completed. This includes if you know your friend already took it, you still cannot discuss it with them until I’ve indicated that all exams have been turned in.
For the final exam in particular, delaying the exam for a student will be incredibly difficult, as I have a non-negotiable deadline for final grades for this course, and any delays near or past that deadline will need to go through more official routes in the school.

At the end of every lecture we will have a quick quiz on Gradescope; these are graded by completion only. The purpose of the quiz is to give you a quick review at the end of lecture of the most important topics we covered in class, and to give me an overall sense of the class’ understanding of the material so I can decide if we need to spend more time on certain topics. This quiz will have 5 multiple choice questions, and you are free to discuss with anyone while completing it. After the quiz, we will have a short discussion of the questions and answers before the end of lecture. You only need to complete 70% of the quizzes to get full quiz credit, and if you complete more than 70% they will begin to count as extra credit.

I will not apply any traditional grade curving, where there is a certain number of each letter grade available to be given to students. This approach promotes competition in a classroom and directs the focus away from learning the material. Any adjustments I make to grades will be in the student’s favor. At my discretion, I may apply grade scaling to a particular assignment or exam, in which all students will have the same number of points added to their final score on the assignment.

We will be using a standard 10-point grading scale:
[93-100] A
[90-93) A-
[87-90) B+
[83-87) B
[80-83) B-
[77-80) C+
[73-77) C
[70-73) C-
[60-70) D
< 60 F

Technology in the Classroom

For the quizzes, please bring a device that can access the internet. For the rest of lecture, you are free to use technology for taking notes, provided your use of technology does not detract from other students’ ability to focus on the class.

Accommodations for Disabilities

Students with disabilities may request academic accommodations for exams online through the UCSB Disabled Students Program at https://dsp.sa.ucsb.edu/. Please make your requests for exam accommodations through the online system as early in the quarter as possible to ensure proper arrangement.

Managing Stress

Personal concerns such as stress, anxiety, relationships, depression, cultural differences, can interfere with the ability of students to succeed and thrive. For helpful resources, please contact UCSB Counseling & Psychological Services (CAPS) at 805-893-4411 or visit http://caps.sa.ucsb.edu/.

Standard Disclaimer

This syllabus is as accurate as possible, but is subject to change at the instructor’s discretion, within the bounds of UC policy.

Final Note

The most important part of a college course is learning the material---all of the assignments, tests, grading schemes, and course policies are just specifications designed to both promote and assess the learning you are doing in the classroom.
My goal in designing the structure of this course is to make it possible for you to learn all of the material in a flexible way that understands that you have full lives and commitments outside of the classroom. I also understand, however, that no class can be perfect for every single student that takes it. If you believe a personal adjustment to the course structure will help you learn better, please feel free to come talk to me about it.

Acknowledgements

The accommodations for disabilities, managing stress, and standard disclaimer sections are taken from Zach Sisco’s syllabus for this course in U21.