EECS-496 Introduction to Graduate Studies - Fall 2018


Remember to check this regularly!

Administrative Information


Fabián E. Bustamante
Seeley Mudd, 3rd Floor, Room 3509
+1 847 491-2745


James Newman
Seeley Mudd, 3rd Floor, Room 3416

Location and Time

Lectures: Mondays and Wednesdays 10:00-10:50AM
Seeley Mudd, 3rd floor, Room 3514

Professor Office Hours: by appointment

TA Office Hours:TBD

Catalog Description

An introduction to graduate studies in computer science at Northwestern.

Course Prerequisites

Being a first-year Ph.D. student in CS@NU. Other grad students interested in the course, please contact the instructor.

In compliance with Section 504 of the 1973 Rehabilitation Act and the Americans with Disabilities Act, Northwestern University is committed to providing equal access to all programming. Students with disabilities seeking accommodations are encouraged to contact the office of Services for Students with Disabilities (SSD) at +1 847 467-5530 or This email address is being protected from spambots. You need JavaScript enabled to view it. . SSD is located in the basement of Scott Hall. Additionally, I am available to discuss disability-related needs during office hours or by appointment.

The course is an introduction to graduate studies in Computer Science at Northwestern organized for the incoming Ph.D. students and interested Masters students. The class, held during the Fall quarter, meets twice a week for 50’ with the goal of preparing you to perform great research, regardless of area, and providing an overview of research areas in CS@NU through short presentations by CS faculty. It also offers an opportunity for CS students and faculty to get to know each other and learn the science, culture, values, and people that make CS@NU unique.

Some of the skills the course will teach you include:

  • How to read a research paper
  • How to review a research paper
  • How to write a research paper
  • How to generate ideas
  • How to give a good talk
  • How to be a great TA

This course draws heavily from Nick Feamster and Alex Gray’s CS701 course at Georgia Tech. Nick and Alex have since left Georgia Tech, but the course is still running and the guys also setup a nice blog you may want to check out.

Communication Channels

There are a number of communication channels set up for this class:

  • We will use the course web site to post announcements related to the course. You should check this regularly for schedule changes, clarifications and corrections to assignments, and other course-related announcements.
  • We will use Canvas to post assignments, collect answers and run discussions.
  • There is always email for questions that would be inappropriate to post on the newsgroup/discussion-board. When using email to contact the staff please start your subject line with "eecs340: helpful-comment" to ensure a prompt response.

Course Organization

The course is organized as a series of lecture, assignments, and a small project.

  • A set of skill-teaching lectures and presentations by the faculty
  • A set of assignments and a mini-project


I use a criterion-referenced method to assign your grade; in other words, your grade will be based on how well you do relative to predetermined performance levels, instead of in comparison with the rest of the class. Thus, if a test has 100 possible points, anyone with a score of 90 or greater will get an A (94-100%: A, 90-93%: A-), those with scores of 80 or greater will get a B, those with scores of 70 or greater will get a C, and so on. Notice that this means that if everyone works hard and gets >90, everyone gets an A.

Total scores (between 0 and 100) will be determined, roughly, as follows:

  • Mini-assignments 20%
  • Assignments 30%
  • Project 40%
  • Class participation 10%


Late policy:

Unless otherwise indicated, homework assignments and projects are due by midnight on their due date. If you hand in an assignment late, we will take off 10% for each day (or portion thereof) it is late. Assignments that are three or more days late receive no credit.

Cheating vs. Collaboration:

Collaboration is a really good thing and we encourage it. On the other hand, cheating is considered a very serious offense. When in doubt, remember that it's OK to meet with colleagues, study for exams together, and discuss assignments with them. However, what you turn in must be your own (or for group projects, your group's own) work. Copying code, solution sets, etc. from other people or any other sources is strictly prohibited.

The following is our intended calendar with topics, slides (as they become available) and reference material.

Week Date Topic
1 10/01 Introduction and overview [PDF]
10/03 Getting to know each other | Why a Ph.D.? [PDF]
2 10/08 Time management [PDF]
10/10 Research in CS@NU 1
3 10/15 Recognizing great ideas [PDF]
10/17 Research in CS@NU 2
4 10/22 On doing research
10/24 Research in CS@NU 3
5 10/29 Generating great ideas
10/31 Research in CS@NU 4
6 11/05 Writing a great research paper
11/07 Research in CS@NU 5
7 11/12 Critiquing ideas
11/14 Research in CS@NU 6
8 11/19 Pannel on surviving grad school
11/21 Research in CS@NU 7
9 11/26 Giving a great research talk
11/28 Research in CS@NU 8
10 12/03 Teaching and mentoring
12/05 Research in CS@NU 9
* 12/10 Final

Assignments and Project


A set of small assignments ranging from writing about your goals in getting a Ph.D. to setting up a webpage.


Three assignments on reading, writing out and critiquing research ideas.


The goal of the project is to get you started with research as soon as possible. Your must propose and tackle a research problem that you can finish (to the extent one "finishes" research) within the quarter. As part of the project, you will have tO:

    • Prepare a short presentation of your project proposal, including motivation, goals, approach and next steps.
    • Prepare an interim report, just to make sure things are moving.
    • Write a 5-6 page paper or technical report of what you did. This should be written by you, not your project advisor.
    • Make a printed poster of your project to bring to the poster presentation in class. This and the report are your final deliverables.

    You can find additional details in the Canvas site. Due dates for all tasks will be made available there and in the following calendar.

    Calendar of assignments


We will be reading a few books and numerous short articles written by computer scientists on topics including: paper writing tips, effective oral presentation, techniques for refereeing papers, publishing your work, etc. Representative references include:

Why a Ph.D.?

  • Ph.D. Dropout, Anamaria Dutceac Segesten [link]
  • Not for love or for money – why do a PhD?, Anamaria Dutceac Segesten [link]
  • Why Would You Want to Do a PhD?, Richard [link]
  • What Do Computer Science PhD Programs Teach?, John Miller [link]

Time Management

  • Time Tactics of Very Successful People, B. Eugene Griessman, McGraw-Hill, 1994 - [At Amazon]
  • Time Management Tactics for Academics, Nick Feamster, 2013 - [blog]

Recognizing Great Ideas

  • Adam Ruben, "How to read a scientific paper", Science, 1/20/2016 - Just for fun [link]
  • Elisabeth Pain, "How to (seriously) read a scientific paper, Science, 3/21/2016 [link]
  • S. Keshav, "How to read a paper", SIGCOMM CCR 37 (3), July 2007 - Specific for CS/Networking/Systems []link
  • P. Fong, "Reading a computer science research paper, ACM SIGCSE Bulleting, 41 (2), June 2009 [link]
  • Jessica Y. Breland, "Organizing Papers and References without Losing your Mind", PLOS Blog, 3/10/2017[link]

... more to come ...