Computer Science


Code solutions, drive progress, inspire change

Preparing you to excel in the rapidly evolving tech world. Our cutting-edge program blends rigorous academics with hands-on learning, empowering you to design systems, networks, and technologies that shape society. Graduates are highly sought after in Maine and beyond—because a UMaine degree means you’re ready to lead.

New Computer Science and Business degree launching in spring 2025

The University of Maine is launching a B.S. in Computer Science and Business within the Maine Business School starting in spring 2025. 

UNDERGRADUATE DEGREE Programs

The School of Computing and Information Science offers both the Bachelor of Science (B.S.) and Bachelor of Arts (B.A.) degrees in computer science.  The required course work in computer science provides the student with an understanding of the basic areas of computer science: structure of programming languages, operating systems, software engineering, algorithms and data structures, computer architecture, and the theory of computer science. Electives allow students to study additional topics such as artificial intelligence, databases, high-performance computing, networks, and cybersecurity. Students have opportunities for field experiences/internships, independent study, and undergraduate research in one of our laboratories. A capstone experience allows students to use their accumulated knowledge of the field in project design and implementation.

Computer Science graduates are well-positioned to secure rewarding, high-paying jobs in the computer industry that are relatively immune to outsourcing. In addition, graduates can also apply their knowledge wherever computers are used, including industry and business, research institutions, educational institutions, and government laboratories and agencies. The B.S. and B.A. degrees both provide a rigorous emphasis on computer science along with a strong liberal arts education. Graduates of the School of Computing and Information Science are also well prepared to enter graduate school for further study in computer science or other related fields or, with some additional preparation, to enter a professional school.

The School of Computing and Information Science has several research laboratories focusing on such areas as artificial intelligence and machine learning, database systems, high-performance computing, cybersecurity, data science, computer vision, visualization, and computer modeling of physical processes. Most of these laboratories routinely include undergraduates who assist the professors and the graduate students in their research. Students are mentored by professors and graduate students, and they get a good idea of what research and graduate school is like. In addition to the interesting and valuable experience gained, the students are often paid and/or co-author research papers.

Bachelor of SCIENCE in Computer Science

The B.S. degree provides a comprehensive foundation in computer science and prepares the student for a rewarding career in industry, business, government, or anywhere else that computing knowledge and skill is needed. It also provides solid foundation for graduate work in computer science and computing-related fields. The B.S. degree is accredited by the Computing Accreditation Commission of ABET, https://www.abet.org, under the General Criteria and the Computer Science and Similarly Named Computing Programs Criteria.

Computer Science BS Program Requirements

All courses required by the Computer Science Program must be taken for a grade; courses taken pass/fail will not count.

Courses marked with an asterisk (*) must be completed with a grade of C or better. A grade of C- is insufficient.

Computer science courses (53 credit hours)

  • COS 100 – Success in Computer Science (1 cr.)
  • *COS 125 – Introduction to Problem Solving Using Computer Programming (4 cr.)
  • COS 135 – Applied C Programming (3 cr.)
  • *COS 140 – Foundations of Computer Science (3 cr.)
  • *COS 225 – Object-Oriented Design and Data Structures (3 cr.)
  • COS 226 – Introduction to Data Structures (3 cr.)
  • COS 235 – Computer Architecture (3 cr.)
  • COS 301 – Programming Languages (3 cr.)
  • COS 331 – Operating Systems (3 cr.)
  • COS 397 – Computer Science Capstone 1 (3 cr.)
  • COS 420 – Introduction to Software Engineering (3 cr.)
  • COS 430 – Introduction to Cybersecurity (3 cr.)
  • COS 490 – Computers, Ethics, and Society (3 cr.)
  • COS 497 – Computer Science Capstone 2 (3 cr.)
  • Twelve additional credit hours from COS 3XX, COS 4XX, and COS 5XX (or approved substitutes).

Mathematics courses (15 credit hours)

  • *MAT 126 – Calculus I (4 credits)
  • MAT 127 – Calculus II (4 credits)
  • COS 250 – Discrete Structures (4 credits)
  • Statistics (choose one):
    • STS 235 – Introduction to Statistical Methods (3 credits)
    • STS 332 – Statistics for Engineers (3 credits)
    • STS 435 – Introduction to Mathematical Statistics (3 credits)

Capstone experience

To meet the capstone requirement, undergraduate computer science students must use their accumulated knowledge of the field in addressing a particular problem. Students meet the capstone requirement by completing COS 397 and COS 497.


English (6 credit hours)

  • *ENG 101 – College Composition (3 cr.)
  • ENG 317 – Business and Technical Writing (3 cr.)

Science requirement (14 credit hours)

This must include a two-semester laboratory science sequence from one of the following:

  • BIO 100/200
  • BIO 100/208
  • CHY 121/123, CHY 122/124
  • ERS 101/102
  • PHY 121/122

Total: 8 hours

Additionally, students must complete 6 more hours of science courses from any of the following areas:

  • Astronomy (AST) (except AST 114)
  • Biological Sciences (BIO)
  • Molecular and Biomedical Sciences (BMB; BMB 280 and above)
  • Chemistry (CHY; CHY 121 and above)
  • Earth Sciences (ERS)
  • Marine Science (SMS)
  • Physics (PHY; PHY 111 and above) *
  • Wildlife Ecology (WLE; WLE 200 and above)

Note: You cannot count both PHY 111/112 and PHY 121/122.

MODEL A

Model A: Suggested four-year plan for those BS students taking Calculus I or higher in their first semester


First Year (31 credits)

Fall Semester (15 credits)

  • COS 100 – Success in Computer Science (1 credit)
  • *COS 125 – Introduction to Problem Solving Using Computer Programming (4 credits)
  • *COS 140 – Foundations of Computer Science (3 credits)
  • *MAT 126 – Calculus 1 (4 credits)
  • *ENG 101 or General Education (3 credits)

Spring Semester (16 credits)

  • COS 135 – Applied C Programming (3 credits)
  • *COS 225 – Object-Oriented Design, Programming, and Data Structures (3 credits)
  • MAT 127 – Calculus 2 (4 credits)
  • *ENG 101 or General Education (3 credits)
  • General Education (3 credits)

Second Year (31 credits)

Fall Semester (16 credits)

  • COS 226 – Introduction to Data Structures and Algorithms (3 credits)
  • COS 250 – Discrete Structures (4 credits)
  • Science (3 credits)
  • General Education (3 credits)
  • Elective (3 credits)

Spring Semester (15 credits)

  • COS 235 – Computer Architecture (3 credits)
  • COS 420 – Introduction to Software Engineering (3 credits)
  • Science (3 credits)
  • Statistics (STS 235, 332, or 435; 3 credits)
  • General Education (3 credits)

Third Year (32 credits)

Fall Semester (16 credits)

  • COS 331 – Operating Systems (3 credits)
  • COS Elective (3 credits)
  • ENG 317 – Business and Technical Writing (3 credits)
  • Lab Science I (4 credits)
  • General Education (3 credits)

Spring Semester (16 credits)

  • COS 301 – Programming Languages (3 credits)
  • COS 430 – Introduction to Cybersecurity (3 credits)
  • COS Elective (3 credits)
  • Lab Science II (4 credits)
  • General Education (3 credits)

Fourth Year (27 credits)

Fall Semester (15 credits)

  • COS 397 – Computer Science Capstone 1 (3 credits)
  • COS 490 – Computers, Ethics, and Society (3 credits)
  • COS Elective (3 credits)
  • Elective (3 credits)
  • Elective (3 credits)

Spring Semester (12 credits)

  • COS 497 – Computer Science Capstone 2 (3 credits)
  • COS Elective (3 credits)
  • Elective (3 credits)
  • Elective (3 credits)

MODEL B

Model B: Suggested four-year plan for those BS students NOT taking Calculus I or higher in their first semester


First Year (32 credits)

Fall Semester (15 credits)

  • COS 100: Success in Computer Science (1 credit)
  • COS 121: Coding for Everyone or COS 120: Introduction to Programming I (4 credits)
  • *COS 140: Foundations of Computer Science (3 credits)
  • MAT 122: Pre-Calculus (4 credits)
  • *ENG 101 or General Education (3 credits)

Spring Semester (17 credits)

  • *COS 125: Introduction to Problem Solving Using Computer Programming (4 credits)
  • COS 135: Applied C Programming (3 credits)
  • *MAT 126: Calculus 1 (4 credits)
  • *ENG 101 or General Education (3 credits)
  • General Education (3 credits)

Second Year (32 credits)

Fall Semester (17 credits)

  • *COS 225: Object-Oriented Design, Programming, and Data Structures (3 credits)
  • COS 250: Discrete Structures (4 credits)
  • MAT 127: Calculus 2 (4 credits)
  • General Education (3 credits)
  • General Education (3 credits)

Spring Semester (15 credits)

  • COS 226: Introduction to Data Structures and Algorithms (3 credits)
  • COS 235: Computer Architecture (3 credits)
  • Statistics (STS 235, 332, or 435; 3 credits)
  • Science (3 credits)
  • General Education (3 credits)

Third Year (32 credits)

Fall Semester (16 credits)

  • COS 331: Operating Systems (3 credits)
  • COS Elective (3 credits)
  • ENG 317: Business and Technical Writing (3 credits)
  • Lab Science I (4 credits)
  • General Education (3 credits)

Spring Semester (16 credits)

  • COS 301: Programming Languages (3 credits)
  • COS 420: Introduction to Software Engineering (3 credits)
  • COS Elective (3 credits)
  • Lab Science II (4 credits)
  • General Education (3 credits)

Fourth Year (27 credits)

Fall Semester (15 credits)

  • COS 397: Computer Science Capstone 1 (3 credits)
  • COS 490: Computers, Ethics, and Society (3 credits)
  • COS Elective (3 credits)
  • Science (3 credits)
  • Elective (3 credits)

Spring Semester (12 credits)

  • COS 497: Computer Science Capstone 2 (3 credits)
  • COS 430: Introduction to Cybersecurity (3 credits)
  • COS Elective (3 credits)
  • Elective (3 credits)

Bachelor of ARTS Degree in Computer Science

The B.A. degree gives the student a strong foundation in computer science while providing more flexibility for coursework outside the major. Like the B.S., it also prepares the student for a rewarding career in computing or for graduate work.

Computer Science BA Program Requirements

All courses required by the Computer Science Program must be taken for a grade; courses taken pass/fail will not count.

Courses marked with an asterisk (*) must be completed with a grade of C or better. A grade of C- is insufficient.

Computer Science Courses (50 credit hours)

  • COS 100 – Success in Computer Science (1 credit)
  • *COS 125 – Introduction to Problem Solving Using Computer Programming (4 credits)
  • COS 135 – Applied C Programming (3 credits)
  • *COS 140 – Foundations of Computer Science (3 credits)
  • *COS 225 – Object-Oriented Design, Programming, and Data Structures (3 credits)
  • COS 226 – Introduction to Data Structures (3 credits)
  • COS 235 – Computer Architecture (3 credits)
  • COS 301 – Programming Languages (3 credits)
  • COS 331 – Operating Systems (3 credits)
  • COS 397 – Computer Science Capstone 1 (3 credits)
  • COS 420 – Introduction to Software Engineering (3 credits)
  • COS 430 – Introduction to Cybersecurity (3 credits)
  • COS 490 – Computers, Ethics, and Society (3 credits)
  • COS 497 – Computer Science Capstone 2 (3 credits)
  • Nine additional credit hours from COS 3XX, COS 4XX, COS 5XX, or approved substitutes.

Mathematics (15 credit hours)

  • *MAT 126 – Calculus I (4 credits)
  • MAT 127 – Calculus II (4 credits)
  • COS 250 – Discrete Structures (4 credits)
  • Statistics (choose one):
    • STS 235 – Introduction to Statistical Methods (3 credits)
    • STS 332 – Statistics for Engineers (3 credits)
    • STS 435 – Introduction to Mathematical Statistics (3 credits)

Science (7-8 credit hours)

The B.A. program has no additional science requirements beyond those specified in the University’s general education requirements. Students must complete two courses in the physical or biological sciences, at least one of which must have a laboratory.


Capstone Experience

To meet the capstone requirement for the B.A., students must apply their accumulated knowledge to address a specific problem. This requirement is fulfilled by completing:

  • COS 397 – Computer Science Capstone 1
  • COS 497 – Computer Science Capstone 2

English (6 credit hours)

  • *ENG 101 – College Composition (3 credits)
  • ENG 317 – Business and Technical Writing (3 credits)

Minor Requirement

All B.A. students in the College of Liberal Arts and Sciences must complete an approved minor outside the major.


Model Curriculum for the B.A. in Computer Science

We provide here two model curricula, one for students who are calculus-ready and one for students who are not.  Calculus-readiness is assessed by the student having achieved a grade of C or better in MAT 122 Pre-Calculus; or no grade record in MAT 122 and a passing score on Part 3 of the Math Placement Exam (a score of 76 or higher on the ALEK exam) to allow you to enter MAT 126 or higher.   If you are calculus-ready, Model A is the model curriculum that applies to you; if not, then see Model B.

These curricula illustrate two possible ways of meeting the BA degree requirements within four years. Most students will not follow the model curriculum exactly.  Electives may be moved around and some adjustments might need to be made based on credit hours of courses taken (e.g.,  if you take a 4 credit statistics course instead of a 3 credit course). Please be aware: (1)  that certain students on financial aid must take a minimum of 15 credits per semester; (2) that sufficient hours must be included to reach the University degree minimum of 120; and (3) all School, College and University requirements must be met.  You should discuss your planned schedule and progress with your assigned academic advisor during registration times each semester.

The term “General education” below should be interpreted to mean a course helping to satisfy the Human Values and Social Context portion of the General Education requirements. The other portions are satisfied by our own requirements for the degree.  “Electives” are free electives, but you should consider using them to meet the requirements of your minor if needed.

Note that this assumes that none of the general education classes will count for your minor or vice versa, which would be unusual.  This total can be reduced by the judicial selection of minor and general education courses that can count for both.  We suggest deciding on your minor early and mapping out the courses required so that you can determine which general education requirements remain.

NOTE: All courses required by the Computer Science Program must be taken for a grade; courses taken pass/fail will not count.  (An exception to this policy may be in effect due to the COVID-19 pandemic; see umaine.edu/return for further information.) Courses marked with an asterisk (*) below must be completed with a grade of “C” or better in each. A grade of C- is insufficient. 

MODEL A

Model A: Suggested four-year plan for those BA students taking Calculus I or higher in their first semester


First year (31 credits)

Fall semester (15 credits)

  • COS 100 – Success in Computer Science (1 credit)
  • *COS 125 – Introduction to Problem Solving Using Computer Programming (4 credits)
  • *COS 140 – Foundations of Computer Science (3 credits)
  • *MAT 126 – Calculus 1 (4 credits)
  • *ENG 101 or general education (3 credits)

Spring semester (16 credits)

  • COS 135 – Applied C Programming (3 credits)
  • *COS 225 – Object-Oriented Design, Programming, and Data Structures (3 credits)
  • MAT 127 – Calculus 2 (4 credits)
  • *ENG 101 or general education (3 credits)
  • General education (3 credits)

Second year (31-32 credits)

Fall semester (16 credits)

  • COS 226 – Introduction to Data Structures and Algorithms (3 credits)
  • COS 250 – Discrete Structures (4 credits)
  • General education (3 credits)
  • General education (3 credits)
  • Minor (3 credits)

Spring semester (15-16 credits)

  • COS 235 – Computer Architecture (3 credits)
  • COS 420 – Introduction to Software Engineering (3 credits)
  • Science (3 or 4 credits; see above)
  • Statistics (STS 235, 332, or 435; 3 credits)
  • General education (3 credits)

Third year (30-31 credits)

Fall semester (15-16 credits)

  • COS 331 – Operating Systems (3 credits)
  • COS elective (3 credits)
  • ENG 317 – Business and Technical Writing (3 credits)
  • Minor (3 credits)
  • Science (3 or 4 credits; see above)

Spring semester (15 credits)

  • COS 301 – Programming Languages (3 credits)
  • COS 430 – Introduction to Cybersecurity (3 credits)
  • Minor (3 credits)
  • Minor (3 credits)
  • General education (3 credits)

Fourth year (30 credits)

Fall semester (15 credits)

  • COS 397 – Computer Science Capstone 1 (3 credits)
  • COS 490 – Computers, Ethics, and Society (3 credits)
  • COS elective (3 credits)
  • Minor (3 credits)
  • Minor/Elective (3 credits)

Spring semester (15 credits)

  • COS 497 – Computer Science Capstone 2 (3 credits)
  • COS elective (3 credits)
  • Minor (3 credits)
  • Minor/Elective (3 credits)
  • Elective (3 credits)

MODEL B

Model B: Suggested four-year plan for those BA students NOT taking Calculus I or higher in their first semester


First year (32 credits)

Fall semester (15 credits)

  • COS 100 – Success in Computer Science (1 credit)
  • COS 121 – Coding for Everyone or COS 120 – Introduction to Programming I (4 credits)
  • *COS 140 – Foundations of Computer Science (3 credits)
  • MAT 122 – Pre-Calculus (4 credits)
  • *ENG 101 or elective (3 credits)

Spring semester (17 credits)

  • *COS 125 – Introduction to Problem Solving Using Computer Programming (4 credits)
  • COS 135 – Applied C Programming (3 credits)
  • *MAT 126 – Calculus 1 (4 credits)
  • *ENG 101 or elective (3 credits)
  • General education (3 credits)

Second year (32 credits)

Fall semester (17 credits)

  • *COS 225 – Object-Oriented Design, Programming, and Data Structures (3 credits)
  • COS 250 – Discrete Structures (4 credits)
  • MAT 127 – Calculus 2 (4 credits)
  • General education (3 credits)
  • Minor (3 credits)

Spring semester (15 credits)

  • COS 226 – Introduction to Data Structures and Algorithms (3 credits)
  • COS 235 – Computer Architecture (3 credits)
  • Statistics (STS 235, 332, or 435; 3 credits)
  • Minor (3 credits)
  • General education (3 credits)

Third year (31-32 credits)

Fall semester (15-16 credits)

  • COS 331 – Operating Systems (3 credits)
  • COS elective (3 credits)
  • ENG 317 – Business and Technical Writing (3 credits)
  • Science (3 or 4 credits; see above)
  • General education (3 credits)

Spring semester (15-16 credits)

  • COS 301 – Programming Languages (3 credits)
  • COS 420 – Introduction to Software Engineering (3 credits)
  • Science (3 or 4 credits; see above)
  • Minor (3 credits)
  • General education (3 credits)

Fourth year (30 credits)

Fall semester (15 credits)

  • COS 397 – Computer Science Capstone 1 (3 credits)
  • COS 490 – Computers, Ethics, and Society (3 credits)
  • COS elective (3 credits)
  • Minor (3 credits)
  • Minor (3 credits)

Spring semester (15 credits)

  • COS 430 – Introduction to Cybersecurity (3 credits)
  • COS 497 – Computer Science Capstone 2 (3 credits)
  • COS elective (3 credits)
  • Minor (3 credits)
  • Elective (3 credits)

READY TO JOIN US?

COMPUTER SCIENCE

Graduate Programs

• Accelerated 4+1 Masters of Science (MS) Computer Science
• Accelerated 4+1 Masters of Science (MS) Information Systems
• Masters of Science (MS) Computer Science
• Masters of Science (MS) Data Science and Engineering
• Masters of Science (MS) Information Systems
• Masters of Science (MS) Spatial Informatics
• Doctorate (PhD) Computer Science
• Doctorate (PhD) Spatial Information Science and Engineering

SCHOOL OF COMPUTER & INFORMATION SCIENCE

Design, Develop, Code, Create, Implement, Manage, Innovate, Thrive

Explore our cutting-edge undergraduate and graduate programs in Computer Science, Human-Centered Technology Design, New Media, and Information Science to be part of the technological revolution.

SCIS Contact Information

School of Computer & Information Science

Penny Rheingans

Director – School of Computer & Information Science

Karen Kidder

Administrative Support Supervisor – School of Computer & Information Science

Velma Figgins

Administrative Specialist, New Media

5711 Boardman Hall
Room 348
Orono, ME 04469
Tel: 207.581.21

MCEC NEWS

Stay conNECTED

The Computer Science BS program at the University of Maine has been continuously accredited by ABET since 1995, first as an offering of the Department of Computer Science and now as an offering of the School of Computing and Information Science. The BS in Computer Science is accredited by the Computing Accreditation Commission(s) of ABET, https://www.abet.org, under the General Criteria and the Computer Science Program Criteria. For further information refer to our SCIS ABET Accreditation and Assessment page.