Q: What are the prerequisites for the course?

A: Students are expected to have good programming skills (Python or C++), and know some basic probability / statistics and linear algebra. You can find a more detailed description of the prerequisites on Course information.

Q: I have a time conflict with this course and cannot attend the lectures in person. Is it still possible for me to take it?

A: Yes it is. This class is recorded and televised by SCPD, and so you will be able to watch the lectures on-line at the SCPD site and any Stanford student can see them here.

Q: How do I know learn my grades?

A: You will be able to learn about your grades by logging into GradeScope. Moreover, you can login to our student center to learn about our record of your grades. If there is a discrepancy let us know immediately!

Q: How do I submit my assignment?

A: Assignments (problem sets and all other reports) will be due at the beginning of the class on Thursdays.

All students (non-SCPD and SCPD) should submit their assignments electronically via GradeScope. Students can typeset or scan their homeworks.

It is extremely important that students put answers to each question on a separate page. That is answer to Q1.1 goes on page 1, answer to Q1.2 goes to page 2 and so on. If you fail to follow this protocol we will not be able to properly grade the assignment.

To register for GradeScope please fill out this form and allow us 24h to create you an account.

Q: Are there any special project requirements for SCPD students?

A: SCPD have no trouble finding project partners and perform the work needed. We normally use Piazza for SCPD and Stanford students to find project partners. Generally, we require at least one person from each project team to attend and present at the poster session. If the team is composed of non-local SCPD students, this requirement is waived.

Poster session is lots of fun and allows students to go around and see what others have been up to. We also get many interesting visitors from industry and research labs. If SPCD students can plan their schedule and travel and attend the poster session they won't regret it. :)

Q: How will the project poster presentation work, if I'm enrolled in a conflicting class that will also have its final scheduled during that period?

A: We strongly encourage people to form groups of three. We require at least one person from each project team to attend and present at the poster session. So it should be fine if your other teammates can show up for the poster session. But please let us know if you are going to be absent.

Q: Will the recitation sessions be recorded?

A: Yes. The recitation sessions will also be available along with the other recorded lectures.

Q: How do I register to Piazza?

Q: Are there any advantages to using SNAP for C++ over SNAP.PY (SNAP for Python) and vice versa?

A: Both are great libraries to work with. If you are much more comfortable with either C++ or Python, then it makes sense to use the respective library (SNAP for C++, SNAP.PY for Python).

SNAP.PY is a little easier to get started with, as it is better documented and Python is overall a friendlier language than C++. So if you just want to pass the class, have fun, and do a project using small data then NetworkX will do just fine. We imagine about 60% of the people will use SNAP.PY.
However, SNAP.PY is about an order of magnitude slower than SNAP and can scale to somewhat smaller networks than SNAP. SNAP, on the contrary, can process 1 billion nodes easily (given that you have a big enough server). So if you are more ambitious, plan to do something bigger/faster, maybe use network analysis for your research/work, and are comfortable reading C++ code then SNAP will work great for you. We develop and use SNAP in our research group. There is a bit of learning curve at the beginning but for students in our research group it quickly pays off.

Q: I have a question specific to SNAP or SNAP.PY. Who can I ask?

A: You can always ask your questions on Piazza. You can also ask the TAs who will be glad to help.