Link Search Menu Expand Document

Resources 📚

Resources will be added here as the quarter progresses.

Table of contents

  1. Supplemental Instruction
  2. Extra Python Practices
  3. Text Editor
  4. Practice Exams

Supplemental Instruction

SI Leader: Irene Jiang

Email: l3jiang@ucsd.edu

FormatTimeLocation
OnlineWednesday 3:30-4:50 pmhttps://ucsd.zoom.us/j/95538337213
In-personThursday 6:30-7:50 pmGeisel Library, TLC1504

Extra Python Practices

If you are new to programming, it is highly encouraged to practice as much as you can. Here are some recourses that you will be able to get additional practices from:

  1. Software Carpentry
  2. Codecademy
  3. CodingBat

Text Editor

Unlike DSC 10 where you use Jupyter Notebook doing all of the coding, we highly discouraged using a Notebook to code problems in this course. You are expected to use your local terminal to run all doctests. Therefore, a text editor is a needed tool for you to code. For this course only, we highly recommend using Atom. It is a good place to start as a beginner coder because it is free, it has all good functionality that a good text editor should have, and it does not import unneccessary packages to your code. We have seen some students using other text editors such as VS Code or PyCharm. Those text editors sometimes imported unneccesary packages when students are unawared of them, which failed the Gradescope Autograder and resulted in a 0 on some assignments.

However, we cannot force you to use atom. So here are some other text editor/IDE choices:

  • Atom: GitHub’s editor. Pretty nice fully featured IDE. Can only work locally. Highly recommended for this class!

  • VSCode: Microsoft Visual Studio Code. Currently very popular, and can also be used to edit both notebooks and .py files. Suraj's text editor of choice.

  • Sublime: A favorite text editor of hackers, famous for its multiple cursors. A good, general-purpose choice. Marina's text editor of choice.

  • PyCharm (IntelliJ): Those who feel at home coding Java. Can only work locally.

  • Nano: available on most unix commandlines (e.g. DataHub Terminal). If you use this for more than changing a word or two, you'll hate your life.

  • (neo)vim: lightweight, productive text-editor that might be the most efficient way to edit text, if you can ever learn how to use it. Beware opening vim, as you may never figure out how to quit (literally). Justin Eldridge's text editor of choice.

  • Emacs: A text editor for those who prefer a life of endless toil. Endlessly customizable, it promises everything, but you’re never good enough to deliver. Its keyboard shortcuts are guaranteed to give you carpal tunnel. Aaron Fraenkel's text editor of choice.

Practice Exams

We provide two types of practice exams: from old DSC 20 or from UC Berkeley. The ones from old DSC 20’s were highly recommend to practice, and the ones from UC Berkeley would only serve as additional resources if you are interested in.

This course keeps changing. Therefore, if you see some of the topics on the practice exams that we did not cover, please just simply skip them. You will be provided a document on Piazza that lists out all topics will be covered on your exam.

If you have noticed, we did not provide solutions to some of the practice exams because we expect you to be able to master the materials after lectures and discussions. If you ever want to check your answer, please post them on Piazza and your classmates should be able to answer. If not, we will answer!

If you find another helpful resource, let us know and we can link it here!