CS 88: Computational Structures in Data Science

Hello, if you have any need, please feel free to consult us, this is my wechat: wx91due

Syllabus & Course Information
Computational Structures in Data Science

CS 88, DATA C88C, "88C"... It's all the same. :)

Important Course Links

  • Gradescope. This is where you will submit ALL assignments (lecture quizzes, labs, homeworks, projects)

    • Tip: log in with "School Credentials" -> "CalNet ID"
  • Ed. This is the course's online discussion forum, and the teaching staff's primary means of communicating important announcements to you all (the students).
  • bCourses. This is where you will find the course Zoom links (Lectures, Labs, Office Hours) and uploaded lecture/lab recordings.

  • Lab/Lecture slides. These are were additional course materials like lab/lecture slides will be posted.

For the above links, it's important to log in with your @berkeley.edu CalNet ID.

Course Description

CS 88 is a "connector" for Data 8 that is designed for students who would like a more complete introduction to Computer Science. We will cover a variety of topics such as functional programming, data abstraction, object-oriented programming, and program complexity. This course will be taught primarily in Python. However, we are interested in teaching you foundational programming ideas, not just how to use one particular programming language. Once you have learned the essence of programming and the concepts that appear in various forms in programming languages, you will be able to pick up other languages and other programming concepts rapidly.

The material for this course has significant overlap with CS 61A. We do not cover the interpretation section of CS61A. If you are certain that you want to major or minor in Computer Science, CS 61A is the right introductory course. You can take CS 61A for credit after having taken CS 88. However, you cannot take CS 88 for credit after having taken CS 61A. Data 8 and CS 88 together satisfy the knowledge prerequisite for CS 61B.

(Data C88C Summer 2024) Remote learning overview

Data C88C Summer 2024 is notable in that the course is "fully remote". All aspects of the course will take place online. Lectures, lab sections, office hours, and exams will take place over Zoom. Thus, it is not required for students to physically be in UC Berkeley for this course.

With the important exception of exams, all course material will be uploaded and available to students online, including: lecture slides + recordings, lab/homework/project assignments, and additional review material.

Exams will be done over Zoom, proctored by course staff. The exact date + time will be determined and announced within the first 1-2 weeks of class.

Exams & Proctoring

There will be two exams: a midterm and a final. Both the midterm and final will be administered remotely over Zoom, and course staff will remotely proctor the exams. Exact details and setup will be shared soon.

Prerequisites

It is recommended, but not required, that you are currently enrolled in or have taken Data 8. There is no formal programming-related prerequisite for CS 88. You do not need to be familiar with any particular programming language.

Course Activities

Lecture: There will be four 50-minute lectures per week. The class calendar will contain links to videos for each lecture.

Lecture Self-Checks: Every lecture will have a short series of questions, which can be answered during or online after the lecture. These questions will help check your understanding. Each lecture "quiz" is worth 1 point, and are due 48 hours after each lecture, however late assignments are accepted for 14 days without penalty. You have unlimited attempts during that period.

Labs: This course also includes two weekly two-hour "lab" sections. The first hour will be going over a discussion-based worksheet and writing code on paper. The second hour will be writing code on your own computer.

Each lab section will be lead by a teaching assistant, and are designed to be interactive. Labs assignments are short, relatively simple exercises designed to introduce a new topic.

Most lab assignments are designed to be completed within the two hour time slot.

Labs will generally be released on every Tuesday and Thursday, at 12:01 AM PST (subject to change), and are due 4 days after release date at 11:59 PM PST.

Homework: There will be two homework assignments per week that will be more involved and are meant to illustrate and explore new topics. You are encouraged to discuss the homework with other students, but your final solution should be developed alone. Homework will be graded on correctness.

Homeworks will generally be released on every Tuesday and Thursday, at 12:01 AM PST (subject to change), and are due 4 days after release date at 11:59 PM PST.

Projects: There will be 2 projects intended to teach you how to combine ideas from the course in interesting ways. Projects will be graded on accuracy.

Project release/due dates will be communicated on the course calendar/Ed page.

Exams: This course will have one midterm and a final, administered and proctored remotely. Exact details will be provided soon.

Office Hours: Attending office hours is another great way to succeed in this course. Office hours are held by TAs and the instructor each week. An office hours schedule appears on the course website. In office hours, you can ask questions about the material, receive guidance on assignments, work with peers and course staff in a small group setting, find project partners, and learn about computer science at Berkeley.

Office hours are administered remotely via Zoom, see the course Ed page for links to the teaching staff's OH Zoom links.

Optional Sections: In addition to the weekly class meetings, the course will include optional events such as review sessions/LOST sections that are designed to help you master the course material and complete the assignments. Details of these events will be announced as they approach.

Materials

The online textbook for the course is Composing Programs, which was created specifically for CS61A but is also the best basis for this course. Readings for each lecture appear in the course schedule. We will be jumping around a little due to the data-centric orientation of the course. You should complete the readings before attending lecture.

In addition, the course website and Ed will contain additional links to guides, handouts, and practice materials available for the course.

ChatGPT, AI Tools and The Internet

While you may search for conceptual questions, e.g. "How do I add an item to a list in Python", you may not search under any circumstances for specific questions assigned in class.

This policy applies whether you're using ChatGPT, Google Search, or talking with your peers–which are all useful resources!

On your assignments you will be asked to cite what sources you consulted, similar to a research paper. (Though not so formally.) Code is like writing and ideas, it gets built up from many previous examples and ideas, and we should cite those.

Grading

Your course grade is computed using a point system with the following distribution:

Assignment Weight
Lecture Quizzes 5% (20 points)
Labs 10% (40 points)
Homework 20% (80 points)
Projects 25% (100 points)
Midterm 15% (60 points)
Final 25% (100 points)

This means the total points scale is out of 400 points. In this class, we will use grading bins to determine

发表评论

电子邮件地址不会被公开。 必填项已用*标注