Welcome to CSE131 or CSE501N, and for many of you welcome to Washington University. I write with some information about the course, so please read the rest of this email carefully. I apologize for the length of this missive, but it should answer questions you may have.

First, I commend you on your decision to study computer science. Students in this course are from all schools and all levels. I am excited to be your professor as you start any studies in computer science. Some of you may major in comp sic, some may minor, and some may just take the intro course. Whatever your current or developing goals in that regard, students report that this course changes the way you "think".

I am on a lab wait list, what should I do?

We have extra room in all of our labs not reflected in the registration seating capacity.

131 vs 501N: What is the difference?

The assignments and conceptual material are the same. However:


No! There is absolutely no curve for the course, and all students are welcome to earn an A in the course. The grading rubric for the course will be on the course web page, available mid-August. Your grade is based on participation, studio work, completed labs, completed extensions, and exams. You have access to prior course evaluations, in which students report that they work hard, but earn an A by doing so.


If you have any prior background in the study of computer science or programming, I ask you to take the placement exam which will be given on

Sunday, August 23, from 2:45 to 4:15 PM, in Lopata 101.

That test is diagnostic in nature and the outcome for most students is NOT to take CSE 131 but to make up some work on your own. Additionally, I may ask you to TA the course if you place out, so as to meet students in your class and to get a handle on all of the course material. I feel very strongly about you NOT taking this course if you have sufficient background. This course is meant for those with no background, and if I am sitting next to you and am a beginner, it is discouraging for me to see you blazing through the work. Please take the placement exam if you have any background at all.

If you are unsure about how to register for courses, have two plans: one if you take 131 and one if you pass out of it after the placement exam. Go ahead and register for all courses you need for either plan, and then you can withdraw once you have the placement exam results.


There are two sections for this course, and one is being offered for the first time in a prime time (fall or spring) semester. Section 1 is "Lecture Free", meaning that you experience lecture in short video clips interspersed with short exercises. This material has been offered in the past two summers, and the experience has been great. A 90 minute lecture is simply not the best way to learn this material. I had the opportunity to develop the course into the format I thought would work best, and that is what Section 1 is all about. If you are in Section 2, I encourage you to switch: Section 1 is not only more convenient for you, it also teaches the material in a way that I feel will work better for you.

For Section 2, I have limited the enrollment to 40 students. If you stay in that section, attendance is mandatory for the participation grade. This section takes place 4-5:30 on Wednesdays in Lab Sci 300. You will (should) have viewed the video material previously to that time and I will be available to answer questions for you and for any other students who wish to drop in. I have reserved our largest lecture hall (seats 300) to accommodate drop ins. This 1.5 hour time slot is effectively a large help session / office hours for me. If you are in Section 2, I encourage you to move registration to Section 1, and show up during the Section 2 lecture slot time for any help you need from me. That help can include my going over the slides with you, solving problems by coding in front of you, addressing any issues you have with the course.


Whether you are in Section 1 or 2, you still meet in the same labs and studio sessions during the week. This is the "letter" section in which you are registered. At the same time on Tuesdays and Thursdays, you show up and work in a room of some 40-60 people, but in a small group of 2-4 students. The studio sessions are scripted and intended to teach material beyond what you see in "lecture", and the lab sessions are for working on and demoing the lab and extension assignments for the course. If the lettered section is full and you are on the waiting list, show up anyway at the time prescribed for you. We should have room. If you need to switch times, that's fine too - again we should have room. But plan on coming the same time each week on Tuesdays and Thursdays so you have the same TAs helping you.

The labs and studios are staffed by undergraduate TAs, a head TA (Josh Landman), a graduate student, and the instructors for this course (myself and Jyoti Parwatikar. We all work closely with you in these sessions, and for me this is the quality time I get to spend with you on this material.

We will offer help sessions during the week and also by Skype. These will be reflected on the course web page by mid August.


If you are interested in majoring or minoring in computer science, or if you want some exposure to the research and practice of computer science, then I encourage you to sign up for CSE131R. This 1-unit pass/fail section will mostly consist of guest talks about computer science research, talks from (mostly former WU) students who have graduated and are practicing computer science in the field, and some additional topics I may cover that should interest you. This session is scheduled for Mondays, 4-5:30, room TBA.


The syllabus for this course is based mostly on a book by Robert Sedgewick, Introduction to Programming in Java: An Interdisciplinary Approach. No assignments are given from the text, but to prepare for quizzes and exams, some sample problems will be referenced. Students have reported they have found the text online, but I leave that up to you. The bookstore has ordered copies of the text.


Thanks for reading to this point. This is as large class, but you will find that I will get to know you by working with you in labs and studios. I stand ready to offer the help you need to succeed in this course, and I look forward to meeting you soon.