Search by subject abbreviation, course number, title, description, or instructor name.
Class starts between these hours.
Class ends between these hours.
On campus or online.
Starts on or after.
Ends on or before.
Select all that apply. Select none to search any day.
Check this box to include classes with 0 available seats in your search.

How to register

You can register for courses online, by phone, or in person.

Admitted undergraduate students: You will register for courses during an Advising & Course Selection (ACS) appointment.

Admitted graduate students: Contact your advisor to determine which courses to take before registering for classes in MaineStreet.

Non-degree-seeking students: Call 207-780-5230 or submit a request to register.

You can register for courses online, by phone, or in person.

All students: Log in to MaineStreet to register for courses 24 hours a day during designated registration periods.

Degree-seeking students: We recommend reviewing your course selection choices with an Advisor before registering.

Courses

[UMS06]

COS 150 The C Programming Language

Introduces systematic problem-solving through programming for students with little or no prior coding experience. Students learn to break down processes into manageable components and implement them using the C programming language. Emphasizes algorithmic thinking, program design, and debugging through hands-on practice. Weekly labs develop proficiency in writing, compiling, and executing C programs while applying core programming concepts such as variables, data types, operators, control structures, functions, pointers, arrays, structures, dynamic memory, and file input/output. Encourages practical application and prepares students for further study in computer science and software development. Prerequisite: grade of C or better in MAT 108 or appropriate placement score. Cr. 3.
Section(s):

Class Number: 82729
Credits: 3
Class Component: Lecture
Section: 0001
Dates: 8/31/2026 - 12/11/2026
Status: Open
Instructor(s): Daniel E Graziano
Enrollment: 16 of 28 seats
Location: Gorham USM Campus
Instruction Method: On Site Class
More Information
Prerequisites: Prerequisites: grade of C or better in MAT 108 or appropriate placement score
DAYS & TIMES ROOM DATES INSTRUCTOR(S)
MondayWednesday 5:30 PM - 7:15 PM John Mitchell Center 270 - G 8/31/2026 - 12/11/2026 Daniel E Graziano
[UMS06]

COS 160 Structured Problem Solving

An introduction to using digital computers for problem-solving and leveraging programming to explore key concepts. The content covers fundamental control structures, data representation methods, and the principles of object-oriented programming. Computational experiments will teach students how to construct reliable software, covering topics such as conditional program flow, iteration, functions and procedures, and symbolic debugging, with students applying these concepts through a series of hands-on programming projects. Prerequisites: Grade of C or better in MAT 108 or appropriate placement score. Offered Fall and Spring. Cr. 4.
Section(s):

Class Number: 80083
Credits: 4
Class Component: Lecture
Section: 0001
Dates: 8/31/2026 - 12/11/2026
Status: Open
Instructor(s): Yuqi Song
Enrollment: 13 of 28 seats
Location: Portland USM Campus
Instruction Method: On Site Class
More Information
Prerequisites: Prerequisites: grade of C or better in MAT 108 or appropriate placement score
DAYS & TIMES ROOM DATES INSTRUCTOR(S)
MondayWednesday 9:30 AM - 10:45 AM Science Building 290 - P 8/31/2026 - 12/11/2026 Yuqi Song
Monday 1:45 PM - 2:35 PM Payson Smith 41 - P 8/31/2026 - 12/11/2026 Yuqi Song

Class Number: 80084
Credits: 4
Class Component: Lecture
Section: 0002
Dates: 8/31/2026 - 12/11/2026
Status: Closed
Instructor(s): Yuqi Song
Enrollment: 27 of 28 seats
Location: Web/Online
Instruction Method: Online/Online
More Information
Prerequisites: Prerequisites: grade of C or better in MAT 108 or appropriate placement score
DAYS & TIMES ROOM DATES INSTRUCTOR(S)
n/a Online 8/31/2026 - 12/11/2026 Yuqi Song
[UMS06]

COS 161 Algorithms in Programming

The development of algorithms and their implementations in a higher-level programming language, with emphasis on proper design principles and advanced programming concepts. Introduction to the performance analysis of algorithms. Course requirements include a substantial number of programming projects. Prerequisites: grade of C or better in COS 160 or permission of instructor. Offered fall and spring Cr 4.
Section(s):

Class Number: 80085
Credits: 4
Class Component: Lecture
Section: 0001
Dates: 8/31/2026 - 12/11/2026
Status: Open
Instructor(s): Xin XZ Zhang
Enrollment: 15 of 28 seats
Location: Portland USM Campus
Instruction Method: On Site Class
More Information
Prerequisites: Prerequisite: C or higher in COS 160
DAYS & TIMES ROOM DATES INSTRUCTOR(S)
TuesdayThursday 11:00 AM - 12:15 PM Science Building 290 - P 8/31/2026 - 12/11/2026 Xin XZ Zhang
Tuesday 1:45 PM - 2:35 PM Luther Bonney 203 - P 8/31/2026 - 12/11/2026 Xin XZ Zhang
[UMS06]

COS 184 Python Programming

A first introduction to computer programming for solving practical problems, taught in Python, a modern object-oriented, dynamic computer language. The course teaches how to represent aggregates of data, process data selectively and repetitively, structure programs with functions and use predefined libraries with an eye towards acquiring, managing, visualizing and performing basic analysis of sets of data. Students will conduct hands-on programming, both at home and in the lab. Prerequisite: grade of C or better in MAT 108 or permission of instructor. Cr 4.
Section(s):

Class Number: 80923
Credits: 4
Class Component: Lecture
Section: 0001
Dates: 8/31/2026 - 12/11/2026
Status: Open
Instructor(s): TBA
Enrollment: 5 of 28 seats
Location: Portland USM Campus
Instruction Method: On Site Class
More Information
Prerequisites: Prerequisite: grade of C or better in MAT 108
DAYS & TIMES ROOM DATES INSTRUCTOR(S)
MondayWednesday 1:45 PM - 3:00 PM Science Building 290 - P 8/31/2026 - 12/11/2026 TBA
Wednesday 9:30 AM - 10:20 AM Luther Bonney 203 - P 8/31/2026 - 12/11/2026 TBA

Class Number: 82730
Credits: 4
Class Component: Lecture
Section: 0002
Dates: 8/31/2026 - 12/11/2026
Status: Open
Instructor(s): Craig Tennenhouse
Enrollment: 26 of 30 seats
Location: Web/Online
Instruction Method: Online/Online
More Information
Prerequisites: Prerequisite: grade of C or better in MAT 108
DAYS & TIMES ROOM DATES INSTRUCTOR(S)
n/a Online 8/31/2026 - 12/11/2026 Craig Tennenhouse
[UMS06]

COS 210 Technical Writing and Document Design in LaTeX

This writing-intensive course introduces students in technical and scientific fields to principles of clear, purpose-driven communication. Students learn to produce professional documents - reports, proposals, memos, and manuals - while using LaTeX for high-quality formatting. The course emphasizes critical thinking, collaboration, and effective use of visuals and digital tools. Prerequisites: ENG 100 or equivalent for all students; for students admitted fall 2021 or later: ENG 102 or equivalent (may be concurrent), or non-degree student; OR permission of instructor. Cr. 3.
Section(s):

Class Number: 82731
Credits: 3
Class Component: Lecture
Section: 0001
Dates: 8/31/2026 - 12/11/2026
Status: Open
Instructor(s): James Edward Quinlan
Enrollment: 8 of 28 seats
Location: Portland USM Campus
Instruction Method: On Site Class
More Information
Prerequisites: Prerequisite(s): ENG 100 or equivalent for all students; for students admitted fall 2021 or later: ENG 102 or equivalent (may be concurrent), or non-degree students; OR permission.
DAYS & TIMES ROOM DATES INSTRUCTOR(S)
TuesdayThursday 9:30 AM - 10:45 AM Science Building 290 - P 8/31/2026 - 12/11/2026 James Edward Quinlan
[UMS06]

COS 212 Game Software Development

Students will develop a basic understanding of game software development using a game engine. The focus will be on the functionality/gameplay aspects of game development, namely utilizing the various tools available in the engine to alter, prototype, and test game ideas. This course will build a working knowledge of the available features and tools of the game engine. Cr. 3.
Section(s):

Class Number: 81600
Credits: 3
Class Component: Lecture
Section: 0001
Dates: 8/31/2026 - 12/11/2026
Status: Open
Instructor(s): Ryan S Whittle
Enrollment: 24 of 28 seats
Location: Web/Online
Instruction Method: Online/Online
More Information
Prerequisites:
DAYS & TIMES ROOM DATES INSTRUCTOR(S)
n/a Online 8/31/2026 - 12/11/2026 Ryan S Whittle
[UMS06]

COS 398 Professional Ethics and Social Impact of Computing

A study of ethical perspectives and social responsibilities of computer professionals. Assigned readings provide the basis for class discussions of such issues as social control and privacy, computer viruses, ACM code of professional conduct, hacking, limits of correctness in computer software, military influence on computer science research and education. Prerequisite: grade of C or better in COS 161 or permission of instructor. Offered spring. Cr 3.
Section(s):

Class Number: 80842
Credits: 3
Class Component: Lecture
Section: 0001
Dates: 8/31/2026 - 12/11/2026
Status: Open
Instructor(s): Tiffany S Rad
Enrollment: 18 of 28 seats
Location: Portland USM Campus
Instruction Method: On Site Class
More Information
Prerequisites: Prerequisite: COS161 (min C)
DAYS & TIMES ROOM DATES INSTRUCTOR(S)
Monday 6:30 PM - 9:00 PM Payson Smith 201 - P 8/31/2026 - 12/11/2026 Tiffany S Rad
[UMS06]

COS 450 Operating Systems

Bottom up construction of a layered operating system beginning with the hardware interface and ending with the user interface. Specific topics covered include concurrent processes, process management, I/O, virtual memory, file management, resource scheduling, and performance measurement. Students are assumed to be familiar with general machine architecture, functions of system software (compilers, loaders, editors, etc.), data structures, and have some experience with UNIX or other multiprogramming operating systems. Prerequisites: grades of C or better in COS 250. Offered once every two years. Cr 3.
Section(s):

Class Number: 89525
Credits: 3
Class Component: Lecture
Section: 0002
Dates: 8/31/2026 - 12/11/2026
Status: Open
Instructor(s): Stephen A Houser
Enrollment: 9 of 28 seats
Location: Portland USM Campus
Instruction Method: On Site Class
More Information
Prerequisites: Prerequisite: C or higher in COS 250
DAYS & TIMES ROOM DATES INSTRUCTOR(S)
MondayWednesday 3:15 PM - 4:30 PM Science Building 290 - P 8/31/2026 - 12/11/2026 Stephen A Houser
[UMS06]

COS 462 Image Processing and Computer Vision

This course provides a comprehensive exploration of fundamental and advances techniques in image processing and computer vision. Students will learn about image manipulation, feature extraction and object recognition through practical applications and hands-on projects. The curriculum includes studying algorithms and computational methods for real-time image analysis, enabling students to develop solutions for real-world problems in various industries. Prerequisites: COS 422 or Instructor Permission. Cr. 3.
Section(s):

Class Number: 81646
Credits: 3
Class Component: Lecture
Section: 0001
Dates: 8/31/2026 - 12/11/2026
Status: Open
Instructor(s): Xin XZ Zhang
Enrollment: 8 of 28 seats
Location: Portland USM Campus
Instruction Method: On Site Class
More Information
Prerequisites: Prerequisite: COS 432 or Instructor Permission.
DAYS & TIMES ROOM DATES INSTRUCTOR(S)
TuesdayThursday 9:30 AM - 10:45 AM Luther Bonney 203 - P 8/31/2026 - 12/11/2026 Xin XZ Zhang
[UMS06]

COS 470 Topics in Computer Science

Topics to be covered may include the philosophy of computers, history of computers, computers and society, simulation, graphics, and other advanced topics. Prerequisite: grade of C or better in COS 285 or permission of the instructor. Cr 3-4.
Section(s):

Introduction to Data Science

Class Number: 82733
Credits: 3
Class Component: Lecture
Section: 0001
Dates: 8/31/2026 - 12/11/2026
Status: Open
Instructor(s): Michael Arciero
Enrollment: 13 of 28 seats
Location: Portland USM Campus
Instruction Method: On Site Class
More Information
Prerequisites: Prerequisite: C or higher in COS 285
DAYS & TIMES ROOM DATES INSTRUCTOR(S)
Monday 5:30 PM - 8:00 PM Science Building 290 - P 8/31/2026 - 12/11/2026 Michael Arciero

Computer Graphics

Class Number: 87905
Credits: 4
Class Component: Lecture
Section: 0002
Dates: 8/31/2026 - 12/11/2026
Status: Open
Instructor(s): James Edward Quinlan
Enrollment: 15 of 28 seats
Location: Web/Online
Instruction Method: Online/Online
More Information
Topic: Computer Graphics Prerequisites: Prerequisite: C- or higher in COS 285.
DAYS & TIMES ROOM DATES INSTRUCTOR(S)
n/a Online 8/31/2026 - 12/11/2026 James Edward Quinlan
  • Page 1
  • Page 2