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 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: 41462
Credits: 4
Class Component: Lecture
Section: 0001
Dates: 1/19/2027 - 4/30/2027
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 1/19/2027 - 4/30/2027 TBA
Wednesday 11:00 AM - 11:50 AM 1/19/2027 - 4/30/2027 Yuqi Song

Class Number: 41463
Credits: 4
Class Component: Lecture
Section: 0002
Dates: 1/19/2027 - 4/30/2027
Status: Open
Instructor(s): TBA
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 1/19/2027 - 4/30/2027 TBA
[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: 40067
Credits: 4
Class Component: Lecture
Section: 0001
Dates: 1/19/2027 - 4/30/2027
Status: Open
Instructor(s): Benjamin Heasly
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)
MondayWednesday 11:00 AM - 12:15 PM Science Building 290 - P 1/19/2027 - 4/30/2027 Benjamin Heasly
Wednesday 10:00 AM - 10:50 AM 1/19/2027 - 4/30/2027 Benjamin Heasly

Class Number: 40068
Credits: 4
Class Component: Lecture
Section: 0002
Dates: 1/19/2027 - 4/30/2027
Status: Open
Instructor(s): Behrooz BM Mansouri
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 1/19/2027 - 4/30/2027 Behrooz BM Mansouri
Thursday 2:00 PM - 2:50 PM 1/19/2027 - 4/30/2027 Behrooz BM Mansouri
[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: 41115
Credits: 4
Class Component: Lecture
Section: 0001
Dates: 1/19/2027 - 4/30/2027
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: grade of C or better in MAT 108
DAYS & TIMES ROOM DATES INSTRUCTOR(S)
TuesdayThursday 9:30 AM - 10:45 AM Science Building 290 - P 1/19/2027 - 4/30/2027 Xin XZ Zhang
Tuesday 11:00 AM - 11:50 AM 1/19/2027 - 4/30/2027 Xin XZ Zhang

Class Number: 41833
Credits: 4
Class Component: Lecture
Section: 0002
Dates: 1/19/2027 - 4/30/2027
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 1/19/2027 - 4/30/2027 TBA
[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: 41464
Credits: 3
Class Component: Lecture
Section: 0001
Dates: 1/19/2027 - 4/30/2027
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 1/19/2027 - 4/30/2027 Ryan S Whittle
[UMS06]

COS 226 Data Structures and Algorithms

Introduction to the fundamental principles of data structures, including their use, specification, and implementation, as well as fundamental principles of algorithms related to data structures. Data structures covered include lists, trees, graphs, and hash tables. Algorithm techniques include searching, sorting, dynamic memory allocation, recursion, and multithreading. Prerequisite: ELE 271 or COS 150 or COS 199. Cr. 4.
Section(s):

Class Number: 41465
Credits: 4
Class Component: Lecture
Section: 0001
Dates: 1/19/2027 - 4/30/2027
Status: Open
Instructor(s): Daniel E Graziano
Enrollment: 0 of 28 seats
Location: Gorham USM Campus
Instruction Method: On Site Class
More Information
Prerequisites: Prerequisite: ELE 271 or COS 150 or COS 199 or permission.
DAYS & TIMES ROOM DATES INSTRUCTOR(S)
MondayWednesday 5:00 PM - 7:10 PM John Mitchell Center 152 - G 1/19/2027 - 4/30/2027 Daniel E Graziano
[UMS06]

COS 250 Computer Organization

The basic hardware, architecture, and software of computer systems are covered. Subjects include digital logic design, microprogramming, machine languages, assembly languages, and operating systems. Lab: Students design, build, and test combinational and sequential logic circuits and write assembly language programs. Prerequisite: grade of C or better in COS 161. Offered fall. Cr 4.
Section(s):

Class Number: 40276
Credits: 4
Class Component: Lecture
Section: 0001
Dates: 1/19/2027 - 4/30/2027
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: COS 161 with grade of C or better
DAYS & TIMES ROOM DATES INSTRUCTOR(S)
TuesdayThursday 1:45 PM - 3:00 PM Science Building 290 - P 1/19/2027 - 4/30/2027 Xin XZ Zhang
Thursday 3:30 PM - 4:20 PM 1/19/2027 - 4/30/2027 Xin XZ Zhang
[UMS06]

COS 280 Discrete Mathematics II

Concepts of modern algebra, set theory, Boolean algebra and predicate logic, elements of graph theory, and their application to computer science. This course emphasizes a syntactic approach to proof discovery. Prerequisites: grade of C or better in COS 160 or COS 184 and MAT 145. Offered fall and spring. Cr 4.
Section(s):

Class Number: 41116
Credits: 4
Class Component: Lecture
Section: 0001
Dates: 1/19/2027 - 4/30/2027
Status: Open
Instructor(s): James Edward Quinlan
Enrollment: 0 of 28 seats
Location: Portland USM Campus
Instruction Method: On Site Class
More Information
Prerequisites: Prerequisites: C or higher in COS 160 or COS 184, and MAT 145
DAYS & TIMES ROOM DATES INSTRUCTOR(S)
TuesdayThursday 11:00 AM - 12:15 PM Luther Bonney 402 - P 1/19/2027 - 4/30/2027 James Edward Quinlan
Thursday 9:30 AM - 10:20 AM 1/19/2027 - 4/30/2027 James Edward Quinlan
[UMS06]

COS 350 Systems Programming

A study of systems programming concepts and software, including the C programming language and the Unix programming environment and operating system interface. Students develop their abilities in these areas through programming exercises and projects. Prerequisites: grades of C or better in COS 250 and COS 285. Offered variable semesters. Cr 3.
Section(s):

Class Number: 40601
Credits: 3
Class Component: Lecture
Section: 0001
Dates: 1/19/2027 - 4/30/2027
Status: Open
Instructor(s): Stephen A Houser
Enrollment: 0 of 28 seats
Location: Portland USM Campus
Instruction Method: On Site Class
More Information
Prerequisites: Prerequisites: C or higher in COS 250 and COS 285
DAYS & TIMES ROOM DATES INSTRUCTOR(S)
Wednesday 5:30 PM - 8:00 PM Science Building 290 - P 1/19/2027 - 4/30/2027 Stephen A Houser
[UMS06]

COS 374 Numerical Analysis

A study of the theory and application of computational algorithms for interpolation, equation solving, matrix methods, integration; error analysis. Prerequisites: grades of C or better in COS 160 and MAT 295, or permission of instructor. Offered once every two years. Cr 3.
Section(s):

Class Number: 41835
Credits: 3
Class Component: Lecture
Section: 0001
Dates: 1/19/2027 - 4/30/2027
Status: Open
Instructor(s): James Edward Quinlan
Enrollment: 0 of 20 seats
Location: Portland USM Campus
Instruction Method: On Site Class
More Information
Prerequisites: Prerequisites: C or higher in COS 160 and MAT 295
DAYS & TIMES ROOM DATES INSTRUCTOR(S)
MondayWednesday 1:45 PM - 3:00 PM 1/19/2027 - 4/30/2027 James Edward Quinlan
[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: 41051
Credits: 3
Class Component: Lecture
Section: 0001
Dates: 1/19/2027 - 4/30/2027
Status: Open
Instructor(s): Tiffany S Rad
Enrollment: 0 of 28 seats
Location: Portland USM Campus
Instruction Method: Blended/Hybrid/Blended
More Information
In-person dates for this course are still being determined. Prerequisites: Prerequisite: COS161 (min C)
DAYS & TIMES ROOM DATES INSTRUCTOR(S)
Monday 6:30 PM - 9:00 PM 1/19/2027 - 4/30/2027 Tiffany S Rad
n/a Online 1/19/2027 - 4/30/2027 Tiffany S Rad
  • Page 1
  • Page 2
  • Page 3
  • NEXT Page