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. 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: 0 of 28 seats
Location: Gorham USM Campus
Instruction Method: On Site Class
More Information
Prerequisites:
DAYS & TIMES ROOM DATES INSTRUCTOR(S)
TuesdayThursday 5:30 PM - 7:15 PM Bailey 219 - 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: 0 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: Open
Instructor(s): Yuqi Song
Enrollment: 0 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: 0 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: 0 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): TBA
Enrollment: 0 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 TBA
[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: 0 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: 0 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 285 Data Structures

Basic abstract data types and their representations, fundamental algorithms, and algorithm analysis. Consideration is given to applications. Specific topics include linked structures, trees, searching and sorting, priority queues, graphs, and hashing. Course requirements include a substantial programming component. Prerequisites: grades of C or better in COS 161 and MAT 145 or MAT 152 or their equivalents, or permission of instructor. Offered fall. Cr 4.
Section(s):

Class Number: 80087
Credits: 4
Class Component: Lecture
Section: 0001
Dates: 8/31/2026 - 12/11/2026
Status: Open
Instructor(s): Behrooz BM Mansouri
Enrollment: 0 of 28 seats
Location: Portland USM Campus
Instruction Method: On Site Class
More Information
Prerequisites: Prerequisites: C or higher in COS 161 and MAT 145 or MAT 152 or their equivalents
DAYS & TIMES ROOM DATES INSTRUCTOR(S)
TuesdayThursday 1:45 PM - 3:00 PM Science Building 290 - P 8/31/2026 - 12/11/2026 Behrooz BM Mansouri
Thursday 11:00 AM - 11:50 AM Luther Bonney 203 - P 8/31/2026 - 12/11/2026 Behrooz BM Mansouri
[UMS06]

COS 322 Foundations of Machine Learning

This course introduces the fundamental concepts and algorithms of machine learning. Students will explore supervised and unsupervised learning techniques, including regression, classification, clustering, and dimensionality reduction. Practical sessions will involve implementing and evaluating machine learning models using popular software libraries. Prerequisites: COS 160 or COS 184 or permission of instructor. Cr. 3.
Section(s):

Class Number: 81655
Credits: 3
Class Component: Lecture
Section: 0001
Dates: 8/31/2026 - 12/11/2026
Status: Open
Instructor(s): Yuqi Song
Enrollment: 0 of 28 seats
Location: Portland USM Campus
Instruction Method: On Site Class
More Information
Prerequisites: Prerequisites: COS 160 or COS 184
DAYS & TIMES ROOM DATES INSTRUCTOR(S)
MondayWednesday 11:00 AM - 12:15 PM LUTH Talbot Lecture Hall - P 8/31/2026 - 12/11/2026 Yuqi Song
[UMS06]

COS 360 Programming Languages

Principles and techniques of high level programming language specification, including syntax and semantics, and implementation methods. Languages are considered as formal constructs representing computable functions and the course presents basic results of computability theory. Methods of recognition for regular and context free languages, the functional alternative to the state based imperative paradigm, use of parse trees as control constructs, and concurrent programming synchronization primitives are also covered. Prerequisites: grades of C or better in COS 280 and COS 285, or permission of instructor. Offered fall. Cr 3.
Section(s):

Class Number: 80088
Credits: 3
Class Component: Lecture
Section: 0001
Dates: 8/31/2026 - 12/11/2026
Status: Open
Instructor(s): TBA
Enrollment: 0 of 28 seats
Location: Portland USM Campus
Instruction Method: On Site Class
More Information
Prerequisites: Prerequisites: C or higher in COS 280 and COS 285
DAYS & TIMES ROOM DATES INSTRUCTOR(S)
MondayWednesday 1:45 PM - 3:00 PM Payson Smith 205 - P 8/31/2026 - 12/11/2026 TBA
[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: 0 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
  • Page 1
  • Page 2
  • Page 3
  • NEXT Page