EECS Perspective from Teaching Assistant Ali Mohammad

Ali Mohammad is an EECS grad student studying how to use non-expert consultants to solve artificial intelligence tasks specifically to solve language tasks like translation from French to English. Ali works in Boris Katz’s group (the Infolab), which studies natural language tasks more generally. He is also a third generation teacher raised in an Iraqi household in Kansas.

6.01 TA Ali Mohammad, left, in the lab with 2nd year EECS student Sean Fannin.  Fall, 2010.

6.01 TA Ali Mohammad, left, in the lab with 2nd year EECS student Sean Fannin. Fall, 2010.

Q. Having TA’d 6.01, the cornerstone of the new EECS curriculum, in what ways do you see that the curriculum manages to mesh EE and CS — and therefore prepare new EECS undergraduate majors (and others who take the class) for greater flexibility in future studies?

Ali Mohammad: “I was an undergraduate at KSU where I majored in math, physics, computer science, and computer engineering. At KSU, electrical engineering and computer science form two different departments, and although each department requires its students to take introductory classes in the other, there really isn’t a single class that celebrates the philosophy that the engineering disciplines have in common, let alone the symbiotic interface between these two fields in particular. If you walk into any computer science department, you will find students doing very advanced things with EE, and vice versa, so it’s appropriate to have students enjoy an introduction to both fields early in their career. In my own work, things will often dip into the systems/architecture level as natural language research calls for one to explore the limits of our computing platforms with complex operations on massive data sets.”

Q. Can you describe how your experiences as a TA, particularly for 6.01, has built your levels of understanding of how the integration of the multiple facets of this class is accomplished?

Ali Mohammad: “6.01 does a great job giving this introduction — the scope of the class promises a broad introduction to the field and the class delivers. My colleagues are flabbergasted when I list the topics that we touch on: object-oriented programming, signal processing, robotics, probability theory, planning and search — and all to beginning students! The success of the class rests on a carefully designed curriculum that introduces these topics in a unified way motivated by real problems we encounter in the labs. One of my favorite labs comes toward the end of the semester: the students are asked to write a program to guide a robot to move to a particular point in a world that it has never seen before and to build a map of the world that it is in. The students are given a nominal world size, a starting position, and a target position; the robot gives them sonar readings ten times a second and they have to give the robot instructions (in the form of wheel velocities) at the same frequency. This task calls for an understanding of software engineering, robotics, and probability theory and planning from students, many of whom had their first real programming experience only months sooner– and the students deliver!

It has been an absolute joy being involved in 6.01 — the class (the students and the staff) is an incredible group of people. The experience truly complements my experience as a student and apprentice researcher at MIT and I am very grateful to have been a part of it.”

Leave a Reply

Replies which add to the content of this article in the EECS Newsletter are welcome. The Department reserves the right to moderate all comments. If you would like to provide any updated information please send an email to