Research & Facilities


Computer Science research is organized around several laboratories, each run by one or more professors. The labs allow students working on related research to interact closely with each other and with their advisors. At the time of writing, there are laboratories focusing on: artificial intelligence (multiagent systems, intelligent agent control, interagent communication, and computational ecology); high-performance computing; databases (autonomous and semistructured databases); software engineering; computational modeling; learning tools and environments for K-12; cybersecurity and homeland security. Details on each lab are listed below under Facilities.

Sample Past and Current Computer Science Research Projects 

Opportunities for Interdisciplinary Work: CS faculty also often work with faculty in other units on campus and researchers at other institutions (e.g., The Jackson Laboratory, Argonne National Laboratory, Columbia University, Autonomous Undersea Systems Institute, etc.) on interdisciplinary work. Students can become involved in this research based on their interests and their advisors’ needs and interests


Labs and Equipment 

• Computer science specialized labs. Research labs are maintained in East Annex to work with both undergraduate and graduate students, depending on project needs, by several computer science professors: Turner (Maine Software Agents & Artificial Intelligence Lab [MaineSAIL]), Dickens (High Performance Computing Lab), Fastook (Ice Sheet Modeling Lab), Chawathe (Databases Lab), and Sepideh Ghanavati (Privacy Engineering and Regulatory Compliance Lab). In addition, the student Cyber Security team is provided with a room in the East Annex to support their needs.

• Additional SCIS specialized labs: Other professors in the School teach one or more required or elective CS courses and their labs are also often used by CS students. Among these professors with specialized computing labs include Nittel (Geosensor Lab, Rm 321 Boardman), Hahmann (Spatial Knowledge and Artificial Intelligence Lab, Rm 236A Boardman), Audry/Senécal (Art + Artificial Agents Lab [A3], East Annex), and Ranasinghe (Multisensory Interactive Media Lab, Rm 237 Boardman). Further, some CS undergraduate students work in the Virtual Environment and Multimodal Interaction Lab (VEMI), which is located in Carnegie Hall and is supported by SCIS professor Nicholas Giudice. Typically, equipment in specialized research labs is initially supplied through start-up funds and then maintained through external research grants.

• SCIS common use labs. The labs in Room 138, Rooms 127/129, and Room 137 in Boardman Hall are used for both research and educational purposes. They are not typically scheduled for classes. Rather, these are labs where all Computer Science and New Media students may come with their laptop computers to work on individual and group class projects, obtain tutoring help, check out equipment, do informal exam reviews with others, use labs as study halls, and similar activities. Students may use the labs anytime they have access to them, including evenings and weekends.

Lab Room 138 (The General Computing Lab) has (a) five group-work tables with two iMacs and a large external monitor in each bank of tables; and (b) one group of three Windows 10 computers. It also has whiteboards and an overhead projector for group work. It is staffed 20 hours per week by selected undergraduate senior computer science students (i.e., lab monitors/learning assistants) who help with general training on equipment as well as tutor on computing and math problems when course teaching assistants (TAs) are unavail- able. Several computer science TAs have office hours next door in Room 138A. Room 138 Computer Science Tutoring Schedule for Fall 2018

Lab Rooms 127 (Focus Ring Lab) and 129 (Still Water Lab) are adjoining rooms that have (a) ten iMac stations for photo, audio, and video editing/production; and (b) one or more virtual reality (VR) production workstations. The rooms are staffed 20 hours per week by selected under- graduate senior New Media students (i.e., lab monitors/learning assistants) who help with general training on equipment and software and who check-out and check-in equipment to students enrolled in NMD classes. Two adjunct professors are located in Room 131 next door who also help and check out equipment.

Room 137 (the student break room) has free coffee, water, hot chocolate, a microwave, a refrigerator, etc. It serves also as a group work room. It has whiteboards as well as a large external monitor for mirroring laptops as needed. This room also has lockers containing Arduino kits, mini-drones, robots, and similar items that may be checked out from the Room 138 Lab Monitors. Occasional instructor-led and student- led help or review sessions are scheduled in this room over the other available rooms if possible. For larger groups, Room 138 may be similarly scheduled.

Detailed descriptions of services, equipment, and software available through the common use labs and how to use the equipment is found in the SCIS Common Use Labs in Boardman Hall Lab Manual.

Other School-related labs. Computer science students are highly encouraged to purchase a laptop prior to their second semester in the program that meets minimum specifications outlined by the faculty (see Appendix A of the SCIS Common Use Labs in Boardman Hall Lab Manual.) Consequently, SCIS general-purpose computing labs tend to support the sharing of laptop screens on large lab monitors rather than supplying large numbers of computers in the labs. However, both the School and the University supply computer labs to meet specialized software needs and for those students not required by their programs to obtain laptops. CS faculty teach service courses to meet the needs of other programs on campus in Room 106 Neville Hall, which contains 24 Windows machines.

Campus-wide computing labs. There are two primary public clusters maintained by the the University of Maine IT department. One is located in the Memorial Student Union (about 25 computers), and one is located in Fogler Library (about 50 machines). Any software used by any course may, upon request, be made available in these clusters, including compilers, office suites, and database software. Both Windows machines and Macintoshes are available. A Collaborative Media Lab (12 Macs) is also located in the library and available to anyone. It provides access to a wide variety of New Media technologies.
Hackerspace, a work space/lab geared toward computing and electronic “makers”, is located in the student union and available for anyone to use. There are two other maker spaces on campus available for use, often for a nominal fee. One consists of rooms and equipment in the Innovative Media Research and Commercialization Center (IMRC), which also includes state-of-the-art audio and video studios and other media equipment that CS students also have access to.

Further computing research facilities: Computer science researchers have access to substantial additional computing facilities, including a 648 processor green supercomputer, a 72 processor green supercomputer, five mobile robots, and a teaching/research cybersecurity lab. Also available is access to the University’s computing resources as well as to various supercomputer centers. Access is also available to the Gulf of Maine Observing System which includes an autonomous underwater vehicle and several autonomous boats. The University is an Internet 2 site and has significant high-speed Internet access. Buildings are wired for high-speed Ethernet, and wireless access is available over much of the campus.


PC Cluster Frequently Asked Questions (FAQ) 

This is a list of common questions and answers. If you have a question regarding class specific material then please contact your instructor.



How do I login?

How do I change my password?

Can I use the computer facilities for recreational use?

How do you print?

How do you stop something from being printed?

What facilities are available on campus?

Who is eligible for a Computer Science computer account?

How long will my account last?

What is not allowed?

Where can I get help?


How do I login?

In order to use PC’s in the Computer Science department clusters, you must first log into the network. You are identified to the system by a login name. This name is composed of the first six characters of your last name (up to the first space) and the last two digits of your student ID number. If you name is shorter than six characters, then your entire last name will be used.

Thus, if your last name is JONES, and your ID number is 123-45- 6789, your login name will be JONES89. Note: if your name contains an apostrophe, it will be changed to an underline. Thus O’Brien (with ID 000-11-2233) becomes O_BRIE33. If your name contains a space, only the characters preceding the space are used; thus De Long (with ID 000-11-2233) become DE33.

Computer Science has two PC clusters – one in Room 118 Neville, and the other in Room 106 Neville. To access the network, simply turn on the power switches on the computer and monitor.

Enter your login ID and password. Your password is your student ID, without the hyphens. Note: DO NOT USE THE NUMERIC KEYPAD because these keys will not work correctly unless NumLock is on. In the example above, Jones’ password would be 123456789. The password is not displayed on the screen as you type, so you will have to be careful typing.

If the login is unsuccessful, you will get a message saying that access has been denied. Check to be sure that you entered the correct login name and typed your password correctly. If after several tries, you still can’t log on to the system, see a consultant, the System Administrator (Room 115 Neville), or your instructor for help.

Every student has a “home directory”. This is the only area where you are are allowed or to save files. If you try to save a file in another directory you will get an error message which will vary depending on the application you are running. Your home directory is H:. Because disk space on Rocknroll is limted each user is assigned a “disk quota”. Every time you login you will receive a message telling you how much space you have left on your disk quota. It is important that you not use up the entire quota or certain applications may not work correctly. If the amount of free space that you have left is below 10,000 bytes then you really need to delete some files or transfer them to floppy disk.


How do I change my password?

The first time you login you should change your password. To do so, go to the DOS prompt and type SETPASS. You will be prompted for your old password, and twice to enter the new one. If you mistype the old password or don’t type the new password correcly both times you will get an error saying something like ‘Access denied’ or ‘New password not retyped correctly’ and you must try again.


Can I use the computer facilities for recreational use?

If the cluster is full, then recreational use is not allowed. In other words, class work takes precedence. It is expected that recreational users will yield their machines to those needing to use the facilities for class related work.

Violators of this policy will have their account privileges revoked.


How do you Print?

Printing to the laser printers is restricted. Each user is given 500 laser pages per class. This number is based on the course fee which is used for covering such costs. Once all of your laser pages are used up you will no longer be able to print to the laser printers, so use them wisely!

Please be considerate of others when printing. If the cluster is busy, do not print large jobs!

The Laser printers are HP8000’s with PostScript and duplexers. The duplexer enables these printers to print on both sides of a sheet of paper. The default is duplex printing, so if you print a 1 page document you will be charged 2 pages (1 for each side of the page).

Please be sure that the job you take is the one you printed. Also, the login of the person printing is displayed on the LCD screen located on the top right of the front of the printer as the job is printing. On very small jobs (1 or 2 pages) it will only be displayed for a second.

Do NOT try to print binary files (files ending in .EXE or .OBJ). Such files are not mean to be printed and will cause huge amounts of paper to be wasted. See the next section labeled ‘How to stop something you printed from being printed’ if you do.


How do you stop something from being printed?

Double click on the printer icon that appears on the bottom right hand side of the menu bar when you are printing. Select the print job you want to delete and select Document and Cancel Printing. It may take a few seconds, but eventaully your job will stop printing.

NOTE: Unless you are a consultant, CS faculty member, or CS graduate student, the system will only allow you to delete your own print jobs, not the jobs of others.


What facilities are available on campus?

The University of Maine has several PC computer clusters available for use by students enrolled in COS courses. The Department of Computer Science operates two clusters, located in Rooms 106 and 118 Neville. The PC clusters are open:

Monday – Fri: 7am – 10pm

Use of these clusters is restricted to students enrolled in COS courses. Public clusters for general use are available in Fogler Library, in the Memorial Union and in 111 Corbett.


Who is eligible for a Computer Science computer account?

You must be a student currently taking a COS course in order to be eligible for a CS computer account. All students who are registered in a COS course are automatically given a PC account for the system at the end of the first week of class. They do not need to fill out any paperwork.


How long will my account last?

Unless you are a CS Faculty, or CS graduate student CS major your account and all its files will be removed at end of the semester. CS majors must fill out a Computer Access Request Form at the end of the semester in order for.



What is not allowed?

Food and drink is not allowed in the computer clusters.

Recreational use of the computers is not allowed if the cluster is full.

Access will be denied immediately to anyone who is found to have abused the network. Such abuses include security violations or attempted security violations (i.e., accessing, destroying or copying other people’s files or attempting to bypass network security restrictions); mailing or displaying annoying, obscene or threatening data; broadcasting messages; attempting to copy commercial software from the server. Such abuses may also subject you to disciplinary action or even criminal charges. At the discretion of the CS Department, your actions may be reported to the Judicial Affairs office, to Campus Security, or to local, State or Federal police agencies.


Where can I get help?

Consultants are regularly scheduled in the clusters most afternoons and evenings throughout the semester. Schedules will be posted in each cluster. Consultants are usually assigned to specific courses and may not be able to answer your questions for another course. Check the consulting schedule for the course in which you are enrolled.

If no consultant is available, then you can also check with your professor. If you are having trouble printing or can’t login to your account then you can see the System Administrator in 115 Neville.

The CIT help center may also be able to help you. They are located in 17 Shibles Hall and can be reached at 581-2506. 

Department Computer Account Renewals 

Click here to renew a PC account any time between the end of the semester and before accounts are created at the start of the new semester. Renewal is an option for CS majors only. 

Configuring Spam Assassin for Computer Science Email 

All e-mail sent through the Computer Science email server is filtered by a program called SpamAssassin.

The way the SpamAssassin works is that each incoming e-mail is examined by the filter which identifies individual characteristics common to spam (unsolicited marketing e-mail) and assigns each of them a rating based on how “spammy” that characteristic is. Once a certain number of points is reached, the mail is marked as spam.

The default setting is to delete all mail marked as spam.

Configuring SpamAssassin

If you wish to receive spam you can go to your home directory and delete your .procmailrc file. All email (spam and otherwise) will be delivered to you. Mail that SpamAssasin thinks is spam will have the label **SPAM** added to the subject line.

You may want to receive spam but have it go to a separate mailbox that you can check occasionally. To do this you will need to create the following .procmailrc file in your home directory. It will save spam mail to mailbox named ‘spam’.

Insert the following:
* ^X-Spam-Flag: YES
Mail marked as spam can be read with the -f Mail/spam flag to your mail program.

Creating a personal “whitelist”

To ensure that SpamAssassin does not label e-mails from specific people that you consider legitimate e-mail as spam do the following:

  1. Using your favorite editor (emacs, vi, pico, etc.) open up .spamassassin/user_prefs in your home directory
  2. Find the lines that say:# Whitelist and blacklist addresses are now file-glob-style patterns, so
    # "", "*", or "*" will all work.
    # whitelist_from
  3. Under these lines add a line such as the following for each person you wish to receive e-mail from unlabeled by SpamAssassin:
    • whitelist_from
    • change to a real e-mail address
  4. Save the changes to the file

Creating a personal “blacklist”

If you find yourself constantly receiving spam from a specific e-mail address that is getting through the spam filter you can put them on your “blacklist”. A blacklist is a list of e-mail addresses which send spam which are normally not caught by SpamAssassin. If an e-mail is received from an e-mail address in the blacklist it will be marked as spam.

To create a blacklist do the following:

  1. Using your favorite editor (emacs, vi, pico, etc.) open up .spamassassin/user_prefs in your home directory
  2. Find the lines that say:# Whitelist and blacklist addresses are now file-glob-style patterns, so
    #"", "*", or "*" will all work.
    # whitelist_from
  3. Under these lines and after any whitelist entries you may have add a line such as the following for each person you receive e-mail from that you would like marked as spam by SpamAssassin:blacklist_from (change to a real e-mail address)
  4. Save the changes to the file.

Training SpamAssassin

Recent versions of SpamAssassin include a Bayesian learning filter with which you can train SpamAssassin with your collection of non-spam and spam. This will make it more accurate for your incoming mail. You can do this using the sa-learn command. In order to use this you will first need to redirect tagged spam to another folder as described above and then do the following: 

For Pine Users:

Start from pine’s main menu.

  1. Press L for Folder List
  2. Press A to Add a New Folder
  3. Name the folder “spam-train”
  4. Open your INBOX in Pine. For each spam that wasn’t tagged as such by SpamAssassin, save it to your spam-train folder. Ensure that your INBOX is free of spam then exit Pine.
  5. Run the following commands:
    sa-learn –mbox –spam ~/mail/spam-train
    sa-learn –mbox –ham /var/mail/$username (replace $username with your username)

Depending oh how much spam you get that isn’t marked as such by SpamAssassin you should do steps 4 and 5 daily or weekly. Note that SpamAssassin will remember what mails it’s learnt from, so you can re-run this as often as you like.

For Users of Other Mail Programs: The concepts are similar to what is done in Pine, you make a mail folder for spam not caught by SpamAssassin. Move all those messages from your inbox to that folder and then run “sa-learn –mbox –spam” on your spam training folder and “sa-learn –mbox -nonspam” on your inbox.

UMaine CS MSDNNA Access

The department carries a subscription to the Microsoft Developer Network Academic Alliance (MSDNAA). This subscription permits faculty and CS students (defined here as anyone taking a CS class) to download without charge certain Microsoft operating systems and developer tools. The software distribution Website is called ELMS.

Students need to register each semester in order to activate their account. The Student Identifier to use when registering is composed of the first letters of the first name and last name, followed by the student ID. For example, student John Doe with student ID 1234567 is mapped to Student Identifier jd1234567.