Purpose

This is an undergraduate research seminar, designed to train you in the academic process. We’ll read a lot of papers, and over time you’ll become familiar with how academics think and work (for better or for worse). Throughout the course, you’ll design and complete a research project, a piece of scholarly work you can add to a PhD application or a resume.

Content

We are studying the very broad subject of natural language processing for robotics.

NLP will take up most of our lecture time. We won’t cover traditional Chomskyan methods like part of speech tagging because those don’t often come up in robotics. Instead, we’ll learn about the large language models that currently dominate our field. This requires us to start with neural networks, which in turn means learning a little calculus and linear algebra.

If nlp is the method, then robotics is the application. We’ll use simulators for a lot of our work, but you’ll also play with real robots in our robotics lab during the latter two thirds of the course. You’re encouraged to choose a robotics topic for your research project.

texts

Most of our content will come from other courses, so you don’t need to buy any particular text. For NLP stuff, Martin and Jurafsky is a good (and free) resource.

Requirements

This is a fun class (I mean, if you like robots), but it’s not an easy class.

time burden

This class will probably take you ten hours per week, outside of class. This includes time to review the previous lecture, preview the next lecture, and finish assignments like the labs and your research project.

research project

The research project is the most important part of the class. In addition to the final paper (in proper IEEE format, of course) and the presentation (filmed, of course), you will submit a high quality proposal and give a midterm research update.

robotics lab

The robotics lab will teach the joys and frustrations of making a robot do stuff. You’ll meet in our lab in ISEC, where your robot will live. The assignments will be straightforward, but getting the robot to do what you say will be challenging. We’ll have a robot talent show to show off the tricks you taught your robot.

Participation

attendance

You have to come to class, which is sort of a funny thing to put in a syllabus, but I really do mean that you have to come to class. :) If you need a day off here or there, that’s fine, but please get in touch with me and let me know that you can’t make it, so that we don’t wait up or worry. For the same reasons, please let me know if you will be late to class.

quiz

I give a quiz in the first five minutes of every class. This helps you recall information from the previous lecture so that you remember it better. It’s also a gift to come to class on time.

labs (problem sets)

I have reappropriated, with gratitude, four labs from the Stanford undergraduate curriculum. They’re better than what I could write on my own. The labs will probably take between 5 and 10 hours. If they take more time than that, please let me know.

Grading

I do grades a little differently, so please take a look and see if you’re okay with my system.

It’s hard to get an A in this course. Please consider that if you are facing strong GPA pressure this semester.

There are three graded components:

  • research project
  • robotics lab
  • participation (attendance, quiz, problem set)

Each component gets one of four grades: A, B, C, and failure.

To get your final grade, I start with your research project. Then I bump you up or down a plus/minus tier if your robotics or participation grade were different from your research grade.

Examples:

  • Research (A) + Robotics (A) = A + Participation (A) = A
  • Research (A) + Robotics (A) = A + Participation (B) = A-
  • Research (A) + Robotics (B) = A- + Participation (B) = Bplus
  • Research (A) + Robotics (C) = Bplus + Participation (A) = Bplus
  • Research (B) + Robotics (B) = B + Participation (A) = Bplus
  • Research (B) + Robotics (A) = A- + Participation (A) = A-

I’ll do one midterm feedback with each student to give them a heads up on their grade.

Our institution doesn’t recognize the grade of A+, but I do, and I will give you a fitting reward for a semester of outstanding work. At the very least, it will be a stellar letter of recommendation.

Culture Points

I was originally a humanities major (see “Why Not to Take This Course” below), so I encourage you to cross-train by doing things that don’t directly relate to science. As an encouragement, I give extra credit for a high quality write up of a cultural event you attended. See the culture lab for details.

Late Assignments

I believe in the night shift, so if an assignment is due on the 10th, then it’s really due when I wake up and check my email on the 11th. I tend to wake up around 9 or 10.

Deadlines are a really good tool for keeping us on schedule, so I don’t accept late work. This sounds a little harsh, but I think it’s better for a student to simply hand in what they have and move on to the next thing, because the next thing always comes so soon. Please start the assignment as soon as it’s available, do your best, and don’t sweat it if you aren’t able to finish everything.

Group Work

As I mentioned earlier, you will work in teams:

  • a research project team
  • a robotics team

I ask students to work in teams for a few reasons; some noble, some practical:

  • teamwork is a valuable, salable skill
  • teamwork is learned and taught, not acquired at birth
  • we have limited presentation time, workstations, and robots

Working in group work adds social challenges to academic ones, but as you have learned, that is a feature, not a bug. Please treat each other as you would in any (sane) work environment: Assume good intentions, don’t let each other down, communicate early and often, be professionally respectful and tolerant of differences.

Class Policies

respect

The university has an official position on this which you can read. For my part, I think respect and courtesy are the basic elements of every good relationship, and I try to run my class on that principle.

integrity

Cheating is a dishonest signal. Individuals have an incentive to cheat until the group gives them an incentive not to. Groups with fewer cheaters do better than groups with lots of cheaters, which is probably why my bottle of Dr. Bronner’s tells me that “Bees drop 3% lazy drones from hive!” I cheated a lot in high school, so I’m pretty hard on cheating nowadays. I won’t a pass a student who cheats. Cheating, in this setting, is using another’s (code/writing/quiz answers) as your own.

laptops and ‘personal devices’

I think that laptops and phones are distracting to others, so I ask that students keep them off and stowed during lecture (not labs, of course). You are welcome to use a tablet if you prefer to take notes that way, although I recommend paper and pen.

Communication

one-to-many

Unless there are strong objections, we’ll use Discord to keep in touch, rather than Piazza or Canvas. I wanted to make my own IRC server, but this is probably the saner option.

one-to-one

You are welcome to email me or the TA with any issues, academic or otherwise.

office hours

I don’t keep regular office hours, but my lab desk has a french press that I am happy to share. Just email me or catch me after class to schedule something.

Why Not to Take This Class

Although I would be happy to teach you what I know, I should be honest and give you some reasons why this class might not be right for you.

academia is a bit of a racket

This is a longer philosophical discussion than is really appropriate for a syllabus. Suffice it to say that while learning is one of the best uses of your time, grades are not particularly important, and college may not be all it’s cracked up to be. Have you considered starting a business? Not all businesses are tech start-ups, with all their attendant venture capital woes and growth pressure. Many (most) firms are small, privately run enterprises that offer their employees good jobs, their founders stability, and their communities a meaningful service.

the class is challenging

I do think this class is pretty tough. Hopefully, it is hard in ways that will be useful to you, but it will take a lot of time and work.

i’m not a professor

I am an ‘instructor of record’, which means, among other things, that I do not have a PhD. I’m a graduate student working in a lab here at Northeastern. Compared to other faculty, I have relatively less experience, and relatively more time.

i’m not a very good scientist

I’m not necessarily a bad scientist, but I am definitely a new scientist. I majored in history, worked in the military, got a policy degree, worked in biotech, considered law school, then shrugged my shoulders and got a CS degree. I don’t have any publications in this field (although I’m working on it).

All that being said, I take teaching very seriously, and I will do my best to work with you so that we can all improve.