How to register
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
