Visual Paradigm for UML (Community Edition). The Community Edition is free for non-commercial use. It puts a "Community Edition" watermark. It supports all of the types of UML diagrams. It runs on Windows XP/Vista/7, Linux, Mac OS X, etc. It is installed on the computers in the Undergraduate Lab.
UMLet: an open-source UML tool. Runs stand-alone or as an Eclipse plug-in on Windows, OS X, and Linux. UMLet supports class diagrams, use case diagrams, sequence diagrams, state diagrams, deployment diagrams, activity diagrams, and component diagrams, but not communication diagrams.
Visual Studio. Visual Studio is available for free download through University software: http://msdn05.e-academy.com/elms/Storefront/Home.aspx?campus=sbu_ic and has support for UML Modeling; for example, see How to: Create UML Modeling Projects and Diagrams. It supports activity diagrams, component diagrams, class diagrams, sequence diagrams, and use case diagrams, but not communication diagrams or state diagrams.
StarUML: an open-source UML modeling tool. Runs on Windows only. Not under active development. According to the Wikipedia entry for StarUML, StarUML supports most of the diagram types specified in UML 2.0, except object, package, timing and interaction overview diagrams.
Netbeans UML Plug-in: It supports use case diagrams, class diagrams, activity diagrams, sequence diagrams, and state diagrams, and also supports forward and reverse engineering, but does not support communication diagrams or component diagrams.
ArgoUML: uses UML 1.4.
Violet. It supports use case diagrams, class diagrams, activity diagrams, sequence diagrams, state diagrams, and object diagrams, but it does not support component diagrams, communication diagrams, or deployment diagrams. It also does not support loops, alternatives, etc. in sequence diagams.
The above UML tools provide some error checking that helps prevent you from producing invalid UML diagrams. The following general-purpose diagramming tools do not provide such error checking, but they are enough for CSE114.
Lucidchart: a web-based diagramming tool with support for UML diagrams. It is available to all Stony Brook Google Apps users through Google Drive.
Microsoft PowerPoint and Word: Powerpoint and Word can be used to draw UML diagrams, but not conveniently, because there is no library of UML shapes for it.
Microsoft Visio: a diagramming tool, with a library of UML shapes. Visio is available in the Undergraduate Lab and is available for free download through University software: http://msdn05.e-academy.com/elms/Storefront/Home.aspx?campus=sbu_ic.
Microsoft Paint, LibreOffice Draw or OpenOffice Draw: Draw can be used to draw UML diagrams, but I don't know how conveniently. It does not come with a library of UML shapes (except Mark Lautman's UML Shapes for Draw).
Dia supports UML diagrams.