A: Students are expected to have good programming skills, and know some basic probability / statistics and linear algebra. You can find a more detailed description of the prerequisites on Course information.
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.
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.
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.
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.
A: Yes. The recitation sessions will also be available along with the other recorded lectures.
A: Piazza requires @stanford.edu emaill address to be used for registration. If you do not have @stanford.edu address, send us email to email@example.com with your email address and we will register you manually.
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++, NetworkX for Python). NetworkX 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 NetworkX. However, NetworkX is about an order of magnitude slower than SNAP and can scale to networks with up to around 10k nodes. 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.
A: The best TAs to ask about SNAP are Anshul and Wayne. For NetworkX please refer to Ashton or Jacob.
A: We strongly encourage people to form groups of three. 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.