Social and Information Network Analysis
Autumn 2013
CS224W Frequently Asked questions

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 pick up your assignments next to thee submission box in Gates. 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. Write down the date and time of submission on your handed-in assignment. There will be a submission box outside the classroom.

All problem sets should include the cover sheet (PDF, LATEX).

Regular (non-SCPD) students need to submit assignments in class or hand it in to the submission box in 1st floor of Gates building, near the east entrance.

Students should print all their work (write-ups, code and any other extra results you might have). Please do not email your assignments to us. Note that we will grade the paper copy of your assignment.

SCPD students should submit all their files via SCPD. Additionally, all SCPD students should also include the Homework Routing Form available here. This should appear as the very first page of your homework solutions. Without the form the staff will be unable to return the graded homework to you.

You should print all your work (write-ups, code and any other extra results you might have). Please do not email your assignments to us.

Q: Are there any special submission instructions for reports?

A: Reports (reaction paper, project proposal, project milestone and final project writeup) should be submitted in paper the same way as assignments (see previous question).

Additionally, also submit an electronic copy (as PDF) of the writeup using the Web form at http://snap.stanford.edu/submit.

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?

A:Navigate to http://piazza.com/stanford/fall2013/cs224w and register. You should be able to use any email address you like.

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. The best TAs to ask about SNAP C++ are Justin and Christie. For SNAP.PY please refer to Ashwin and Zhemin.

Q: Is there a tutorial to get SNAP working on Mac/Linux/Windows

A: Yes, here are some useful links>